onizuka_8fvurfsumolo5545_333.py

49,00 

Simuler et animer en 3D l’attracteur de Lorenz pour illustrer la sensibilité aux conditions initiales (effet papillon).

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_8fvurfsumolo5545_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler et animer en 3D l’attracteur de Lorenz pour illustrer la sensibilité aux conditions initiales (effet papillon).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script résout numériquement les équations différentielles du système de Lorenz. Il calcule simultanément deux trajectoires partant de points extrêmement proches pour démontrer visuellement comment elles divergent rapidement dans un espace 3D, le tout présenté via une animation rotative fluide.

📌 Problème résolu

Ce script adresse le besoin de visualisation pédagogique du chaos déterministe. Il permet de voir concrètement pourquoi les prévisions à long terme sont impossibles dans certains systèmes dynamiques, même si les règles de base sont simples.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+ (recommandé)

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script interactif (GUI requis pour Matplotlib)

📦 Dépendances / Librairies

numpy : Calcul numérique (tableaux et linspace).

matplotlib : Moteur graphique pour le rendu 3D et l’animation.

scipy : Utilisation de odeint pour l’intégration des équations différentielles.

📥 ENTRÉES (INPUTS)

📂 Paramètres codés en dur (Variables de configuration)

# Nom Type Description Valeur

1 sigma float Nombre de Prandtl 10.0

2 rho float Nombre de Rayleigh 28.0

3 beta float Paramètre de forme 8/3

4 initial_state1 list Coordonnées [x, y, z] de départ A [1.0, 1.0, 1.0]

5 initial_state2 list Coordonnées [x, y, z] de départ B [1.0, 1.0, 1.001]

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Format Description

Interface Graphique Fenêtre Matplotlib Animation 3D en temps réel des trajectoires cyan et magenta.

🧱 STRUCTURE DU SCRIPT

onizuka_lorenz.py

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

├── 📌 CONSTANTES (Paramètres physiques σ,ρ,β)

├── 📌 FONCTIONS

│ └── lorenz_system() → Définit les dérivées du système chaotique.

├── 📌 RÉSOLUTION (odeint)

└── 📌 ANIMATION

├── animate(i) → Met à jour les lignes et la rotation caméra.

└── FuncAnimation → Boucle de rendu.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

lorenz_system(state, t, s, r, b) state: list, t: float, s/r/b: float list Calcule dx/dt, dy/dt, dzdt.

animate(i) i: int (index de frame) tuple Met à jour les positions des points et fait pivoter la vue de 0.5° par frame.

🔄 LOGIQUE / ALGORITHME

[Image de l’attracteur de Lorenz]

Initialisation : Définition des constantes physiques et du vecteur temps (4000 points sur 40s).

Calcul Différentiel :

dtdx​=σ(y−x)

dtdy​=x(ρ−z)−y

dtdz​=xy−βz

Intégration : Résolution via odeint pour les deux états initiaux.

Rendu : Création d’une figure 3D sur fond noir et lancement de l’animation frame par frame.

🚨 GESTION DES ERREURS

Backend Matplotlib : Si aucun environnement graphique n’est détecté (ex: serveur SSH sans X11), le script plantera à l’appel de plt.show().

Dépendances : Absence de scipy ou matplotlib (erreur ImportError).

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La divergence entre les deux trajectoires doit être visible (ici, différence de 0.1% sur l’axe Z).

Règle 2 : L’animation doit être fluide (intervalle de 10ms entre les frames).

Règle 3 : Le rendu visuel doit être esthétique (fond noir, couleurs contrastées).

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_8fvurfsumolo5545_333.py

📋 Sortie visuelle attendue

Une fenêtre s’ouvre montrant deux spirales (forme « papillon ») qui se superposent au début, puis se séparent totalement après quelques secondes d’animation, illustrant le chaos.

🗂️ HISTORIQUE DES VERSIONS

Version Date Modification Auteur

1.0.0 25/03/2026 Création initiale : intégration ODE + Animation 3D IA

Avis

Il n’y a pas encore d’avis.

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

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