onizuka_7cnjnym8jnahc2pu_333.py

49,00 

Proposer une plateforme interactive de visualisation de concepts mathématiques complexes (fractales, chaos, automates).

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_7cnjnym8jnahc2pu_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Proposer une plateforme interactive de visualisation de concepts mathématiques complexes (fractales, chaos, automates).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script regroupe plusieurs simulations mathématiques et physiques classiques au sein d’une interface en ligne de commande. Il permet de générer des animations et des graphiques statiques pour explorer visuellement des phénomènes tels que l’auto-organisation, la géométrie fractale et les systèmes dynamiques chaotiques.

📌 Problème résolu

Il offre un outil pédagogique et exploratoire clé en main pour visualiser des concepts abstraits qui sont difficilement compréhensibles sans une représentation graphique dynamique (ex: l’attracteur de Lorenz ou le mouvement d’un pendule double).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Windows / Linux / MacOS

Mode d’exécution CLI (Interactif) / Module

📦 Dépendances / Librairies

Librairies externes (pip install) :

numpy : Calculs matriciels et gestion des données numériques.

matplotlib : Moteur de rendu graphique et animations.

scipy : Résolution d’équations différentielles (solve_ivp).

📥 ENTRÉES (INPUTS)

Le script utilise principalement des entrées utilisateur via la console (input()).

# Nom Type Obligatoire Description

1 choix int ✅ Oui Sélection du type de simulation (0-5).

2 taille int ❌ Non Taille de la grille pour le Jeu de la Vie (défaut: 50).

3 iterations int ❌ Non Nombre de cycles/étapes de calcul.

4 resolution int ❌ Non Précision du rendu (Mandelbrot).

📤 SORTIES (OUTPUTS)

Visuelles : Fenêtres interactives Matplotlib (graphiques 2D, 3D et animations).

Console : Menus textuels et messages d’état/erreur.

🧱 STRUCTURE DU SCRIPT

Plaintext

onizuka_…_333.py

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

├── 📌 CLASSE SimulationsMathematiques

│ ├── __init__()

│ ├── automate_cellulaire_jeu_vie() → Logique de Conway

│ ├── fractale_mandelbrot() → Plan complexe & divergence

│ ├── fractale_koch() → Récursion géométrique

│ ├── systeme_dynamique_lorenz() → EDO & Attracteur 3D

│ ├── systeme_dynamique_pendule_double() → Physique chaotique

│ └── menu_interactif() → Gestionnaire utilisateur

└── 📌 MAIN (Point d’entrée)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

automate_cellulaire_jeu_vie taille, iterations FuncAnimation Gère la grille binaire et les règles de voisinage.

fractale_mandelbrot resolution, max_iter None Calcule la vitesse de divergence dans le plan complexe.

systeme_dynamique_lorenz sigma, rho, beta None Résout les équations de Lorenz en 3D.

systeme_dynamique_pendule_double L1, L2, m1, m2, etc. FuncAnimation Modélise la physique et anime la trajectoire.

🔄 LOGIQUE / ALGORITHME

Affichage du Menu : L’utilisateur choisit une simulation.

Saisie des paramètres : Valeurs par défaut proposées si l’utilisateur appuie sur « Entrée ».

Calcul Mathématique :

Discret (Jeu de la vie) : Itération sur une matrice NumPy.

Continu (Pendule/Lorenz) : Résolution d’équations différentielles via l’algorithme Runge-Kutta 45 (RK45).

Rendu : Utilisation de FuncAnimation pour les systèmes temporels ou imshow/plot pour les fractales.

🚨 GESTION DES ERREURS

Entrée non numérique : Bloc try/except ValueError pour empêcher le crash lors de la saisie au menu.

Erreurs de calcul : Z[diverge] = 2 dans Mandelbrot pour éviter les erreurs d’overflow (divergence trop rapide).

Exceptions génériques : Capturées et affichées en fin de boucle principale pour permettre de relancer une simulation.

✅ CONTRAINTES & RÈGLES MÉTIER

Voisinage de Moore : Pour le Jeu de la Vie, les 8 voisins sont comptés avec gestion des bords par modulo (grille torique).

Conservation d’énergie : Pour le pendule double, l’utilisation de rtol=1e-6 assure une précision suffisante pour limiter la dérive numérique.

Récursion : La courbe de Koch utilise une structure récursive profonde limitée par le paramètre order.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_7cnjnym8jnahc2pu_333.py

📋 Exemple de sortie attendue (Console)

Plaintext

==================================================

SIMULATIONS MATHÉMATIQUES EN PYTHON

==================================================

Choisissez un thème :

1. Automates cellulaires – Jeu de la vie de Conway

2. Fractales – Ensemble de Mandelbrot

Votre choix (0-5) : 4

[Une fenêtre 3D s’ouvre avec l’attracteur de Lorenz]

Avis

Il n’y a pas encore d’avis.

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

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