- Code: Select all
? →M
? →D
M→C
Stylo écrit
180-360D÷M→A
Tourner de↺-A÷2degrés
Répéter jusqu'à C=0
Avancer de44cos(A÷2)pixels
Tourner de↺180-Adegrés
C-1→C
⤴
Stylo relevé
Aller à x=0; y=-50
- on conserve le paramètre n indiquant le nombre de sommets
- on rajoute un paramètre d, où d-1 est le nombre de sommets consécutifs sur le cercle circonscrit à sauter lorsque l'on relie 2 sommets
Si d=1, on ne saute donc aucun sommet et on continue à tracer un polygone régulier convexe. Voici par exemple avec n=7 :
Et voici maintenant toujours avec n=7 mais d=2 puis d=3 :
Chaque segment saute donc 1 sommet dans le 1er cas et 2 sommets dans le 2ème cas.
Le programme est ici taillé pour inscrire le polygone dans un cercle de rayon 22, le diamètre donnant alors à 1 pixel près la hauteur affichable de l'écran.
Notons que les paramètres n et d doivent être premiers entre eux, sans quoi on obtient des polygones dégénérés qui en apparence auront moins de n sommets.
Programme en archive : archives_voir.php?id=1392442