Académique Documents
Professionnel Documents
Culture Documents
Classe de PT
Rendez le DL sous forme d’un (ou deux) fichier .py, qui commence par votre nom (sans accents) suivi de
« _ » (tiret du 8, appelé underscore en anglais).
1 i m p o r t numpy a s np
2 import m a t p l o t l i b . p y p l o t as p l t
On stocke en début de fichier(les variables qu’on modifiera, selon les fonctions à tracer.
x(t) = (q + 1) cos t − cos((q + 1)t)
Ici, on trace une épicycloïde pour q = 9/4.
y(t) = (q + 1) sin t − sin((q + 1)t)
Le reste du programme n’a aucune raison de changer selon la fonction à tracer.
1
DL 2
2
DL 2
N’hésitez pas à mettre de l’informatique dans vos TIPE. Et à me consulter pour toute question liée à
l’informatique.
3
DL 2
Exemple :
1 def t r i a n g l e _ i s o ( base , h a u t e ur , m i l i e u _ b a s e ):
2 ... #retourne les points d’un triangle isocèle à plat.
3 r e t u r n ( x , y ) #liste des abscisses, puis liste des ordonnées
4
5 def r e c t a n g l e ( h o r i z o n t a l , v e r t i c a l , m i l i e u _ b a s e ):
6 x_b , y_b = m i l i e u _ b a s e
7 A = [ x_b - h o r i z o n t a l /2. , y_b ]
8 B = [ x_b + h o r i z o n t a l /2. , y_b ]
9 C = [ x_b + h o r i z o n t a l /2. , y_b + v e r t i c a l ]
10 D = [ x_b - h o r i z o n t a l /2. , y_b + v e r t i c a l ]
11 x , y = zip (*[A, B, C, D]) #Explication en bas.
12 r e t u r n (x , y)
13
14 def t r o n c ( r a c i n e , t a i l l e ):
15 h a u t _ t r o n c = t a i l l e /4
16 l a r g _ t r o n c = t a i l l e /6
17 x_tab , y _ t a b = r e c t a n g l e ( l a r g _ t r o n c , h a u t _ t r o n c , r a c i n e )
18 p l t . f i l l ( x_tab , y_tab , c o l o r = ’ b u r l y w o o d ’ )
19 return haut_tronc
20
21 def f e u i l l e s ( r a c i n e , t a i l l e ):
22 hauteur_feuilles = taille
23 x_tab , y _ t a b = t r i a n g l e _ i s o ( h a u t e u r _ f e u i l l e s /2 ,
hauteur_feuilles , racine)
24 p l t . f i l l ( x_tab , y_tab , c o l o r = ’ d a r k g r e e n ’ )
25 return h a u t e u r _ f e u i l l e s
26
27 def s a p i n ( r a c i n e , t a i l l e ):
28 r a c i n e = np . array ( r a c i n e )
29 haut_tronc = tronc ( racine , t a i l l e )
30 f e u i l l e s ( r a c i n e + [0 , h a u t _ t r o n c ] , t a i l l e )
31 r e t u r n None
32
33 ... #Comme pour l’exercice 1, initialisation de la figure
34
35 s a p i n ((0 ,0) , 10)
36 p l t . show ()
zip(*[(x1,y1), (x2,y2), (x3,y3)]) retourne ((x1,x2,x3),(y1,y2,y3)), ce qui est pratique pour pas-
ser de la notation habituelle (liste de points) à la notation matplotlib.