script_238cvmn_238.py

49,00 

Générer et visualiser des ensembles fractals (Mandelbrot, Julia, Burning Ship, Tricorn) via des calculs matriciels.

UGS : script_238cvmn_238.py Catégories : , Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_238cvmn_238.py

Version 1.0.0

Date de création 02/03/2026

Auteur / Demandeur IA Généré / Utilisateur

Objectif principal Générer et visualiser des ensembles fractals (Mandelbrot, Julia, Burning Ship, Tricorn) via des calculs matriciels.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script utilise les bibliothèques NumPy et Matplotlib pour calculer mathématiquement des ensembles fractals. Il définit une grille de nombres complexes, itère une fonction spécifique sur chaque point pour vérifier sa divergence, et génère une image haute résolution (1000×1000) représentée par une carte de chaleur.

📌 Problème résolu

Il permet de visualiser des structures mathématiques complexes et récursives de manière performante grâce à la vectorisation (Numpy), évitant ainsi des boucles Python lentes pour chaque pixel.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+ (recommandé)

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script autonome (Script / Plotting)

📦 Dépendances / Librairies

numpy : Calcul matriciel et gestion des grilles complexes.

matplotlib : Rendu graphique et affichage de l’image.

📥 ENTRÉES (INPUTS)

📂 Paramètres de la fonction generate_fractal

# Nom Type Obligatoire Description Exemple

1 type str ✅ Oui Type de fractale à générer « burning_ship »

2 c_julia complex ❌ Non Constante pour l’ensemble de Julia complex(-0.8, 0.156)

3 width/height int ❌ Non Résolution de l’image en pixels 1000

4 max_iter int ❌ Non Précision du calcul (profondeur) 100

📤 SORTIES (OUTPUTS)

📂 Données en sortie

# Nom Type Description Exemple

1 N np.array Matrice d’entiers (2D) contenant le rang d’itération de divergence. [[0, 12, …]]

2 Image Plot Rendu visuel via Matplotlib (fenêtre interactive). Image PNG/GUI

🧱 STRUCTURE DU SCRIPT

script_238cvmn_238.py

├── 📌 IMPORTS (numpy, matplotlib.pyplot)

├── 📌 FONCTIONS

│ └── generate_fractal() → Cœur du calcul mathématique

└── 📌 MAIN (Visualisation)

├── Définition du type (burning_ship)

├── Appel de la génération

└── Configuration de plt.imshow et affichage

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

generate_fractal type, c_julia, width, height, max_iter np.ndarray Calcule la matrice de divergence pour la fractale choisie.

🔄 LOGIQUE / ALGORITHME

Étape 1 : Définition du plan complexe (grille de points Z ou C selon le type).

Étape 2 : Initialisation d’un masque booléen pour suivre les points qui n’ont pas encore divergé (∣Z∣≤2).

Étape 3 : Boucle d’itération (jusqu’à max_iter) :

Application de la formule spécifique (ex: Z=Z2+C).

Mise à jour du masque : si ∣Z∣>2, le point a divergé.

Enregistrement de l’indice de l’itération actuelle dans la matrice de sortie.

Étape 4 : Rendu de la matrice finale avec une palette de couleurs (magma).

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Mandelbrot type=’mandelbrot’ Forme « cardioïde » classique ⬜ À tester

2 Julia Set type=’julia’ Structure symétrique selon c_julia ⬜ À tester

3 Résolution width=100 Calcul très rapide, image pixelisée ⬜ À tester

📊 PERFORMANCES ATTENDUES

Temps d’exécution : <2 secondes pour 1000×1000 à 100 itérations (sur CPU moderne).

Consommation mémoire : Environ 50-100 Mo pour stocker les matrices complexes et de résultats.

📝 EXEMPLE D’UTILISATION

▶️ Lancement direct

Bash

python script_238cvmn_238.py

💻 Exemple d’appel pour une fractale de Julia

Python

import matplotlib.pyplot as plt

# Supposant le script importé

data = generate_fractal(type=’julia’, c_julia=complex(-0.4, 0.6), max_iter=200)

plt.imshow(data, cmap=’twilight’)

plt.show()

Avis

Il n’y a pas encore d’avis.

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

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