Dessin avec turtle
Pour terminer ce chapitre, découvrons le module turtle
qui permet d'effectuer simplement des dessins constitués de lignes. Ce module permet de réaliser des dessins en faisant se déplacer une tortue dans le plan, qui dessine le chemin qu'elle a parcouru. Voyons d'abord un programme qui utilise ce module avant d'en détailler le contenu :
Ce programme comporte une boucle while
qui s'exécute cinq fois. À chaque boucle, la tortue avance de $50$ unités (forward
), puis tourne sur place de $72$ degrés (left
), dans le sens anti-horloger. La figure 11 montre le résultat de l'exécution du programme, sachant que la tortue se trouve initialement au milieu de la fenêtre, orientée vers la droite.
Une fois le module importé avec from turtle import *
, on peut utiliser toutes les fonctions définies dans ce module, dont les principales sont reprises à la figure 12. La fonction forward
permet d'avancer d'un nombre d'unités qu'on lui précise tandis que la fonction left
permet de tourner sur place d'un angle en degrés qu'on lui précise également. La fonction done
, appelée à la fin du programme, permet de garder la fenêtre de dessin ouverte, malgré que la tortue ait fini ses déplacements.
Fonction | Description |
---|---|
forward(dist) |
Avancer de la distance spécifiée |
backward(dist) |
Reculer de la distance spécifiée |
left(ang) |
Tourne sur place dans le sens anti-horloger de l'angle spécifié |
right(ang) |
Tourne sur place dans le sens horloger de l'angle spécifié |
up() |
Relever le crayon |
down() |
Baisser le crayon |
color(col) |
Changer la couleur du crayon ('red' , 'blue' ...) |
width(wid) |
Changer l'épaisseur du crayon par l'épaisseur spécifiée |
goto(x, y) |
Aller, en ligne droite, au point de coordonnées $(x, y)$ |
reset() |
Effacer tout |
done() |
Maintenir la fenêtre ouverte une fois le dessin terminé |
turtle
possède plusieurs fonctions permettant de déplacer la tortue et de changer les caractéristiques du trait dessiné.Il faut faire attention à la fonction goto(x, y)
qui permet de déplacer la tortue vers le point de coordonnées $(x, y)$. En effet, les axes ne sont pas comme vous en avez l'habitude en mathématiques : le coin supérieur gauche se trouve en $(0, 0)$, et l'axe des $x$ va vers la droite tandis que l'axe des $y$ descend vers le bas.
On observe également la présence des fonctions up()
et down()
qui permettent de lever et baisser le crayon, ce qui permet de dessiner ou non lorsque la tortue se déplace. D'autres fonctions sont disponibles, comme celle pour dessiner des arcs de cercle, par exemple, mais nous n'allons pas les détailler ici.
Le listing de la figure 13 montre un autre exemple complet de programme qui utilise une tortue pour réaliser un dessin. Le résultat de l'exécution de ce programme est présenté à la figure 14. Expérimentez ce programme en changeant les valeurs des variables MAX
et factor
.