next up previous contents index
suivant: Les flocons de Koch monter: Des arbres précédent: Un arbre ramifié   Table des matières   Index

Un sapin

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 :


\begin{pspicture}(0.0000,0.0000)(14,4)
\psset{unit=0.02cm}
\psset{linewidth=.5pt...
...380.0000,122.5000)
\psline(380.0000,122.5000)(380.0000,100.0000)
\end{pspicture}

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
next up previous contents index
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