Upload
dinhhanh
View
215
Download
1
Embed Size (px)
Citation preview
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).
(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.
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 :
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)