Documentation Turtle⚓︎
Résumé Historique⚓︎
TURTLE est un module de la bibliothèque standard de Python permettant de réaliser simplement des graphiques grâce à une tortue (visualisée par un curseur triangulaire) possédant un crayon, directement inspiré par :
- le langage Logo et sa tortue développé par Wally Feurzeig, Seymour Papert and Cynthia Solomon dès \(1967\),
- lui -même inspiré du Langage Lisp développé par John McCarthy en \(1958\).
La tortue permet de dessiner des formes complexes en utilisant un programme qui répète des actions élémentaires :
Site Turtle en Ligne⚓︎
Voici un site en ligne que vous pouvez utiliser comme solution alternative (en cas de problème d'utilisation du module Turtle en local) : https://trinket.io/turtle
Documentation Turtle⚓︎
Documentation Officielle⚓︎
Documentation Officielle ( en FrAnglais
) du Module Turtle
Etat initial⚓︎
(En mode standard) La Tortue part de l'état initial suivant. Elle se trouve :
- au centre de l'écran : càd au point de coordonnées
(0,0)
. - orientée vers l'Est : càd avec un angle de \(0°\) par rapport à l'axe des x. Autrement dit, avancer en avant de \(10\) pas (ou pixels..), revient alors à aller vers l'Est de \(10\) pas.
- en position basse d'écriture (le stylo est posé sur la feuille)
- Couleur: Noir
- Epaisseur de Trait : 1px
- Logo de Tortue : Icone Triangulaire
On dispose du Repère Standard des mathématiques.
Principe du Tracé⚓︎
- Lorsque le crayon est baissé, et que la tortue de déplace, elle dessine un trait derrière son passage
- Lorsque le crayon est remonté, et que la tortue de déplace, elle ne dessine aucun trait derrière son passage
Instructions de base⚓︎
Intruction | Description |
---|---|
forward(d) ou fd(d) |
avancer de la distance \(d\) |
backward(d) ou bk(d) ou back(d) |
reculer de la distance \(d\) |
left(a) ou lt(a) |
pivoter à gauche de l'angle \(a\) (en degrés) |
right(a) ou rt(a) |
pivoter à droite de l'angle \(a\) (en degrés) |
up() ou penup() ou pu() |
Relève la pointe du crayon : ne dessine plus lorsque la tortue se déplace |
down() ou pendown() ou pd() |
Baisse la pointe du crayon : dessine lorsque la tortue se déplace |
dot(t) |
Affiche un point de taille t à la position courante |
goto(x,y) ou setpos(x,y) |
aller au point de coordonnées (\(x\),\(y\)), sans modifier l'angle |
position() ou pos() |
Renvoie les coordonnées courantes (\(x\), \(y\)) de la tortue. (en tant que vecteur Vec2d) abs(pos()) donne la distance de \((0,0)\) à la position courante |
setheading(a) ou seth(a) |
Positionne la tortue avec un angle de \(a\) degrés, par rapport à l'axe des x (orienté) |
home() |
repositionner la tortue au centre de la fenêtre. (Utile si la tortue est sortie de l'écran) |
Intruction | Description |
---|---|
width(e) ou pensize(e) |
fixer à \(e\) l'épaisseur du trait (en nombre de pixels) |
color(c) |
sélectionner la couleur \(c\) pour les traits ET/OU pour le remplissage d'une figure (si elle est fermée, et si le mode remplissage est activé). Trois notations pour la couleur \(c\) :
|
pencolor(c) |
sélectionner la couleur \(c\) (seulement) pour le trait |
Screen().bgcolor(c) |
Colorie le fond de la fenêtre graphique avec la couleur c (syntaxe idem que color(c) ) |
Intruction | Description |
---|---|
fillcolor(c) |
Définit la couleur \(c\) pour le remplissage d'une Forme Fermée |
begin_fill() |
Activer le mode remplissage |
end_fill() |
Désactiver le mode remplissage. Remarquer que le remplissage ne commence que lorsque la commande end_fill() est rencontrée |
Remarque
abs(pos()) < 1
est une bonne condition pour vérifier que la tortue est bien revenue à sa position initiale (home
)
Intruction | Description |
---|---|
circle(r) |
Trace un cercle de rayon \(r\).
|
circle(r,a) |
Trace un arc de cercle d'angle \(a\) (en degrés) et de rayon \(r\).
|
dot(r) |
tracer un disque de rayon \(r\) |
Intruction | Description |
---|---|
done() ou mainloop() |
maintient la fenêtre graphique ouverte, sans cela, elle ne fera qu'apparaître furtivement |
setup(w,h) |
ouvre une fenêtre de taille \(w\)x\(h\) |
window_width() et window_height() |
renvoient la largeur et la hauteur de la fenêtre |
speed(s) |
définir la vitesse de déplacement de la tortue, où \(s\) est un paramètre défini par :
|
reset() |
effacer l'écran, remettre la tortue au centre et réinitialiser ses paramètres |
title(t) |
Donner le titre \(t\) à la fenêtre de dessin |
bye() |
refermer la fenêtre |
exitonclick() |
refermer la fenêtre en cas de click |
Code Minimal Fonctionnel / MWE⚓︎
Voici un exemple de /
pour importer le module Turtle et pour l'utiliser :
Col
Code Simple/Manuel:
from turtle import *
forward(100) # avance de 100 pas/pixels
right(90) # tourne à droite de 90°
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
done() # maintient la fenêtre graphique ouverte
Code équivalent, à préférer
, avec une boucle
for
:
from turtle import *
for _ in range(4):
forward(100) # avance de 100 pas/pixels
right(90) # tourne à droite de 90°
done() # maintient la fenêtre graphique ouverte
Col
Col
Code Simple/Manuel:
import turtle as t
t.forward(100) # avance de 100 pas/pixels
t.right(90) # tourne à droite de 90°
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.forward(100)
t.right(90)
t.done() # maintient la fenêtre graphique ouverte
Code équivalent, à préférer
, avec une boucle
for
:
import turtle as t
for _ in range(4):
t.forward(100) # avance de 100 pas/pixels
t.right(90) # tourne à droite de 90°
done() # maintient la fenêtre graphique ouverte
Col
Col
Code Simple/Manuel:
from turtle import forward, right, done
forward(100) # avance de 100 pas/pixels
right(90) # tourne à droite de 90°
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
done() # maintient la fenêtre graphique ouverte
Code équivalent, à préférer
, avec une boucle
for
:
from turtle import forward, right, done
for _ in range(4):
forward(100) # avance de 100 pas/pixels
right(90) # tourne à droite de 90°
done() # maintient la fenêtre graphique ouverte
Col