Trees and Recursive Computing

The method used here is inspired from a topic at the Rhino Python 101 Primer. This is a funny method on the recursive operation that creates tree-like shapes composed of arcs. These arcs are constructed by using Arc SED method, that requires start and end points and a vector that is tangent to the arc (at the start point). Therefore, overall look of a chain of these constructions create a smooth look, as all of ths arcs are tangent to previous ones. However, such constructions cannot be simulated (or at least, I couldn’t manage it) in Grasshopper without the Hoopsnake recursive computing component. Because all new constructions are based on the emergent vector, defined at the previous iteration. A wholistic approach without Hoopsnake might be to define an initial curve and divide that to search for similar shapes but that would be a contrast to simulating the natural process of tree growth.

There are sliders defining maximum and minimum values to particular parameters of the tree, and a length limit, that says “stop” to Hoopsnake when necessary. These parameters are different from the ones at original Python script, so the outputs are also looking different. Recursion starts with the initial curve you’ve defined in Rhino, and Grasshopper takes it’s end point and corresponding vector to start the growth. Each twig is rotated around the vector at a random angle (defined by min-max values) and also shortened using a random factor (also controlled by min-max values), after drawing arcs these twigs are then fed back to Hoopsnake in order to create new ones using the same procedure. The number of twigs created in each step is also defined by a random procedure (controlled by min-max values). Grasshopper definition file can be downloaded here [GHX: 0.8.0066 + HOOPSNAKE needed]. More explorations and animations should follow this study. If you create interesting shapes, please feel free to send me.