onizuka_7fmlqo9mp5lmbvec_333.py

49,00 

Simulation et visualisation interactive de trois concepts mathématiques majeurs : les automates cellulaires, les fractales et les systèmes dynamiques chaotiques.

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

🔷 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.

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

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