====== Activité Python : dessiner avec le module graphique Turtle ====== ===== Présentation ===== Turtle est un des **modules graphiques** disponible pour le langage Python. Il est inspiré de la programmation Logo et permet de déplacer une tortue sur l’écran. Il est alors possible d'effectuer très simplement des **dessins constitués de lignes** en déplaçant une **tortue** dans le plan. Pour cette activité, tu vas utiliser : * soit **EduPython**, * soit le site Web **Trinket** : https://trinket.io/ ===== Découvrir l'utilisation de Trinket ===== {{ :icn:facultatif:trinket_01.png |}} ===== Utiliser Turtle ===== Pour pouvoir utiliser **Turtle** dans un programme Python, il faut **importer le module Turtle**. Au début de ton programme Python ajoute la ligne suivante : from turtle import * ===== Les fonctions disponibles ===== ==== Début du programme ==== ^Fonction^Description^ ^reset()| Efface l’écran, recentre la tortue et remet les variables à zéro| ==== Les 4 commandes de base ==== ^Fonction^Description^ ^forward(n)|Avance de n pixels| ^backward(n)|Recule de n pixels| ^left(%%r%%)|Pivote vers la gauche de r degrés| ^right(%%r%%)|Pivote vers la droite de r degrés| ==== Pour modifier les traits dessinés ==== ^Fonction^Description^ ^width(n)|Définit la largeur du trait| ^color("blue")|Définit la couleur du dessin, ici bleu| ^bgcolor("red")|Définit la couleur du fond| ==== Autres fonctions bien utiles ==== ^Fonction^Description^ ^up()|Lève le crayon pour avancer sans dessiner| ^down()|Baisse le crayon pour dessiner| ^goto(x,y)|Positionne le crayon en (x,y), (0,0) est le centre de l'écran| ^circle(%%r%%,a)|Dessine un cercle de rayon r sur un arc d'angle a| ^speed(vitesse)|Définit la vitesse de déplacement ( "slowest", "slow", "normal", "fast", "fastest")| ^write("texte")|Ecrit le texte là où se trouve le curseur| ^pos()|Renvoie un tuple (x,y) de la position de la tortue| Pour en savoir plus : * https://fr.wikibooks.org/wiki/Programmation_Python/Turtle ===== Exemple de dessin d'un carré ===== {{ :icn:facultatif:turtle_03.png |}} ===== Activité de découverte à faire : dessiner une fleur ===== Crée un programme python qui dessine une fleur dont chaque pétale est un losange : {{:icn:facultatif:turtle_01.png?nolink&200|}}{{:icn:facultatif:losange.png?nolink&300|}} Dans cet exemple : * chaque **ligne** a une longueur de **60 pixels**, * les **angles** utilisés sont soit de **30 degrés** soit de **150 degrés**. ===== Le projet à réaliser ===== Tu vas écrire un programme Python qui réaliser une **oeuvre graphique interactive** basée sur la **répétition** de **motifs colorés**. ==== Quelques pistes à explorer ... ==== Pour faire **varier** les motifs, tu peux changer leur **couleur**, leur **dimension** en mettant ces informations en paramètre dans des **variables**. Pour placer tes motifs à différents endroits : * utilise la fonction **random()** pour définir les **positions x et y**. Pour choisir tes motifs tu peux aussi demander à l'utilisateur : * les motifs à dessiner, * leur nombre, leur couleur. ==== Autres exemples de motif ==== {{:icn:facultatif:turtle_04.png?200|}}{{:icn:facultatif:turtle_05.png?200|}}{{:icn:facultatif:turtle_06.png?200|}} **Indice** : l’instruction **circle(rayon, angle)** trace un arc de cercle de rayon et d’angle donné à partir de la position actuelle de la tortue. L'instruction write(v) affiche le contenu de la variable v. **Indice** : le premier carre ABCD est un carré de côté 100 pixels ; Chaque nouveau carré est construit en déplaçant chaque sommet de 10 pixels. ===== Utilisations des fonctions ===== L'utilisation de **fonction** facilite la création de plusieurs fleurs. Pour cela, tu peux créer et utiliser une fonction **dessine_fleur()** qui dessine une fleur avec pour paramètre : * la **position** de la fleur, * le **nombre** de pétales, * la **longueur** de chaque ligne de la fleur ; ==== Les activités ... ==== [[.:accueil|Je reviens à la liste des activités.]]