Bonjour à tous,
J'essaie d'élaborer un programme afin de dessiner un polygone étoilé.
L'intitulé de l'exercice est:
"Les sommets d'un polygone régulier, qu'il soit convexe ou étoilé, sont tous situés sur un cercle. Dans le dessin d'un polygone convexe, ces sommets sont parcourus dans l'ordre où ils se trouvent sur le cercle.
Mais si au lieu de les parcourir consécutivement, on les parcourt de deux en deux ou de trois en trois, plus généralement de k en k , on obtient des polygones étoilés."
J'ai donc élaboré cette fonction:
(J'utilise le module Turtle)
1 2 3 4 5 6 7 8 9 10
|
def polygone_etoile(n,l,k):
"""
"""
speed(0)
ANGLE_MAX=360
for i in range(n):
forward(l)
left((ANGLE_MAX/n)*k) |
Lorsqu'on l'exécute :
>>> polygone_etoile(10,150,3)
On est censé obtenir le figuré suivant d'après l'exercice:

Le problème c'est que le figuré que j'obtiens est décalé contrairement à ceux de l'exercice :/
Ainsi je pense m'être trompé dans mon programme, mais je ne sais pas comment m'y prendre pour qu'il corresponde parfaitement aux attentes de l'exercice.
Quelqu'un aurait-il l'amabilité et la patience pour m'aider? Merci infiniment d'avance.
Partager