# Random Linear Growth – Hoopsnake

This example shows an animation of my ‘work-in-progress’ Grasshopper definition that uses Hoopsnake to recursively perform a ‘copy by mirror’ function on a geometric form. The two examples are based on a cube and a tetrahedron. The growth is linear; expanding by one module with each step. The position of each new module is determined by a new randomly selected face of the preceding module.

I would like to develop the definition so that it doesn’t self intersect, so any comments with ideas on how to achieve this would be appreciated!

## 7 thoughts on “Random Linear Growth – Hoopsnake”

1. To solve the self intersection, you could define for each step to create a boolean union of your cubes or whatever, then check if the centroïd of your new geometry is or is not in the volume. If not : geometry is created if yes ask for the last face randomly choosen by grasshopper in your list +1…
The centroïds could be then used to draw the path line of your growing structure…
By the way, it is a very nice work!…

1. Thanks Raphael – That’s a good suggestion, I’ll give it a go!

Dan

2. arthurmani says:

Merci Raphael ! Tu viens quand nous voir a Londres?

1. Hey Arthur… Écoute ça me ferai grand plaisir de passer vous voir à Londres… Je te fais signe dès que j’en ai l’occasion!
+

3. sect13 says:

You can also think about giving the growth a direction – growing the structure based on one or some cures. You could then always analyze the t parameter and compare.

1. Yes – thanks, that’s what I’m working on at the momemt. I’ll post the results when I’ve got something sorted!