onizuka_6rjde19o44nix048_333.py

49,00 

Simuler et animer le mouvement chaotique d’un pendule double à l’aide d’équations différentielles.

UGS : onizuka_6rjde19o44nix048_333.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_6rjde19o44nix048_333.py

Version 1.0.0

Date de création 11/03/2026

Auteur / Demandeur IA Générée (Gemini)

Objectif principal Simuler et animer le mouvement chaotique d’un pendule double à l’aide d’équations différentielles.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script résout numériquement les équations du mouvement d’un système de pendule double (deux masses reliées par des tiges rigides). Il calcule les trajectoires angulaires en fonction du temps et génère une animation visuelle en temps réel montrant le balancement du système.

📌 Problème résolu

Il permet de modéliser un système physique non linéaire complexe (souvent cité pour son comportement chaotique) qui est difficile à résoudre analytiquement sans outils de calcul numérique.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Windows / Linux / MacOS

Mode d’exécution Script interactif (Interface graphique requise pour l’animation)

📦 Dépendances / Librairies

numpy : Calculs matriciels et fonctions trigonométriques.

matplotlib : Visualisation graphique et module animation.

scipy : Utilisation de solve_ivp pour l’intégration numérique des équations différentielles.

📥 ENTRÉES (INPUTS)

📂 Paramètres de simulation (Variables internes)

# Nom Type Obligatoire Description Exemple

1 L1, L2 float ✅ Oui Longueurs des deux tiges 1.0

2 m1, m2 float ✅ Oui Masses des deux poids 1.0

3 y0 list ✅ Oui Conditions initiales [θ1​,ω1​,θ2​,ω2​] [np.pi/2, 0, np.pi/2, 0]

📤 SORTIES (OUTPUTS)

📂 Données & Visualisation

# Nom Type Description

1 sol Odefy/Object Objet contenant les solutions t et y de l’intégration.

2 x1, y1, x2, y2 ndarray Coordonnées cartésiennes calculées pour l’affichage.

3 Animation Plot Fenêtre interactive Matplotlib affichant le mouvement.

🧱 STRUCTURE DU SCRIPT

onizuka_6rjde19o44nix048_333.py

├── 📌 IMPORTS (numpy, matplotlib, scipy)

├── 📌 FONCTIONS

│ └── pendule_double() → Calcule les dérivées des variables d’état (accélérations).

├── 📌 SIMULATION (Définition des paramètres et résolution via solve_ivp)

├── 📌 VISUALISATION (Conversion polaire vers cartésien)

└── 📌 ANIMATION (Initialisation de la figure et fonction animate)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

pendule_double(t, y, L1, L2, m1, m2, g) t, vecteur y, constantes physiques list Définit le système d’équations différentielles du premier ordre.

animate(i) Index de frame i tuple Met à jour les coordonnées de la ligne du pendule pour chaque image de l’animation.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Définition des conditions initiales (angles de départ à 90°) et des paramètres physiques.

ÉTAPE 2 → Intégration numérique par la méthode de Runge-Kutta (via solve_ivp) sur un intervalle de 20 secondes.

ÉTAPE 3 → Transformation des angles (θ1​,θ2​) en coordonnées x et y pour l’affichage à l’écran.

ÉTAPE 4 → Lancement de la boucle d’animation Matplotlib qui rafraîchit la position des tiges toutes les 20 ms.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Cas nominal y0 = [pi/2, 0, pi/2, 0] Le pendule oscille de manière fluide. ⬜ À tester

2 Équilibre stable y0 = [0, 0, 0, 0] Le pendule reste immobile à la verticale basse. ⬜ À tester

3 Équilibre instable y0 = [pi, 0, pi, 0] Le pendule tombe immédiatement (chaos). ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_6rjde19o44nix048_333.py

(Note : Assurez-vous d’avoir installé les dépendances via pip install numpy scipy matplotlib avant le lancement.)

📌 NOTES COMPLÉMENTAIRES

⚠️ Attention : Le script utilise plt.show() qui est bloquant. L’animation s’arrêtera si la fenêtre est fermée. Pour une utilisation plus propre, il serait préférable d’ajouter des « Type Hints » et de séparer la logique de simulation de la logique d’affichage.

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “onizuka_6rjde19o44nix048_333.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *