🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_232cvmn_232.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur Gemini (IA Générée)
Objectif principal Calculer et visualiser graphiquement l’ensemble fractal de Mandelbrot en utilisant la vectorisation NumPy.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script génère une image de l’ensemble de Mandelbrot. Il définit une grille de nombres complexes, itère la fonction quadratique zn+1=zn2+c pour chaque point, et détermine la vitesse à laquelle chaque point diverge vers l’infini. Le résultat est affiché sous forme de carte thermique colorée.
📌 Problème résolu
Il permet de visualiser des structures mathématiques complexes de manière efficace grâce à la vectorisation (traitement par blocs de données plutôt que par boucles for sur chaque pixel), ce qui optimise considérablement le temps de calcul en Python.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Script autonome
📦 Dépendances / Librairies
numpy : Pour les calculs matriciels et la gestion de la grille complexe.
matplotlib : Pour la génération du graphique et la visualisation de la fractale.
📥 ENTRÉES (INPUTS)
📂 Variables de configuration (Hardcodées)
# Nom Type Obligatoire Description Exemple
1 xmin, xmax float ✅ Oui Bornes de la partie réelle -2.0, 1.0
2 ymin, ymax float ✅ Oui Bornes de la partie imaginaire -1.5, 1.5
3 width, height int ✅ Oui Résolution de l’image en pixels 800, 600
4 max_iter int ✅ Oui Précision (limite d’itérations) 100
📤 SORTIES (OUTPUTS)
📂 Données en sortie
# Nom Type Description Exemple
1 iterations ndarray Matrice 2D contenant l’indice d’évasion de chaque point. [[0, 0, 12, …]]
📂 Rendu visuel
Type : Fenêtre interactive Matplotlib.
Description : Image utilisant la colormap ‘inferno’ représentant la fractale de Mandelbrot avec une barre de couleur indiquant l’intensité de divergence.
🧱 STRUCTURE DU SCRIPT
Plaintext
script_232cvmn_232.py
│
├── 📌 IMPORTS (numpy, matplotlib.pyplot)
├── 📌 FONCTIONS
│ ├── generate_mandelbrot() → Calcul matriciel de la fractale
│ └── plot_mandelbrot() → Génération du graphique
├── 📌 PARAMÈTRES (Définition des bornes et résolution)
└── 📌 EXÉCUTION (Main process)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
generate_mandelbrot xmin, xmax, ymin, ymax, width, height, max_iter ndarray Initialise la grille complexe et exécute la boucle de divergence vectorisée.
plot_mandelbrot iterations None Configure plt.imshow et affiche la figure finale.
🔄 LOGIQUE / ALGORITHME
Initialisation : Création d’un plan complexe via np.linspace et np.newaxis.
Boucle de calcul (max_iter) :
Appliquer Z=Z2+C uniquement sur les points n’ayant pas encore divergé (via un masque booléen).
Identifier les points dont le module ∣Z∣>2.
Enregistrer l’indice de l’itération actuelle pour ces points « fugitifs ».
Mettre à jour le masque pour exclure les points divergés des prochains calculs.
Visualisation : Projection de la matrice d’itérations sur une échelle de couleurs.
🚨 GESTION DES ERREURS
Mémoire : Une résolution trop élevée (ex: 10000×10000) peut entraîner une MemoryError due à la taille de la matrice NumPy.
Types : Le script utilise complex128 pour assurer la précision nécessaire aux calculs fractals.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal Paramètres par défaut Affichage d’une fractale nette ⬜ À tester
2 Résolution 1×1 width=1, height=1 Pas de plantage, 1 pixel calculé ⬜ À tester
3 Itérations = 0 max_iter=0 Image noire (aucune divergence) ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement
Bash
python script_232cvmn_232.py
📋 Sortie Console
Plaintext
Initialisation de la grille complexe…
Démarrage de 100 itérations…
Calcul terminé.
Création de la visualisation…



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