Ice-ray Lattices
The design of Chinese window lattices named “ice-ray” is one of the classic studies of Shape Grammars. It is an old and good example of algorithmic design. George Stiny explained their geometric construction based on the parametric Shape Grammars approach. He explained shape rules and the abstract machine that produces the subdivisions. I was especially interested in Shape Grammars when I was a graduate student. I even made a prototype tool for Shape Grammars in MaxScript. Here is another post on this topic. Nowadays, I’ve found time to return to this topic again. Ice-ray designs are one of the best-suited topics to test recursive computing components in Grasshopper, called Hoopsnake.
At first, I tried to simulate Stiny’s approach and tell Grasshopper each shape rule as a different operational cluster, combined with Hoopsnake iterations and a logical structure that understands the emergent output shapes like triangles, quadrilaterals, etc. and send them to the appropriate shape rules for the next step of the iteration.
However, after a couple of dead ends, I finally realized the correct path. We can model these compositions with a looping algorithm. So it becomes possible to work with emergent shapes. I think in this visual coding environment, we don’t need a set of shape rules, as shapes and rules are all operated within the geometric rules (components) of Grasshopper.
Here are the Grasshopper and Rhino files I created in 2012. You need to define an initial shape (surface) and right-click on the Hoopsnake component to “Reset” and “Loop” the process.
I created another version of this study later using Anemone since the Hoopsnake addon is a bit old now. Here is the newer post on ice-ray lattices.