TP 9 – Un peu de détente avec le module turtle Mouvements de la
Transcription
TP 9 – Un peu de détente avec le module turtle Mouvements de la
TP 9 – Un peu de détente avec le module turtle Il faut importer le module appelé turtle. Pour cela, il faut commencer par l’instruction suivante : 1 from turtle import * Vous programmez les déplacements d’une petite tortue afin de faire des figures géométriques. Les fonctions données ci-dessous ne sont qu’une petite partie des possibilités . . . on peut aussi aller voir la documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements de la tortue : • forward(d) : fait avancer la tortue de d (en pixel), le trait est dessiné si le crayon est baissé ; • backward(d) : fait reculer la tortue de d (en pixel), le trait est dessiné si le crayon est baissé ; • left(a) : fait pivoter la tortue d’un angle de a degrés vers la gauche ; • right(a) : fait pivoter la tortue d’un angle de a degrés vers la droite ; • goto(x,y) : la tortue va se positionner au point de coordonnées ( x ; y ); • circle(r) : trace un cercle de rayon r, le point de départ de la tortue appartient au cercle (attention il n’est pas centré sur la position de la tortue) ; • circle(r,s) : trace une portion du cercle correspondant à s degrés ; Contrôle du stylo : • up() : lève le crayon ; • down() : baisse le crayon ; • pensize() ou width() : fixe la largeur du trait (en pixel) ; • reset() : nettoie la fenêtre de dessin, réinitialise la tortue ; elle est située alors au centre de l’écran de dessin tournée vers la droite. • pencolor(c) : la couleur par défaut est le noir, on peut la changer en mettant une couleur prédéfinie "red", "green", "blue", "yellow", . . . ; • color(c1,c2) : modifie la couleur du trait c1 et la couleur du remplissage c2. On peut aussi les modifier séparement avec pencolor(c) et fillcolor(c). • les balises begin_fill() et end_fill() permettent de commencer et de terminer le remplissage d’une figure géométrique. E XER CI CE 1 (1) Écrire la fonction triangle1(cote) qui dessine un triangle équilatéral dont les côtés sont de longueur cote et qui a la pointe vers le haut. (2) Écrire la fonction triangle2(cote) qui dessine un triangle équilatéral dont les côtés sont de longueur cote et qui a la pointe vers le bas. (3) Écrire la fonction triangle3(cote,angle) qui dessine un triangle équilatéral dont les côtés sont de longueur cote et d’une orientation bien déterminée. E XER CI CE 2 (1) Écrire la fonction carre(cote) qui trace un carre de côté cote. Il est préférable que la tortue termine son dessin là où elle a démarré et avec la même orientation. (2) En déduire la fonction ligne_de_carres(n,cote) qui trace n carrés sur une ligne chaque carré étant de coté cote (on utilisera la fonction carre). (3) Écrire la fonction carres_croissants(n,cote) qui trace une ligne de n carrés, le premier carré étant de côté cote, le suivant de côté 1,25 fois la taille du côté du carré qui le précède ; les carrés seront espacés la première fois de cote/4 puis cette distance sera multipliée aussi par 1,25 à chaque fois. Vous utiliserez la fonction carre mais pas ligne_de_carres. E XER CI CE 3 Réaliser le dessin suivant, où le contour de chaque figure est en gras de couleur bleue et l’intérieure de chaque figure est de couleur orange. Le dessin ci-dessous correspond à l’appel de la fonction figuresPleines(5,40), le premier paramètre est le nombre de répétition et le deuxième correspond la longueur du côté du triangle et du carré. E XER CI CE 4 (1) Écrire la fonction rayons(n,l) qui trace n rayons de longueur l, de même origine et régulièrement espacés ; pour n=18 et l=60, on obtient le dessin : aide : utiliser backward() (2) Écrire la fonction polygone(n,cote) qui trace un polygone régulier à n cotés, chaque coté mesurant cote. (3) Écrire la fonction etoile(n,cote) qui trace une étoile avec n sommets, les côtés mesurant cote. On supposera que le nombre de côté de l’étoile est toujours impair. etoile(5,60) etoile(7,60) etoile(9,60) etoile(11,60) (4) Écrire une fonction etoile6(cote) qui trace une étoile à 6 sommets de côté cote de style étoile de David. Quelques considérations géométriques seront indispensables. E XER CI CE 5 Réaliser les dessins suivants, dans les deux dessins le paramètre est n nombre de cercles ou de portions de cercles du dessin. Remarque. On pourra utiliser goto pour regagner le centre du dessin 1 demis_cercles(7,50) 1 rosace(10,50) E XER CI CE 6 Réaliser le dessin suivant, les paramètres sont le nombre de carrés et la taille du carré de départ (qui est le plus petit des carrés) le dessin ci-dessous correspond à l’appel de la fonction carres_emb(5,30) Si le temps le permet : MINI-PROJET : reprendre l’exercice 4 et écrire une fonction permettant d’obtenir le dessin : Mini-Projet : Reprendre l’exercice 4. En déduire une fonction l i g n e _ e t o i l e ( b r a n c h e , c o t e , n o m b r e ) pour réaliser le dessin ci-dessous ; attention s’il y a un nombre pair d’étoiles, les deux étoiles du centre doivent avoir la même taille. 1 ligne_etoile(5,30,9) 1 ligne_etoile(7,30,8)