Je crée un segment de droite dans l’espace géométrique de Rhino. J’actives grasshopper et je place Curve (Param/Curve) et lui associer la ligne tracée dans Rhino .
J’ajoute un composant EndPoints afin de récupérer les coordonnées de l’origine S et de l’extrémité E de la ligne. Ces points sont les centre d’homothétie et de rotation pour appliquer les similitudes
Je place un composant Scale pour appliquer à la ligne une transformation homothétique de centre S et de rapport Sqrt (2)/2.
Je place un composant SquareRoot et un composant Division et je le relie au Panel contenant 2 à l’entrée x de SquareRoot et à l’entrée B de Division. Je relier la sortie y des SquareRoot à l’entrée A de Division. La sortie R de division produit le calcul de sqrt2/2.
Je place Rotation pour appliquer à la ligne une rotation de centre S et d’angle pi/4 , j’ajoute le composant Scale pour appliquer à la ligne une transformation homothétique de centre E et de rapport racine de 2 sur 2. Puis un composant Rotation pour appliquer à la ligne une rotation de centre E et d’angle -pi/4
Je place Curve et y joindre les deux sorties G des deux composant Rotate. J’ajoute Panel qu’indique le contenu du composant Curve de sortie, ce graphe décrit la règle de substitution de la grammaire de génération du crabe fractal.
Une solution choisi est de dupliquer tous le programme et de l’ajouter derrière la sortie Curve.
Je place un composant LoopStart et un composant LoopEnd afin de programmer le début et la fin du traitement récursif à effectuer.
Ajoutez un slider qui contrôlera un nombre entier d’itérations et le relier à l’entrée N du composant LoopStart.
J’ajoute booléen qui permet de réinitialiser le traitement récursif et le relier à l’entré T du composant LoopStart.
je relie la sortie D0 du composant LoopStart au paramètre d’entrée Crv de l’application de la règle de substitution, puis je relie le paramètre de sortie Crv de l’application de la règle à l’entrée D0 du composant LoopEnd.
Relier la sortie > du composant LoopStart à l’entrée < du composant LoopEnd comme indiqué dans al figure suivante.
Placez un composant paramètre de type Curve et le relier à l’entrée D0
Pour l’application de l’exercice j’utilise plusieurs expression
sqrt 2/2 ENTRE pi/4
sqrt 2/2 ENTRE pi/3 -pi/3
sqrt2/2 entre 1/3 -1/3