Découvrir le module turtle de python

Tutoriels

Ce mini tutoriel vous propose quelques exemples de scripts python, simple à comprendre et à modifier, vous permettant de débuter sereinement la réalisation d’une image dessiné avec le module turtle de python.

Cet article a été écrit à deux mains, ainsi vous ne saurez pas qui accabler ci vous y trouvez des coquilles 😅

Tableau des méthodes Turtle en python

Ce tableau présente quelques méthodes turtle, mais il en existe d’autres, il ne faut pas hésiter à lire la documentation officielle : turtle — Turtle graphics

instructionsExplication en françaisExemples d’utilisation
forward(distance)La tortue avance de distance dans la direction précédemment fixéeDessiner des triangles
circle(radius)La tortue trace un cercle de rayon radiusDessiner des cercles
goto(x, y)La tortue se deplace aux point de coordonnées (x,y)Dessiner des triangles
begin_fill()
fillcolor(couleur)
end_fill()
La tortue remplit des formes géométriques de la couleur couleur, c’est comme le seau de peinture dans Paint.Colorier des cercles
il existe de nombreuses autres fonctions dans le module turtle, lisez la documentation officielle : turtle — Turtle graphics et cherchez d’autres tutoriels !

Dessiner des triangles équilatéraux

Le script ci-dessous définit une fonction, capable de construire un triangle équilatéral aux coordonnées (x, y) et de spécifier la longueur du côté du triangle. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def triangle(longueur, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x,y)
    pendown()
    pencolor(couleur)
    for i in range(3):
        forward(longueur)
        left(120)

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    long = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    triangle(long, x, y, color)

Dessiner des cercles

Le script ci-dessous définit une fonction, capable de construire un cercle aux coordonnées (x, y) et de spécifier la longueur du rayon de ce cercle. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def cercle(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    circle(rayon)
    

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    radius = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    cercle(radius, x, y, color)

Dessiner des disques

Le script ci-dessous définit une fonction, capable de construire un disque aux coordonnées (x, y) et de spécifier la longueur du rayon de ce disque. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def disque(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    fillcolor(couleur)
    begin_fill()
    circle(rayon)
    end_fill()
    

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    radius = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    disque(radius, x, y, color)

Ecrire des fonctions et les réutiliser

Une manière intelligente d’écrire un script est de coder des fonctions, des fonctions paramétrables.

Les fonctions proposées ci-dessus sont paramétrables :

  • coordonnées (x, y),
  • couleur,
  • rayon ou longueur

Nous aurions pu ajouter d’autres paramètres à ces fonctions, comme par exemple la largeur du trait ou une rotation initiale dans le cas des triangles…

Un exemple d’image générée avec une unique fonction, cette fonction est appelée dans une boucle.

Un champ de rose (source), un script de moins de 42 lignes, beaucoup moins !

La fonction elle même contient une boucle.

L’histoire raconte que plusieurs milliers de cercles ont été tracés.

L’image est générée au format .png en exploitant le tutoriel Exporter une image générée par le module turtle sur python