Des arbres
Le but de ce projet est de dessiner un arbre. Les longueurs sont données en point.
1 Le tronc
Écrire une procédure tronc qui dessine une ligne :
– d’épaisseur c(paramètre de la procédure),
– de longueur 10c,
– de couleur (0.6,0.3,0) dans l’espace RGB,
– parallèle à l’axe des ordonnées,
– à partir du point courant (on peut utiliser la fonction currentpoint pour avoir les coor-
données du point courant).
À la fin de la procédure le point courant ne doit pas changer.
2 Les feuilles
Écrire une procédure feuilles qui dessine trois triangles :
– de côté 5,
– aux positions (x+c, y + 9c),(x−c, y + 9c)et (x, y + 11c),(x, y)étant la position du point
courant à l’entrée de la procédure, et cle paramètre de la procédure,
– de couleurs (0,0.3,0),(0,0.5,0) et (0,0.7,0).
À la fin de la procédure le point courant ne doit pas changer.
3 Un arbrisseau
Écrire une procédure arbrisseau, prenant un paramètre cen entrée, qui dessine un tronc et
trois feuilles triangulaires à partir du point courant, avec le paramètre c.
À la fin de la procédure le point courant ne doit pas changer.
4 Un premier arbre
Modifier la procédure arbrisseau (et la renommer arbre)
– pour qu’elle s’appelle récursivement deux fois ;
– afin qu’elle ne s’appelle pas indéfiniment, on utilisera un nouveau paramètre, a, que l’on
décrémentera à chaque appel récursif ; lorsqu’il sera nul, on dessinera un arbrisseau (a
mesure la profondeur de récursion) ;
– avant les appels récursifs d’arbre, on changera le point courant aux coordonnées (x, y + 9c)
et on tournera le repère de 30 degrés au premier appel et de −30 degrés au deuxième appel ;
– on réalisera les appels récursifs d’arbre avec une valeur de cdivisée par 1.5, pour faire
décroître la taille des branches.
La procédure ne doit modifier ni le point courant, ni l’orientation des axes.
L’algorithme est donc le suivant (l’appel se fait avec les paramètres aet c) :
1