[PDF] Informatique TP5 : Interface graphiques et tracés de fractales CPP 1A





Previous PDF Next PDF



À la découverte de turtle

20 mars 2019 en créant le module turtle de Python offre un vaste espace de jeu ... comme changer le titre par exemple



Python au lycée - tome 1

Le module turtle permet de tracer facilement des dessins en Python. Par exemple le module math contient les fonctions mathématiques.



Informatique et Algorithmique avec le langage Python

Par exemple pour écrire le programme d'exemple 2 ci-dessus (cf. page 19) on a afché de l'aide sur certaines fonctions du module turtle de la façon suivante 



Enseignement optionnel ICN Lycée Les Pierres Vives

29 mars 2017 Période 2 : Python (prise en main et module Turtle). ´ Période 3 : PHP et MySQL (création de sites web ... Quelques exemples de thèmes :.



Informatique TP5 : Interface graphiques et tracés de fractales CPP 1A

La première ligne dit à Python que l'on va utiliser turtle. Par exemple dessiner un triangle comme ci-dessus est aussi simple que : 1 from turtle ...



Tortue couleurs et fonctions

Tortue couleurs et fonctions. La couleur avec Turtle ! La méthode simple : avec le nom de la couleur. color('red') par exemple



Dessiner avec Turtle Programmer des fonctions

TP Python. 2017/2018. Dessiner avec Turtle Pour dessiner nous utiliserons le module turtle. ... modifier la couleur du trait (exemple : color('green').



Recueil dExercices Corrigés Python

Turtle nécessite l'installation de tk-inker : apt install python-tk ou apt En argot Internet un troll est un message (par exemple sur un forum)



Quelques exemples de récursivité avec Géotortue et Python

turtle signifie tortue. C'est un module ou un mode



Exemples dactivités turtle

Stage Python. Exemples d'activités turtle. 03/03/2020. -Exercice 1 : Prendre en main le programme suivant. import turtle def dessine(xy



[PDF] À la découverte de turtle - Zeste de Savoir

20 mar 2019 · Des bases en Python que vous pouvez acquérir avec ce tutoriel par exemple sont nécessaires pour être à l'aise Ce module peut être utilisé de 



(PDF) Le module turtle en Python - Yassine Ben Salah

Formation Python Module turtle Formateur Yassine Ben Salah Le graphique avec Python Module turtle Le module turtle de python permet de réaliser des figures 



[PDF] Cours - 8 - Turtle sur Pythonpdf

Exemple : Dessiner un carré de côté 90 from turtle import * import turtle as tortue for i in range(4) : # pour i variant de 0 à 3 tortue forward (60)



[PDF] Python 3 – Turtle graphics

Turtle example ? Using the Python interpreter in IDLE to demonstrate how to use Turtle graphics ? First import the turtle package >>> import turtle



[PDF] 1 Dessiner avec le module turtle

Le document ResumeTurtle pdf rassemble les principales d'un modèle de croissance des plantes appelé L-système qui a été inventé par un biologiste 



[PDF] Python et turtle

En s'aidant du Memento relire les instructions une par une et les relier à chaque étape de construction from turtle import * from math import * up() goto(200 



[PDF] Aide Mémoire Turtle - limsi

Aide Mémoire Turtle "arrow" "turtle" "circle" Turtle utilise les noms des couleurs de Tk dont voici https://perso limsi fr/pointal/python:turtle



[PDF] Cours n°4 Programmation avec Python - Laboratoire I3S

Et en particulier en Python 3 avec le module turtle from turtle import * Exemple : dessin d'un triangle rectangle de côtés a et b def tri_rect(ab) :



[PDF] Programmation I II Initiation `a Turtle sous Python

Exercice II 5 (Fonction) Nous allons voir sur un exemple comment définir et utiliser des fonctions en Python Créez un fichier contenant le programme



Cours de programmation avec python et le module turtle

avec python et le module turtle téléchargez ce cours sous format PDF gratuit Pour cela vous prendrez une longueur de base par exemple (taille=30)

  • Comment dessiner avec Turtle ?

    Pour tracer des des figures avec turtle, il faut se déplacer. pour cela il faut utiliser les commandes forward et backward : La commande forward permet d'avancer, par exemple forward(120) permet d'avancer de 120 pixels. La commande backward permet de reculer, par exemple backward(50) permet de reculer de 50 pixels.
  • Comment remplir une forme sur Python Turtle ?

    Il est possible de remplir une forme d'une couleur. Avec la commande fillcolor('green') tu peux choisir une couleur de remplissage.
  • Comment avoir Turtle sur Python ?

    Après un import turtle , exécutez la commande turtle. forward(15) et la tortue se déplace (sur l'écran) de 15 pixels en face d'elle, en dessinant une ligne. La tortue permet de dessiner des formes complexes en utilisant un programme qui répète des actions élémentaires.
  • Dessiner un cœur à l'aide de graphiques de turtle

    1Importer une turtle.2Créer un objet turtle.3Définir une méthode pour dessiner une courbe avec de simples mouvements vers l'avant et vers la gauche.4Définissez une méthode pour dessiner le cœur entier et y remplir la couleur rouge.

Informatique

TP5 : Interface graphiques et tracés de fractales

CPP 1A

Djamel Aouane, Frederic Devernay, Matthieu Moy

Mars - avril 2015

Ce TP est dédié à la construction de courbes fractales. La notion derécursivitépeut être illustrée

géométriquement par desfractales. Ce TP débute par une présentation de fonctions graphiques de

Python. Il vous est ensuite demandé de construire un certain nombre de courbes "fractales".

1 Le moduleturtlede Python

Nous allons utiliser l"outilturtleafin de réaliser ce TP. La fenêtre graphique Turtle de Python

est assimilable à un ensemble de points d"un plan. Chaque point est désigné par deux coordonnées

entières sur le plan. L"origine (coordonnées(0,0)) est située au centre de la fenêtre. La taille de la

fenêtre par défaut est de(400,300).

1.1 Les fonctions graphiques de base

Le principe deturtleest simple : la tortue est le triangle affiché au milieu de l"écran. On peut

faire avancer, reculer, et tourner la tortue. Par défaut, la tortue trace un trait derrière elle quand elle

se déplace. Exercice 1Entrez ceci dans l"interprète Python : >>> from turtle import * >>> forward(100) >>> right(120) >>> forward(100) >>> right(120) >>> forward(100)

Vous devriez voir apparaître un triangle.

La première ligne dit à Python que l"on va utiliserturtle. Les suivantes sont des instructions

qu"on donne à la tortue. Bien sûr, on peut combiner ces instructions avec les constructions Python

classiques. Par exemple, dessiner un triangle comme ci-dessus est aussi simple que :

1fromt urtlei mport*

2

3fori i nr ange(3):

4 forward(100)

5 right(120)

6

7mainloop()

1

Figure1 - Fonctionnement detrace_polygone

(La lignemainloop()permet d"éviter que la fenêtre se ferme toute seule à la fin du programme)

Plus précisément, le TP nécessite l"utilisation des fonctions suivantes : -forward(longueur): fait avancer la tortue delongueurpixels. -left(angle),right(angle): fait tourner la tortue sur elle même deangle, en degrés. -penup(): permet de lever le crayon en vue de déplacement sans tracer. -pendown(): pose le crayon, le prochainforward()tracera un trait. -goto(x, y)ougoto([x, y]): sert à déplacer le curseur vers un point dont on précise les coordonnées. Remarque :Pour des informations complémentaires sur le graphisme en Python (il existe d"autres fonctions), vous pouvez consulter le manuel (voir la pagehttps://docs.python.org/3.4/library/ turtle.html).

1.2 Tracé de quelques figures simples

Exercice 2 (Tracé d"un carré)Modifiez le programme de tracé de triangle ci-dessus pour tracer un

carré (il est conseillé de l"écrire dans un fichier, mais ce fichier nedoit pass"appelerturtle.py).

Exercice 3 (Tracé d"un carré avec une fonction)Modifiez le programme de tracer de carré pour

"emballer" le code dans une fonction. La longueur du côté est un paramètre de la fonction :

1deft race_carre(longueur):

2 #à v ousd ec ompléter

Appelez cette fonction plusieurs fois avec plusieurs paramètres différents.

Exercice 4Pour généraliser l"exercice précédent, écrire une fonctiontrace_polygone(longueur,

nb_cotes)qui trace un polygone ànb_cotescôtés. La figure 1 montre les étapes du tracé d"un triangle, d"un carré et d"un hexagone.

Exercice 5 (Tracé d"une étoile)Écrire un programme Python dessinant une étoile à 6 branches,

comme ceci :2

Indice : pour tracer une branche de l"étoile, il faut deux segments donc deux appels àforward()(avec

un appel àright()pour former le sommet de l"étoile). Avec une boucle, on évite de dessiner les 6

branches à la main. Exercice 6Que fait le programme suivant? Essayez de deviner avant d"exécuter le programme.

1fromt urtlei mport*

2

3fori i nr ange(360):

4 forward(1)

5 right(1)

6

7mainloop()

Exercice 7Que fait le programme suivant? Essayez de deviner avant d"exécuter le programme.

1fromt urtlei mport*

2

3fori i nr ange(5):

4 forward(200)

5 right(360* 2 /5)

6

7mainloop()

2 Une première courbe fractale : le flocon de von Koch

2.1 Les fractales

Une fractale est une sorte de courbe mathématique un peu complexe extrêmement riche en détails,

et qui possède une propriété intéressante visuellement : lorsque l"on regarde des détails de petite taille,

on retrouve des formes correspondant aux détails de plus grande taille (auto-similarité).

2.2 Le flocon de von Koch

La première courbe à tracer a été imaginée par le mathématicien suédois Niels Fabian Helge von

Koch, afin de montrer que l"on pouvait tracer des courbes continues en tout point, mais dérivables en

aucun. Le principe est simple : on divise un segment initial en trois morceaux, et on construit un triangle

équilatéral sans base au-dessus du morceau central. On réitère le processusnfois,nétant appelé

l"ordre. Dans la figure suivante on voit les ordres 0, 1, 2 et 3 de cette fractale.Si on trace trois fois cette figure, on obtient successivement un triangle, une étoile, puis un flocon

de plus en plus complexe :3 Figure2 - Le Chou Romanesco : exemple classique de fractale naturelle Le dessin de la fractale à l"ordre 0 est trivial, il suffit d"appelerforward()une fois. À l"ordre 1, on va appeler quatre foisforward(), en appelantleft()etright()pour changer la direction de la tortue entre chaque segments.

À l"ordren≥1, on va appliquer le même principe qu"à l"ordre 1, mais en remplaçant les appels à

forward()par des dessins de segments à l"ordren-1. Une fractale ressemblant au flocon de Koch existe chez votre marchand de légumes : le Chou Ro-

manesco (figure 2) est constitué de plusieurs pointes, chacune constituée de plusieurs pointes, chacune

constituée de plusieurs pointes ... jusqu"à l"ordre 5 ou 6! Exercice 8 (Koch à l"ordre 1)Écrivez une fonctionkoch_1(longueur)qui dessine un segment de Koch à l"ordre 1, de la longueur spécifiée. Les sous-segments de la figure sont de longueur longueur3 et les angles sont de 60 ou 120 degrés. Appelez cette fonction depuis votre programme pour vérifier son fonctionnement.

Exercice 9 (Début de généralisation : ordre 0 ou 1)Modifiez votre fonction pour lui faire prendre

en paramètre l"ordre de la fractale. La fonction est maintenantkoch(n, longueur), ounest l"ordre. Modifiez le corps de la fonction pour qu"elle gère correctement les casn= 0etn= 1(le casn≥1 viendra plus tard). Le code va ressembler à :

1ifn = =0 :

2 #C asn = =0 ( triviale nu tilisantf orward()).

3else:

4 #c asn = =1 ,c ommec i-dessus.

Vérifiez que la fonction marche correctement pour ces deux valeurs.

Étonnement, il n"y a presque rien à changer pour généraliser notre fonction à une valeur quelconque

den. Pour l"instant, le casn= 1appelle 4 fois la fonctionforward, qui correspond au casn= 0.

Nous avons vu que la fractale à l"ordrendevait utiliser la fractale à l"ordren-1(c"est le cas puisque

0 = 1-1). En remplaçant les appels àforwardpar des appels àkoch(n - 1, ...), on ne changera

pas le comportement de notre fonctionkochà l"ordre 1, mais on lui permettra de gérer correctement

les ordresn≥2.

Exercice 10 (Koch à l"ordren)Modifiez la fonction Koch comme expliqué ci-dessus pour gérer les

ordresn≥2. Testez votre fonction avec différentes valeurs den(en pratique, on ne voit plus grand

chose avec un ordre supérieur à 5 ou 6). Une manière de tester est d"utiliser le morceau de code suivant : 4

1fori i nr ange(10):

2 penup()

3 goto(0,7 0* i )

4 pendown()

5 koch(i,3 00)

L"exécution peut être assez lente. Deux astuces pour l"accélérer : App elerspeed(0)avant de dessiner : ceci va régler la vitesse de la tortue au maximum. App elerhideturtle()avant de dessiner, etshowturtle()après. Le triangle représentant la tortue ne sera pas redessiné à chaque étape, on gagne beaucoup de temps.

3 Arbre fractal

On peut appliquer le même principe pour construire d"autre fractales visuellement différentes, mais

construites sur le même principe. Par exemple, pour construire un arbre, on part d"un segment, et on applique la transformation

suivante à chaque segment de la construction (on refait la transformationnfois pour obtenir un arbre

d"ordren) :Les portions dessinées en pointillées sont celles sur lesquelles on va appliquer la transformation à

l"ordre suivant (on les appellera les segments non-terminaux). Les portions dessinées en trait plein

sont des segments qui ne seront pas transformés (on les appellera les segments terminaux). Plus précisément, la transformation à appliquer est la suivante :l l

32l32l3θθ

Pour transformer un segment non-terminal de longueurl, on trace un segment terminal de longueur l3 , puis deux segments non-terminaux de longueur2l3 à un angleθdu premier segment. On peut choisir

θ= 30degrés par exemple.

Exercice 11 (Arbre fractal)Suivez la même démarche que pour le flocon de Koch pour écrire une

fonctionarbre(n, longueur)qui trace l"arbre, et repositionne la tortue à son point de départ.

Dans un pr emiertemps, gér erl"or dre0 (trivial) et 1 (à b asede forward()et sans appel récursif),

et tester votre fonction. Vérifiez en particulier que la tortue est bien revenue à son point de départ

à la fin de l"exécution de la fonction dans les deux cas (n= 0etn= 1). 5

-Pour chaque tr acéde se gmentnon-terminal, r emplacezl"app elà forward()par un appel récursif

àarbre(), et vérifiez le comportement de votre fonction à différents ordres. Cette fois-ci, une

profondeur 10 ou 11 donne un résultat assez joli.

Si on veut un dessin plus joli, on peut jouer sur l"épaisseur des traits et les couleurs. Par exemple,

si on choisit comme épaisseur de trait la valeur denpour les valeurs dennon-nulles, et qu"on colorie

en rouge les segments tracés pourn == 0, on obtient la figure 3.(a)arbre(1, 300)(b)arbre(2, 300)(c)arbre(11, 300)

Figure3 - Copie d"écran du résultat de l"exéction dearbre()pour différentes valeurs den Exercice 12 (Question subsidiaire ...)Combien feuilles a un arbre à l"ordren? Combien de seg- ments élémentaires a un segment de Koch à l"ordren? Pour ceux qui n"en ont jamais assez : sur le même principe, on peut dessiner la courbe du dragon, ou la courbe de Hilbert (qui permet de montrer queRetR2ont le même cardinal). Wikipedia est votre ami;-). 6

4 Solution des exercices

Exercices 2, 3 et 4 : tracer un carré :

1fromt urtlei mport*

2

3fori i nr ange(4):

4 forward(100)

5 right(90)

6

7deft race_carre(longueur):

8 fori i nr ange(4):

9 forward(longueur)

10 right(90)

11

12deft race_polygone(longueur, n b_cote):

13 fori i nr ange(nb_cote):

14 forward(longueur)

15 right(360/ n b_cote)

Exercice 5 : étoile à 6 branches

1fromt urtlei mport*

2

3fori i nr ange(6):

4 forward(100)

5 right(120)

6 forward(100)

7 left(60)

8

9mainloop()

Exercice 6 : le code trace un polygone régulier à 360 côtés. Visuellement, c"est un cercle.

Exercice 7 : c"est une étoile à 5 branches.

Exercice 8 : Koch à l"ordre 1

1defk och_1(longueur):

2 forward(longueur/3)

3 left(60)

4 forward(longueur/3)

5 right(120)

6 forward(longueur/3)

7 left(60)

8 forward(longueur/3)

Exercice 10 : Koch à l"ordren

1fromt urtlei mport*

2

3speed(0)# P oura ccélérerl at ortue

4

5defk och(n,l ongueur):

6 ifn = =0 :

7 forward(longueur)

8 else:

9 koch(n- 1 ,l ongueur/3)

10 left(60)

11 koch(n- 1 ,l ongueur/3)

12 right(120)

13 koch(n- 1 ,l ongueur/3)

14 left(60)

7

15 koch(n- 1 ,l ongueur/3)

16

17fori i nr ange(10):

18 penup()

19 goto(0,7 0* i )

20 pendown()

21 koch(i,3 00)

22

23#P ourq uel af enêtren es ef ermep ast outd es uite

24mainloop()

Exercice 11 : Arbre fractal

1fromt urtlei mport*

2

3speed(0)

4

5angle=30

6

7defa rbre(n,l ongueur):

8 ifn = =0 :

9 color("red")

10 forward(longueur)

11 backward(longueur)

12 color("black")

13 else:

14 width(n)

15 forward(longueur/ 3 )

16 left(angle)

17 arbre(n- 1 ,l ongueur/ 3 * 2 )

18 right(2*angle)

19 arbre(n- 1 ,l ongueur/ 3 * 2 )

20 left(angle)

21 backward(longueur/ 3 )

22

23left(90)

24hideturtle()

25arbre(11,5 00)

26showturtle()

27

28mainloop()

Exercice 12 :2nfeuilles pour l"arbre,4nsegents pour Koch. Ça croît vite (2048 feuilles pour notre

arbre àn= 11, 4096 côté pour Koch à l"ordre 6)! 8quotesdbs_dbs8.pdfusesText_14
[PDF] mot dela meme famille que blanc

[PDF] mot dela meme famille de saut

[PDF] mot dela meme famille que connaitre

[PDF] famille du mot journal

[PDF] liste de mots de la même famille ce1

[PDF] liste de mots de la même famille que mer

[PDF] mot de la meme famille que porter

[PDF] mot de la meme famille que mer

[PDF] les réactions endothermiques et exothermiques

[PDF] les mots dela meme famille de blanc

[PDF] mot de la famille de gout

[PDF] mot dela meme famille que saut

[PDF] trois mots dela meme famille que ecole

[PDF] mot dela meme famille que lever

[PDF] liste de mots cm2 eduscol