SNT Python 2

Identification

Infoforall

2 - Dessiner avec Python


Turtle est un module pédagogique permettant de dessiner facilement des formes sous Python.

Vous allez l'utiliser aujourd'hui pour visualiser la notion de séquentialité.

IDE Python proposé : Thonny

Documents de cours : pdf ou odt.

1 - Premier exemple

Ce petit programme va permettre de tracer deux traits de couleurs et de tailles différentes.

1 2 3 4 5 6 7
from turtle import * # veut dire d'importer le module turtle entièrement crayon = Turtle() # veut dire de créer un crayon (notez le T majuscule) crayon.forward(50) # veut dire d’avancer de 50 pixels. crayon.left(90) # veut dire de tourner à droite de 90°. crayon.pencolor('red') # veut dire de dessiner en rouge (à partir de maintenant) crayon.forward(75) # veut dire d’avancer de 75 pixels.

Il suffit de le placer dans la zone Programme de Thonny ;

Thonny 1

Et voici le résultat après avoir appuyer sur la flèche verte. L'animation en moins.

Exemple 1
Ce programme dans Thonny

L'intérêt de Turtle ? Le fait qu'il ne trace pas en instantané. On voit apparaître le dessin au fur et à mesure de l'exécution séquentielle du programme.

Comprennez bien que chacune de ces lignes est importante.

2 - Formes basiques : rectangle, carré et triangle

Voyons maintenant un programme plus complexe permettant de tracer un rectangle.

01° Créer et lancer le programme ci-dessous. Pourquoi le premier trait n’est-il pas rouge? ?

1 2 3 4 5 6 7 8 9 10 11 12 13
from turtle import * crayon = Turtle() largeur = 50 hauteur = 100 crayon.forward(largeur) crayon.left(90) crayon.forward(hauteur) crayon.pencolor('red') crayon.left(90) crayon.forward(largeur) crayon.left(90) crayon.forward(hauteur)
Exemple 2
Visuel obtenu avec Turtle

02 - à faire valider° Modifier le programme pour tracer un carré.

Ensuite, modifier pour que chaque côté ai une couleur différente.

03 - à faire valider° Créer un programme qui dessine un triangle (rotation de 360° au total, par exemple 3 fois 120°)

3 - Fond coloré : couleur de remplissage

Jusqu'à présent, nous n'avons réussi qu'à changer la couleur du crayon et donc du contour des formes tracées.

Mais on peut également demander à Python de colorier la surface de la forme définie. C'est un peu plus compliqué et cela comporte 4 étapes :

  1. On doit d'abord définir la couleur voulue pour le remplissage (to fill en anglais veut dire remplir)
  2. On doit dire quel est le point de départ de la forme à remplir (to begin veut dire commencer)
  3. On dessine ensuite la forme
  4. On finit en précisant à Python quel est le point final de la forme (to end signifie finir)
Soleil
Le Soleil ?

04° Utilisez ce programme pour voir le résultat obtenu.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
from turtle import * crayon = Turtle() c = 100 # c pour côté du triangle r = 150 # r pour rayon du cercle crayon.forward(c) crayon.left(120) crayon.forward(c) crayon.left(120) crayon.forward(c) crayon.left(120) crayon.fillcolor("yellow") # (1) veut dire que la couleur de fond est jaune crayon.fillcolor("#FFFF00") # (1) veut dire la même chose ! Voir Web ou Photographie. crayon.begin_fill() # (2) veut dire qu’à partir de là, on va definir une forme à remplir crayon.circle(r) # (3) veut dire de tracer un cerle de rayon 200 pixels (et d’angle 360°) crayon.end_fill() # (4) veut dire que c’est la fin de la forme à remplir : le programme va donc remplir la forme définie.

4 - Instructions complémentaires

Voici quelques instructions supplémentaires qui vous permettront de réaliser des dessins plus complexes :

  1. crayon.goto(0, 150)

    veut dire de placer le crayon aux coordonnées x=0 et y=150. Le (0,0) est le centre de l'écran. Les coordonnées (x,y) sont similaires au repère classique : x positif vers la droite et y positif vers le haut.

  2. crayon.setheading(45)
  3. veut dire d’orienter le crayon sur un angle de 45° absolu (0° la droite)

  4. crayon.penup()
  5. veut dire de lever le crayon (on arrête donc de dessiner en le déplacant).

  6. crayon.pendown()
  7. veut dire d’abaisser la pointe du stylo : on recommence à dessiner.

  8. crayon.circle(50,180)
  9. veut dire de tracer un arc de cerle de 50 pixels et d’angle 180° (1/2 cercle)

  10. crayon.circle(100)
  11. veut dire de tracer un cerle de rayon 100 pixels (et d’angle 360°)

  12. crayon.pensize(6)
  13. veut dire de tracer les traits avec une épaisseur de 6 pixels.

  14. crayon.write("Bonjour")
  15. veut dire d'écrire "Bonjour" à l'écran.

05 - question notée° Dessiner le plus beau dessin (une maison ?, les planètes ?) que vous voulez en utilisant les outils à disposition, dont ceux du complément.

5 - FAQ

Pas de question pour le moment

Activité publiée le 25 02 2021
Dernière modification : 25 02 2021
Auteur : ows. h.