Turtle

Turtle

Le module turtle  :

L’une des grandes qualités de Python est qu’il est extrêmement facile de lui ajouter de nombreuses fonctionnalités par importation de divers modules. Pour illustrer cela, et nous amuser un peu avec d’autres objets que des nombres, nous allons explorer un module Python qui permet de réaliser des « graphiques tortue », des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples.

Réglage de la fenêtre  :

Commande retour
setup(500,400)
construit une fenêtre de 500 pixels de largeur et de 400 pixels de hauteur.
title("Education du numérique")
Le titre de la fenêtre devient : Education du numérique
bgcolor("light blue")
Le fond de la fenêtre devient bleu clair.
bgpic("gare_limoges.png")
L’image de la gare de limoges devient le fond de la fenêtre.
setup(500,400)
construit une fenêtre de 500pixelx de largeur et de 400pixels de hauteur.
Le code pour un fond bleu clair Le résultat :
from turtle import *
setup(600, 150)  #fenetre : Largeur : 600px, Hauteur : 150px
title("Education du numérique")  #Change le titre de la fenetre
bgcolor("light blue")  #Met l'image en fond de la fenêtre 

_images/turtle001.PNG
   
Le code pour un fond avec une image Le résultat :
from turtle import *
setup(600, 500)  #fenetre : Largeur : 600px, Hauteur : 500px
title("Gare de Limoges")  #Change le titre de la fenetre
bgpic("gare_limoges.png")  #Met l'image en fond de la fenêtre 

_images/turtle002.PNG

Les commandes d’affichage  :

Commande retour
up()
Relève le pointeur.
down()
Repose le pointeur.
hidleturtle()
Cache le pointeur.
showturtle()
Affiche le pointeur.
goto(100,100)
déplace le pointeur de 100 pixels vers la droite et de 100 pixels vers le bas.
write("point de départ")
Ecrit sur la fenêtre le message :point de départ .
write('B(-150;-200)',font = ("Arial", 15, "bold"),align='right')
        # align : right: droite; left : gauche ; center : centre
Ecrit sur le point B(-150;200) avec la police Arial; 15 :dimension; bold :gras .
with(3)
Trace une ligne de 3 pixels de largeur.
dot(10,'red')
Trace un point de 10 pixels de diamètre de couleur red.
Le code pour l’affichage
_images/turtle006.PNG
Le résultat :
_images/turtle005.PNG

Le repère dans la fenêtre  :

Pour pouvoir se repérer dans la fenêtre, turtle utilise un repère à deux dimensions. Il est centré au milieu de la fenêtre. Ce repère permet de se déplacer en abscisses et en ordonnées .Le centre du repère, est le point ( 0, 0). C’est le point de départ de toute les fonctions.

Le code pour le repère
_images/turtle004.PNG
Le résultat :
_images/turtle003.PNG
Les cercles :

Pour tracer des cercles avec turtle, il sufit d’utiliser la commande circle. On peut tracer un cercle complet ou un arc de cercle. Pour un arc de cercle il suffit d’indiquer la mesure de l’angle en degré pour afficher l’arc que l’on veut. Les exemples suivants indiquent toutes les possibilités.

Commande retour
circle(200)
construit un cercle de 200 pixels de rayon.
circle(200,180)
Construit un demi cercle de rayon 200 pixels.
circle(200,90)
Trace un arc de cercle de 90°.
Le code pour un cercle de rayon 200 Le résultat :
_images/turtle008.PNG _images/turtle007.PNG
   
Le code pour des arcs de cercles Le résultat :
_images/turtle010.PNG _images/turtle009a.PNG

Les polygones réguliers  :

La commande circle permet de tracer des polygones réguliers. Des octogones, des triangles, des carrés…

Commande retour
circle(200,steps=8)
Trace un octogone de rayon 200 pixels.
circle(100,180,steps=3)
Trace la moitié d’un hexagone.Le rayon = 100 pixels. L’angle = 180° .Nombre de segments = 3.
circle(100,steps=3)
Trace un triangle équilatèral le cercle de rayon 100 est le cercle circonscrit de ce triangle.
circle(100,steps=4)
Trace un carré dont les diagonales mesurent 200 pixels.
Le code pour un polygone Le résultat :
_images/turtle012.PNG _images/turtle011.PNG
   
Le code pour des polygones Le résultat :
_images/turtle014.PNG _images/turtle013.PNG
Les points :

Pour se repérer dans la fenêtre, il faut tracer des points, la commande est*dot*. Le code introduit le code pour construire une boucle avec le code for et l’utilisation d’une liste avec sa longueur len

Le code pour les points
_images/turtle016.PNG
Le résultat :
_images/turtle015.PNG

 :

Se déplacer

Pour tracer des des figures avec turtle, il faut se déplacer. pour cela il faut utiliser les commandes forward et backward :

  • La commande forward permet d’avancer, par exemple forward(120) permet d’avancer de 120 pixels.
  • La commande backward permet de reculer, par exemple backward(50) permet de reculer de 50 pixels.
Commande retour
forward(200)
Se déplace de 200 pixels en avançant.
backward(180)
recule de 180 pixels.
goto(200,90)
Va à la position (200;90).
home()
Va à la position (0;0).
right(90)
Change de direction de 90° vers la droite.
left(150)
Change de direction de 150° vers la gauche.
Le code pour déplacement en avançant Le résultat :
_images/turtle018.PNG _images/turtle017.PNG
   
Le code pour reculer Le résultat :
_images/turtle020.PNG _images/turtle019.PNG

Les figures  :

On va tracer des carrés, des triangles, des parallélogrammes.

Le code pour un carré Le résultat :
_images/turtle022.PNG _images/turtle021.PNG
   
Le code pour un triangle Le résultat :
_images/turtle024.PNG _images/turtle023.PNG
Le code pour un parallélogramme Le résultat :
_images/turtle026.PNG _images/turtle025.PNG
Un losange. Un rectangle.
_images/turtle030.PNG _images/turtle029.PNG
_images/turtle027.PNG _images/turtle028.PNG

On peut dessiner des carrés, des losanges, des rectangles à l’aide de la fonction parallélogramme;

Les exercices  :

Voici les exercices à faire pour apprendre la programmation en utilisant les connaissances en géométrie.

Il faut trouver le code qui permet de construire les dessins suivants:

La spirale
_images/turtle031.PNG
Une étoile : Une enveloppe :
_images/turtle032.PNG _images/turtle035.PNG
Une suite de triangles et de carrés
_images/turtle034.PNG
Une spirale de figures
_images/turtle033.PNG
Une toiture :
_images/turtle036.PNG

La galerie  :

_images/turtle037.PNG _images/turtle038.PNG
_images/turtle039.PNG _images/turtle048.PNG
_images/turtle040.PNG _images/turtle041.PNG
_images/turtle042.PNG _images/turtle043.PNG
_images/turtle044.PNG _images/turtle045.PNG
_images/turtle046.PNG _images/turtle047.PNG