Dessin d’un polygone régulier avec le module Turtle

Un exemple simple : le carré

carre.png

Comme c’est très simple, un débutant va proposer ceci :

"""
On dessine un carre.

c : longueur du cote
u : unite graphique
"""

import turtle
from turtle import *


c=2
u=100

forward(c*u)
left(90)
forward(c*u)
left(90)
forward(c*u)
left(90)
forward(c*u)


exitonclick()

Evidemment, très vite, on voit la répétition de deux instructions, surtout si on ajoute un dernier left(90).

D’où l’emploi d’une boucle for.

A noter que dans l’exemple ci-dessous, les 4 valeurs prises par k sont 0, 1,2 et 3 !

"""
On dessine un carre.
c : longueur du cote
u : unite graphique
"""

import turtle
from turtle import *


c=2
u=100

for k in range(4):
    forward(c*u)
    left(90)


exitonclick()

On complique un peu : le pentagone régulier

pentagone.png

On comprend vite que c’est le même principe, il suffit juste de savoir de quel angle on tourne. Un petit calcul nous permet de trouver que chaque angle d’un pentagone régulier mesure 108 degrés. Il faudra donc tourner, non pas de 108 degrés mais de 72 degrés.

"""
On dessine un pentagone regulier.
c : longueur du cote
u : unite graphique
"""

import turtle
from turtle import *


c=2
u=100

for k in range(5):
    forward(c*u)
    left(72)


exitonclick()

Généralisons au polygone régulier

polygone_regulier.png

Pour un nombre n de côtés, il faut juste calculer l’angle de rotation : il vaut 360/n degrés !

"""
On dessine un polygone regulier.
n : nombre de cotes
angle : angle de rotation
c : longueur du cote
u : unite graphique
"""

import turtle
from turtle import *

n=8
angle=360./n

c=2
u=50

for k in range(n):
    forward(c*u)
    left(angle)


exitonclick()