PROJET
PROJET
PROJET
➢ INTRODUCTION
➢ ALGORITHME
➢ ORGANIGRAMME
➢ CODAGE PYTHON
➢ CONCLUSION
I. INTODUCTION
Le monde des sciences aujourd’hui s’épanouit le plus dans le domaine numérique et en
partie en informatique .la maitrise de logiciels et de langage est un atout en science de
l’ingénieur. Nous avons étudié la programmation orientée objet et à base de lui, on résout
des problèmes. Dans notre thème, nous verrons la simulation d’un pendule simple avec
variation de la position initiale avec le langage python.
II. PRESENTATION DU SYSTEME ET RESOLUTION
Le pendule simple est représenté par une masse ponctuelle (la boule du pendule) reliée à
un axe immobile par une tige rigide et sans masse. Le pendule simple est un système idéal.
Ainsi, on néglige les effets de frottement et on considère le champ gravitationnel comme
uniforme. La figure1 ci-dessous montre un schéma du système ainsi qu’un bilan des forces
agissant sur la masse. Les deux forces agissant sur la boule sont son poids P et la tension T
due à la tige. La figure 2 montre un schéma des différentes grandeurs caractérisant le
pendule. La coordonnée naturelle pour définir la position du pendule est l’angle Ө. Nous
choisissons de fixer Ө = 0 lorsque le pendule est à sa position d’équilibre. Il s’agit de la
position où la boule est au plus bas. Nous choisissons par ailleurs de considérer Ө positif
lorsque le pendule se balance à droite, et négatif de l’autre côté. g décrit l’accélération due à
la gravité, avec P=mg.
𝑑2 Ө 𝑔
𝑑𝑡 2 + 𝐿
sinӨ =0.
Dans la section suivante nous allons résoudre numériquement cette équation différentielle
Résolution de l’Equation Différentielle :
Pour la résolution numérique semi-implicite d’Euler.
En effet elle consiste d’abord par calculer l’accélération angulaire 𝑎Ө au temps t en utilisant
l’équation différentielle précédemment établie :
2
𝑑 Ө 𝑔
𝑎Ө (𝑡) = 2 (𝑡) = −
𝐿
SinӨ(𝑡)
𝑑𝑡
L’astuce sera de calculer ensuite la vitesse angulaire au pas suivant t +𝛿𝑡 grâce à la relation :
𝑑Ө
𝑣Ө ( t +𝛿𝑡) = ( t +𝛿𝑡) ≈ 𝑣Ө (𝑡)+ 𝑎Ө (𝑡) × 𝛿𝑡
𝑑𝑡
III. ALGOTITHME
Dans cette partie nous élaborons un algorithme permettant notre simulation, l’algorithme se
subdivise en 2 parties : construction de la classe principale lancement du gestionnaire
d’événement.
Construction de la classe principale :
IV. ORGANIGRAMME
De l’algorithme précédent on peut déduire l’organigramme qui n’est que la
représentation schématique de celui-ci :
Début
Conditionnement du démarrage de
l’animation
Fin
V. CODAGE EN PYTHON
Il est maintenant tant de passer à la programmation en langage python. Pour notre part,
nous utiliserons le logiciel spyder du logiciel mère Anaconda :
Le programme se présente comme suit en fonction de l’organigramme précédent
PROGRAMME
Construction de classe principales et initialisation des données, création du Canvas :
Méthodes de renvoi de la chaine avec la position et la chaine et méthodes de
transformations des coordonnées réelles dans le Canvas :
Mise à jour de la position de la balle si la réglette est touchée :
Déplacement de la baballe et mise à jour des coordonnées, auto rappel après 20ms :
Conditionnement de l’animation et programme principale :
RESULTATS ATTENDUS :
Le résultat au premier lancement nous donne :
ici nous voyons les paramètres bien affichés ,la position initiales du pendule ,ainsi que la
réglette fixant la valeur de thêta .si nous appuyons sur le bouton démarrer ,après plusieurs
cycle on observe la trajectoire du pendule vu sur le schéma si dessous :
Nous voyons bien les valeurs de thêta et l’accélération qui varie suivant le mouvement .si
nous mettons la réglette a une valeur inférieure à celle que nous voyons on aura une
trajectoire plus réduite, en témoigne l’image suivant :
VI. CONCLUSION
Eu égard à tout ce qui a été abordé durant ce document, on peut que le langage
python est un outil essentiel aidant à la résolution des problèmes physique et mécanique. Le
cas d’un pendule avec frottement serait intéressant à étudier pour d’autres projet à venir.