l’ensemble de Mandelbrot#
il s’agit de calculer l’image de la convergence de mandelbrot:
Licence CC BY-NC-ND
Thierry Parmentelat & Arnaud Legout
import numpy as np
import matplotlib.pyplot as plt
%matplotlib ipympl
v2#
on peut passer en paramètre à la fonction
le domaine en x et en y
le nombre maximum d’itérations
on veut pouvoir produire une image (pour l’insérer dans l’énoncé par exemple)
quels formats sont disponibles ?
sauvez votre image dans un format vectoriel
affichez cette depuis votre notebook
# à vous de jouer
# je vous laisse définir la signature de votre fonction
def mandelbrot2():
pass
et je vous demande de mettre ici quelques tests de votre deuxième fonction
# test #1
# test #2
# test #3
comment ça marche ?#
dans l’espace complexe, on définit pour chaque \(c\in\mathbb{C}\) la suite
\(z_0 = c\)
\(z_{n+1} = z_n^2 + c\)
on démontre que
lorsque \(|z_n|>2\), la suite diverge
il s’agit pour nous de
partir d’un pavé rectangulaire; par exemple sur la figure, on a pris l’habituel
\(re \in [-2, 0.8]\) et \(im \in [-1.4, 1.4]\)
découper ce pavé en un maillage de \(h \times w\) points (sur la figure, 1000 x 1000)
on se fixe un nombre maximal
maxd’itérations (disons 20)et pour chaque point du maillage, on va calculer si la suite diverge avant
maxitérationsc’est-à-dire plus spécifiquement on calcule un tableau
divergede la taille du maillagepour chaque point
z, on calcule lesmaxpremiers termes de la suiteet à la première itération
noù la suite diverge (son module est supérieur à 2)alors on affecte
diverge[z] = non n’a plus qu’à afficher ensuite l’image obtenue
divergeavecplt.imshowindices
pour fabriquer la grille des points de départ, on pourra regarder
np.linspaceetnp.meshgrid