designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Parquet Deformation of Star Patterns

February 3, 2012 | Algorithms
#attractor #deformation #grasshopper #hexagon #islamic-pattern #tessellation

This is another starting point for pattern generation study in a dataflow environment. I tried to implement the parquet deformation of Islamic patterns in Grasshopper. I studied Hankin’s method of Islamic Pattern generation. Then I tried to simulate his process beginning with basic regular tiling (regular hexagonal tessellation). Craig S. Kaplan (here) explains this and other methods in his dissertation.

A Simple Foundation

Parquet Deformation of Star Patterns attractor, deformation

We have already experienced the result of exploding any hexagonal grid, shifting its points with the help of Evaluate Curve (Eval), and redrawing this state of hexagons with Polyline (PLine). In this application, as always, we find it useful to examine the steps of the design, the resulting geometric objects, and data structures by opening and closing the Previews of the components one by one and connecting the Panels. In the offset component, we use the negative D value to offset inward each of the shifted hexagons drawn in the previous Polyline (PLine) step.

Parquet Deformation of Star Patterns Grasshopper definition

The curves drawn in this application started with the same grid component. So their directions will always be the same. This means that there is no uncertainty that we will need the flip operation. Then, we explode our shifted and inwardly shifted hexagons with Explode. After that, we obtain the points of each hexagon from the V output. At this point, a critical process is to delete an extra point produced by Explode. We use Cull Index (Cull i) before using the Weave component.

Weaving it

When Grasshopper explodes closed curves, it produces two points overlapping. Because it creates the start and end points separately. You can also see this status by connecting a Panel. Although this process does not make any difference in terms of the image produced by this application, the fact that there are extra invisible corners in the resulting polyline curves will cause other problems in the later stages of the application. After I cleaned the points, I distributed them one by one in order and transformed them into a new point list. If you remember the Weave component, it does just that. It sorts the data lists (preferably having the same tree structure) from the two entries named 0 and 1 using the pattern in the P input.

As a result, a new list is created by removing the points from inside and outside to obtain a star-like zigzag. This zigzag structure becomes even more evident when the points in this list are redrawn with a Polyline (PLine) component in the last step. You can observe different patterns by playing with Number Sliders.

Parquet Deformation of Star Patterns

This method, which is a simplified version of the drawing method developed by Ernest Hankin about the patterns in Islamic art in the 1930s, is transformed into a pattern deformation with the participation of the attractor point. The whole operation is the same as in the previous application. But instead of using a fixed Offset value for each cell, I linked this value to the distances of the centers of the hexagons from a moving point. The impact point makes a rotation on a circle. The * sign you see in the D output of the Offset component used in this application is an expression. In the example, by entering the -x expression here, I converted the incoming numbers to negative.

Parquet Deformation of Star Patterns animation

This approach is especially good at deformations from various attractors (without breaking the visual continuity). Further research should include other generation methods. For example, the rule-based approach that, at first sight, seems to fit a computer simulation better. But first, I have to solve the semi-regular tilings as they don’t exist as ready-made components yet.

Parquet Deformation of Star Patterns grasshopper, hexagon
Parquet Deformation of Star Patterns Grasshopper definition

Update: I’ve optimized the definition. Here is a better version:

Parquet Deformation of Star Patterns islamic-pattern, tessellation
Parquet Deformation of Star Patterns Grasshopper definition
Grasshopper definition (GHX)Download
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2012, February 3). Parquet Deformation of Star Patterns. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/parquet-deformation-of-islamic-patterns/

Related Posts

Hexagonal Star Lattice

December 18, 2023

Here are the variations of classical six-pointed star patterns generated by Grasshopper. Generally, you can see these patterns under the title “Islamic patterns” because they are frequent in the decorations of mosques and palaces. I studied these patterns in Grasshopper earlier in these posts. I always find this an interesting geometry exercise. This time, my main goal was to develop a useful code only with the native Grasshopper components that create laser-cut-ready products of hexagonal star lattice. Thus, I made…

Deformation of Islamic Patterns

March 2, 2024

This is the new version of my previous study on the deformation of Islamic Patterns. I love the purity and simplicity of the geometric construction processes of these patterns. It is possible to observe them in many places in many different forms. By continuing this work, I aimed to highlight the pattern deformations that map out all the variation possibilities of these patterns. Unlike previous versions, this time I aimed to achieve results ready for laser-cutting production. As you will…

Testing Spatial Deformation

September 13, 2013

Instead of searching for an iterated and rule-based variety, this method captures instances of spatial deformation by transforming the hyperframe. This liberates us from a classical understanding of pattern deformations that are enframed within regular polygons, mostly rectangles or hexagons. Grasshopper has a built-in component to study such variety. The spatial Deform component gets vectors as inputs and transforms any given geometric object according to it. This website has also another nice use of this component.

Spatial Mapping made Easy

April 19, 2012

Trying to further improve my experience in parametric modeling, I’m mixing and joining old definitions to reveal different potentials. I’m experiencing spatial mapping or morphing in Grasshopper. This is an equivalent form of the “flow along surface” command in Rhinoceros. It re-builds a geometric composition over another space (from world XY coordinates onto a surface with UV coordinates here) This is especially useful in creating surface compositions from famous tessellations such as Voronoi. There are lots of things I can…

Star Lattice

May 15, 2023

This is the six-pointed star lattice definition in Grasshopper. The definition is generating CNC or laser-ready results as seen below. In this code, first, I developed a common star pattern by exploding a hexagonal grid. The tricky part of this definition is the last part. There, you can see how you can use the Region Union (RUnion) component to add thickness to a pattern we have drawn before. The operation here will require trimming and extending commands under normal conditions….

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #tutorial
    • #rhinoceros
    • #polyhedra
    • #rhino-python
    • #robot
    • #boolean
    • #parametric-surface
    • #kuka-prc
    • #pattern
    • #design-object
    • #image-sampler
    • #tiling
    • #euclidean-construction
    • #terrain
    • #sandblasting
    • #stone
    • #dome
    • #parametric-curve
    • #animation
    • #snub-square
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement