onizuka_jmf3g5na3u8ledt5_333.py

49,00 

Simuler et visualiser en temps réel des automates cellulaires 2D avec des règles et voisinages personnalisables.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_jmf3g5na3u8ledt5_333.py

Version 1.0.0

Date de création 27/03/2026

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

Objectif principal Simuler et visualiser en temps réel des automates cellulaires 2D avec des règles et voisinages personnalisables.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script propose une plateforme de simulation mathématique permettant d’observer l’évolution de populations de cellules sur une grille. Il implémente par défaut le Jeu de la Vie de Conway mais permet de modifier dynamiquement les règles de naissance, de survie et le type de voisinage (Moore ou Von Neumann) via une interface graphique interactive.

📌 Problème résolu

Il offre un outil pédagogique et de recherche pour explorer les systèmes complexes, l’émergence de motifs (gliders, canons) et les phénomènes d’auto-organisation à partir de règles locales simples.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS) avec support graphique

Mode d’exécution Interface Graphique (GUI) via Matplotlib

📦 Dépendances / Librairies

numpy : Calcul matriciel pour la grille et le comptage des voisins.

matplotlib : Moteur de rendu graphique, animation et widgets (boutons, radio-boutons).

📥 ENTRÉES (INPUTS)

📂 Fichiers / Sources de données en entrée

Initialisation aléatoire : Le script génère par défaut une grille basée sur une distribution de probabilité (85% mortes / 15% vivantes).

Motifs prédéfinis : Coordonnées hardcodées pour les structures célèbres (Gosper Glider Gun, Glider, Blinker).

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Visualisation Live : Rendu dynamique via imshow avec la colormap ‘plasma’.

Statistiques : Affichage en temps réel du nombre de cellules vivantes et de la densité de population sur l’interface.

🧱 STRUCTURE DU SCRIPT

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

CellularAutomaton2D size, neighborhood Instance Classe gérant la logique mathématique et la grille.

count_neighbors(i, j) i, j (int) int Calcule les voisins vivants selon le type de voisinage choisi.

update() Aucun None Applique les règles de transition sur toute la grille (une génération).

set_pattern(name) name (str) None Injecte un motif spécifique (ex: ‘glider’) dans la grille.

InteractiveAutomaton automaton Instance Classe gérant l’interface Matplotlib et l’animation.

_animate(frame) frame List Fonction de rafraîchissement appelée par FuncAnimation.

🔄 LOGIQUE / ALGORITHME

Initialisation : Création d’une matrice NumPy de taille N×N.

Cycle d’Évolution :

Pour chaque cellule (i,j), compter les voisins vivants.

Si vivante : Survit si le compte ∈S (Survival), sinon meurt.

Si morte : Naît si le compte ∈B (Birth).

Rendu : Mise à jour de l’image imshow et calcul des statistiques de densité.

🚨 GESTION DES ERREURS

Débordement de grille : La méthode _place_pattern vérifie les dimensions avant l’insertion pour éviter les erreurs d’indexation.

Interruption : Capture du KeyboardInterrupt pour une fermeture propre en console.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle B3/S23 : Configuration par défaut (Jeu de la Vie).

Voisinage de Moore : Analyse des 8 cellules adjacentes (incluant les diagonales).

Voisinage de Von Neumann : Analyse des 4 cellules adjacentes (haut, bas, gauche, droite).

🧪 TESTS ATTENDUS

Test de stabilité : Charger un ‘Blinker’ et vérifier l’oscillation entre deux états.

Test de mouvement : Charger un ‘Glider’ et vérifier sa translation diagonale.

Test de changement de règle : Passer en « Croissance explosive » et vérifier l’invasion de la grille.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_jmf3g5na3u8ledt5_333.py

Une fenêtre s’ouvre avec la grille à gauche et les contrôles (Play, Pause, Reset, Sélecteurs de motifs) à droite.

Avis

Il n’y a pas encore d’avis.

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

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