Ice-Ray Lattices Revisited
Further studying iteration in Grasshopper, this time, inspired by George Stiny’s “Chinese Ice-Ray Lattice” subdivisions with Aneome, instead of the Hoopsnake add-on I tried in the previous work.

As you know, loops add various ways of usage to Grasshopper. In future versions, loops may cease to be just an add-on and become native components of Grasshopper. Until then, loop plugins like Anemone take on this task. In the example here, we create an application by throwing random lines to divide a plane. For this to work, we need a planar surface. You can easily achieve this by either using Rhino’s “srf4pt” command, which converts 3 or 4 points to a plane, or using the “Planarsrf” command, which fills any two-dimensional curve. Alternatively, you can create your planar surface within Grasshopper as well.
Ice-Ray Definition
Then, we draw a random line by taking the center point of the surface (Srf). After extending this line, the surface is split into two parts using the Surface Split (SrfSplit) component. We’ll leave a detailed examination of how the application works to you. The example presented above should have given you an anticipation of situations where you might need to use loops while working in Grasshopper. Even though Grasshopper typically follows a left-to-right reading and writing structure, loops can be very helpful in cases where standard methods would not be feasible. Above is the Grasshopper definition (You need to install Anemone components first). This definition requires a closed polyline as a boundary of the lattice.
Since the original Ice-Ray paper is a scientific study on Shape Grammars, of course, this is only an inspiration compared to it. If you read the paper, you will see that the methodology is completely different there. Thus, this definition does not obey the real scientific study Stiny has conducted.

