Le programme LOGO pour cette figure est donc :
REPETE 9
AV 2*Racine(75)*(1+cosinus(50)/sinus(20))
FloconCentre :10
LC
RE 2*Racine(75)*(1+cosinus(50)/sinus(20))
BC
TD 40
FIN REPETE
CT
Pour n flocons de côté a :
- Calculer les angles en fonction de n.
- Calculer AB en fonction de la longueur a du côté du flocon (voir la partie initiation LOGO)
- Calculer AH.
- Calculer OA.
- Calculer OB
Les angles étant exprimés en degrés, on a :
Maintenant on va créer des procédures pour passer en paramètres le nombre de flocons et la taille d'un côté.
Une procédure pour avancer de la position initiale au centre d'un flocon
Pour AllerFleurFlocon : long : n
AV 2*Racine(:long^2-(:long/2)^2)*(1+Cosinus(30+180/:n)/Sinus(180/:n))
Fin Pour
Une procédure pour reculer du centre d'un flocon à la position initiale
Pour RetourFleurFlocon :long :n
RE 2* Racine(:long^2-(:long/2)^2)*(1+Cosinus(30+180/:n)/Sinus(180/:n))
Fin Pour
Une procédure qui appelle toutes les autres :
Pour FleurFlocon :long :n
REPETE :n
AllerFleurFlocon :long :n
FloconCentre :long
LC
RetourFleurFlocon :long :n
BC
TD :360/:n
FIN REPETE
Fin Pour
La figure avec 9 flocons de côté 10 s'obtient maintenant avec une seule ligne de programme :
FleurFlocon :10 :9 CT
Mais on peut maintenant tracer les figures en faisant varier le nombre et/ou la taille des flocons; par exemple :
FleurFlocon :8 :12 CT
Essayer pour n = 1, n = 2, n = 3, ...