🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_7fmlqo9mp5lmbvec_333.py
Version 1.0.0
Date de création 25/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simulation et visualisation interactive de trois concepts mathématiques majeurs : les automates cellulaires, les fractales et les systèmes dynamiques chaotiques.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script regroupe trois modules indépendants permettant de simuler des phénomènes complexes : l’évolution d’une population (Jeu de la vie), la génération d’une structure fractale infinie (Mandelbrot) et la modélisation d’un système météorologique simplifié présentant un comportement chaotique (Attracteur de Lorenz).
📌 Problème résolu
Il sert d’outil pédagogique et algorithmique pour illustrer comment des règles simples ou des équations déterministes peuvent engendrer une complexité émergente ou une sensibilité extrême aux conditions initiales (« l’effet papillon »).
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.8+
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Interactif (Matplotlib)
📦 Dépendances / Librairies
Librairies standard :
warnings : Gestion des alertes d’exécution.
Librairies externes :
numpy : Calcul matriciel haute performance.
matplotlib : Génération des graphiques et animations.
scipy : Résolution numérique des équations différentielles (solve_ivp).
📥 ENTRÉES (INPUTS)
📂 Paramètres de configuration (Classes)
# Nom Type Obligatoire Description Exemple
1 taille int ❌ Non Dimension de la grille du Jeu de la vie 100
2 max_iter int ❌ Non Précision du calcul de Mandelbrot 200
3 sigma, rho, beta float ❌ Non Paramètres physiques de Lorenz 10.0, 28.0, 2.66
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Chemin / Format Description
Animation Fenêtre interactive Évolution en temps réel de l’automate cellulaire.
Graphique 2D Image Matplotlib Visualisation colorée de l’ensemble de Mandelbrot.
Graphique 3D Image Matplotlib Trajectoire de l’attracteur de Lorenz dans l’espace des phases.
🧱 STRUCTURE DU SCRIPT
onizuka_7fmlqo9mp5lmbvec_333.py
📌 IMPORTS : Numpy, Matplotlib, Scipy.
📌 CLASSE JeuDeLaVie : Logique de l’automate cellulaire de Conway.
📌 CLASSE EnsembleMandelbrot : Calcul et zoom sur la fractale complexe.
📌 CLASSE AttracteurLorenz : Résolution d’EDO et analyse de sensibilité.
📌 MAIN : Orchestration des démonstrations.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
evoluer() Aucun np.ndarray Applique les règles de Conway à la grille.
calculer_ensemble() max_iter np.ndarray Calcule la matrice de divergence de Mandelbrot.
simuler() t_max, ci np.ndarray Résout les équations différentielles de Lorenz.
main() Aucun None Exécute la démo complète.
🔄 LOGIQUE / ALGORITHME
Jeu de la Vie : Parcours de grille + Voisinage de Moore (8 voisins) avec conditions aux limites périodiques (Tore).
Mandelbrot : Itération de zn+1=zn2+c sur un plan complexe ; vectorisation via Numpy pour la performance.
Lorenz : Intégration numérique via la méthode de Runge-Kutta d’ordre 4-5 (RK45).
🚨 GESTION DES ERREURS
Filtre warnings : Ignore les erreurs de division ou d’overflow durant les calculs de divergence pour éviter de polluer la console.
Stabilité numérique : Utilisation de rtol et atol dans solve_ivp pour garantir la précision des trajectoires chaotiques.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : Les calculs fractals sont gourmands en mémoire ; la résolution par défaut est limitée à 800×600.
Règle 2 : L’animation du Jeu de la vie est bloquante si lancée en dehors d’un thread séparé (comportement standard de plt.show()).
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Convergence Mandelbrot max_iter=10 Image grossière mais rapide ✅
2 Effet Papillon Perturbation 1e-8 Trajectoires divergent après T=15 ✅
3 Grille vide probabilité=0 Stase complète (mort) ✅
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python onizuka_7fmlqo9mp5lmbvec_333.py
💻 Exemple d’appel en tant que module
Python
from onizuka_7fmlqo9mp5lmbvec_333 import AttracteurLorenz
# Simuler et voir l’effet papillon
lorenz = AttracteurLorenz()
lorenz.analyse_sensibilite(perturbation=0.0001, t_max=20)



Avis
Il n’y a pas encore d’avis.