Bonjour
Je viens (encore) vous solliciter pour un petit problème.
Il faut, avec turtle, définir une fonction qui dessinera une étoile à 6 branches, avec 2 triangles équilatéraux (avec une fonction triangle qui a été précédemment définie). Bien sûr, on doit pouvoir modifier l'angle de l'étoile.
Au bout d'une heure à "m'amuser" avec la tortue, j'ai ça :
le triangle équilatéral :
l'étoile à 6 branches :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def triangle(taille,couleur,angle): "Fonction qui dessine un triangle équilatéral de taille, couleur et avec un angle déterminés" color(couleur) right(angle) c=0 while(c<3): forward(taille) right(120) c=c+1
Sauf que l'étoile fonctionne uniquement avec un angle à 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def etoile6(taille,couleur,angle): triangle(taille,couleur,angle) up() right(90) forward(taille*3/5) left(90) forward(taille) down() triangle(taille,couleur,angle+180)
Dès que je mets un autre angle, ça ne fonctionne plus, ce n'est plus une étoile.
Il me semble qu'avant d'avoir un problème avec Turtle, j'ai déjà un problème de maths.
Il y a certainement une règle mathématique qui permet de savoir où démarrer le 2ème triangle par rapport au 1er pour que ça fasse une étoile.
J'ai cherché sur le net, je ne trouve pas.
L'un de vous saurait-il faire un truc comme ça SVP ?
Partager