5
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. EXERCICE 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. EXERCICE 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).

Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements

Embed Size (px)

Citation preview

Page 1: Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements

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.

EXER CICE 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.

EXER CICE 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).

Page 2: Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements

(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.

EXER CICE 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é.

EXER CICE 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.

Page 3: Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements

EXER CICE 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)

EXER CICE 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 :

Page 4: Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements

Mini-Projet :

Reprendre l’exercice 4. En déduire une fonction l i g n e _ e t o i l e( b ra 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)

Page 5: Mouvements de la tortue - pierreem.braun.free.frpierreem.braun.free.fr/Cours/Python/TP9.pdf · documentation officielle python : http ://docs.python.org/3.2/library/turtle.html. Mouvements