suivant: Les flocons de Koch
monter: Des arbres
précédent: Un arbre ramifié
Table des matières
Index
On décrit un sapin comme étant composé de :
- deux branches basses
latérales symétriques et faisant un angle de 60 degrés avec le tronc,
- d'un bout de tronc et
- d'une tête.
Cette définition sera
récursive si on dit que les deux branches basses
latérales sont des sapins plus petits (de hauteur égale à la moitié de
la hauteur du sapin) et que la
tête est aussi un sapin plus petit (de hauteur égale au trois-quart de
la hauteur du sapin). Le tronc a donc pour hauteur le quart de la hauteur du
sapin. Il nous faut alors définir ce que l'on considére
comme sapin "initial" : c'est le sapin formé d'un tronc unique.
Il faut choisir un paramètre par exemple la hauteur h du sapin.
Voici la croissance de ces sapins :
On tape :
//tourne_gauche;sapin1(90)
sapin1(h):={
si (h<5) alors
avance(h);
recule(h);
sinon
tourne_droite(60);
sapin1(h/2);
tourne_gauche(120);
sapin1(h/2):
tourne_droite(60);
avance(h/4);
sapin1(3*h/4);
recule(h/4);
fsi;
}
Ou on tape en utilisant pour faire le test d'arrêt la profondeur n :
//tourne_gauche;sapin2(90,4)
sapin2(h,n):={
si (n==0) alors
avance(h);
recule(h);
sinon
tourne_droite(60);
sapin2(h/2,n-1);
tourne_gauche(120);
sapin2(h/2,n-1):
tourne_droite(60);
avance(h/4);
sapin2(3*h/4,n-1);
recule(h/4);
fsi;
}
Les différentes étapes ont été obtenus en exécutant :
tourne_gauche; sapin2(90,0) puis
tourne_gauche; sapin2(90,1) puis
tourne_gauche; sapin2(90,2) puis
tourne_gauche; sapin2(90,3) puis
tourne_gauche; sapin2(90,4).
Les 2 procédures ci-dessus se trouvent dans le fichier :
examples/tortue/sapin.cxx
suivant: Les flocons de Koch
monter: Des arbres
précédent: Un arbre ramifié
Table des matières
Index
Documentation de giac écrite par Renée De Graeve