designcoding
Search
About Table of Contents Keywords Support designcoding!

Parquet Deformation of Star Patterns

February 3, 2012 | 5,956 views
Grasshopper | Islamic Patterns | Pattern Deformations
attractor | hexagon | islamic pattern | parquet deformation | 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

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.

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 islamic patterns

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 islamic patterns

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

Parquet Deformation of Star Patterns v1Download
Parquet Deformation of Star Patterns v2Download
  • Search

  • Categories

    • Education
      • Basic Design
      • Design Geometry
      • Design Mathematics
      • Digital Fabrication
      • Parametric Modeling
      • Tutorials
    • Philosophy
      • Analytical Tradition
      • Phenomenology
    • Practice
      • 3D Models
      • Projects
      • Publications
      • Workshops
    • Research
      • 3D Printing
      • Building Facade
      • Calculus
      • Climate Analysis
      • Compass Constructions
      • Computational Geometry
      • Curves
      • Decorative Arts
      • Digital Fabrication
      • Evolutionary Solvers
      • Folding Structures
      • Fractals
      • Graph Theory
      • Interlocking Structures
      • Islamic Patterns
      • Linear Algebra
      • Minimal Surfaces
      • Muqarnas
      • Non-Euclidean Geometry
      • Paneling
      • Parametric Curves
      • Parametric Objects
      • Parametric Surfaces
      • Pattern Deformations
      • Patterns
      • Pavilions
      • Polyhedra
      • Rammed Earth Structures
      • Robotic Fabrication
      • Shape Grammars
      • Simulation
      • Space Syntax
      • Surface Constructions
      • Tessellations
      • Tools
      • Vector Fields
      • Virtual Reality
    • Tools and Languages
      • 3DS Max
      • 3DS Max Script
      • Grasshopper
      • Photoshop
      • Physical Prototyping
      • Revit
      • Rhino
      • Rhino Macro
      • Rhino Python
      • Rhino Script
      • Unity
  • Monthly Archive

    • August 2026 (1)
    • October 2025 (1)
    • June 2025 (2)
    • May 2025 (2)
    • April 2025 (5)
    • December 2024 (40)
    • August 2024 (5)
    • July 2024 (6)
    • April 2024 (4)
    • March 2024 (10)
    • February 2024 (10)
    • January 2024 (8)
    • December 2023 (10)
    • August 2023 (3)
    • July 2023 (3)
    • June 2023 (7)
    • May 2023 (8)
    • April 2023 (7)
    • March 2023 (2)
    • February 2023 (2)
    • January 2023 (3)
    • December 2022 (6)
    • November 2022 (7)
    • January 2022 (1)
    • December 2021 (1)
    • October 2021 (3)
    • September 2021 (4)
    • August 2021 (4)
    • May 2019 (2)
    • April 2019 (1)
    • March 2019 (5)
    • January 2019 (2)
    • December 2018 (1)
    • November 2018 (4)
    • October 2018 (9)
    • July 2018 (1)
    • June 2018 (3)
    • May 2018 (1)
    • April 2018 (4)
    • February 2018 (2)
    • January 2018 (7)
    • August 2017 (9)
    • July 2017 (6)
    • October 2016 (1)
    • May 2015 (5)
    • April 2015 (8)
    • March 2015 (12)
    • February 2015 (4)
    • January 2015 (11)
    • November 2014 (1)
    • August 2014 (1)
    • June 2014 (2)
    • May 2014 (12)
    • April 2014 (5)
    • March 2014 (3)
    • February 2014 (6)
    • January 2014 (4)
    • December 2013 (5)
    • November 2013 (11)
    • October 2013 (2)
    • September 2013 (9)
    • August 2013 (4)
    • July 2013 (2)
    • June 2013 (14)
    • May 2013 (4)
    • April 2013 (10)
    • March 2013 (11)
    • February 2013 (11)
    • January 2013 (10)
    • December 2012 (10)
    • November 2012 (6)
    • October 2012 (13)
    • September 2012 (2)
    • August 2012 (5)
    • July 2012 (14)
    • June 2012 (6)
    • May 2012 (17)
    • April 2012 (15)
    • March 2012 (9)
    • February 2012 (16)
    • January 2012 (18)
    • December 2011 (20)
    • November 2011 (2)
  • Support designcoding!

    Enjoying designcoding? Support its future with a small donation on Patreon. Thank you!

    Patreon


    copyright 2026 designcoding.net | about | table of contents | keywords | privacy policy | end user license agreement