Nous allons générer des images. Tout d'abord monochromes, elles vont nous montrer quels sont les nombres complexes qui vérifient une certaine propriété. Ensuite vous essaierez de générer des images en couleur représentant l'ensemble de Mandelbrot ou certaines de ses parties.
Il faut tout d’abord télécharger le squelette tests_complexes.py et l’ouvrir dans un éditeur.
Les constantes définissent :
i
, qui vaut, comme son nom l’indique $i$.Ces valeurs pourront être modifiées, sauf i
bien sûr.
Ces lignes permettent que les calculs effectués à divers endroits du programme se passent bien, et de façon lisible.
Inutile de toucher à ces lignes.
Associe un nombre complexe à une partie de la fenêtre graphique.
Inutile de toucher à ces lignes.
Permet de mettre de la couleur dans vos graphiques.
Inutile de toucher à ces lignes.
Ces lignes créent et permettent la destruction éventuelle de la fenêtre
contenant l’image, soit avec la touche Q
, soit en fermant la fenêtre.
On trouve aussi une procédure permettant de cacher la commande dessinant une cellule au reste du programme.
Inutile de toucher à ces lignes.
Ces lignes permettent d’utiliser pr(z)
(se lit partie réelle de z) au lieu
de z.real
qui est peut-être cryptique pour certains.
Si vous avez souvent besoin du module d’un nombre complexe, disons à partir de
deux fois, il peut être intéressant de factoriser la formule ici, dans la
fonction m
.
Pour prendre en main ce fichier et comprendre comment il fonctionne, des tests ont été fournis. Après la prise en main, il vous faudra définir de nouveaux tests, en leur donnant des noms explicites. Ne supprimez pas les tests dont vous ne servez plus. Ils pourront peut-être resservir.
Cette section est approfondie plus bas.
C'est ici que l'on précise le test dont on veut une représentation.
Cette section est approfondie plus bas.
Le parcours des cellules se fait à l’aide de deux boucles POUR
imbriquées.
Pour plus de précisions, voir cette partie du cours sur les tableaux à deux
dimensions.
Combien de tests sont effectués ?
Quel est l’ensemble des nombres complexes qui vérifient le test1
?
Vérifier en lançant le programme.
Quel est l’ensemble des nombres complexes qui vérifient le test2
?
Vérifier en lançant le programme.
On est déçu. C’est parce que le complexe testé pour chaque cellule est localisé
à un des coins de la cellule correspondante. En se laissant un peu de marge, le
résultat est plus convenable, comme dans le test3
.
Quel est l’ensemble des nombres complexes qui vérifient le test4
?
Vérifier en lançant le programme. Coder la fonction qui donne le module d’un
nombre complexe.
Augmentez la finesse au maximum sur le test4
. Le cercle est-il parfait ?
Facultatif : sqrt
est la fonction racine carrée (pour square root).
Quel est l’ensemble des nombres complexes qui vérifient le test5
?
Dessinez-le puis vérifiez en lançant le programme.
Dessiner les formes de l’exercice n°45 p.305 (sauf si vous n’avez pas ce livre).
Vous pouvez combiner des tests avec and
ou or
.
En utilisant l'article Wikipedia sur l’ensemble de
Mandelbrot, et surtout la
section « Dessiner
l’ensemble »,
écrire un test nommé mandelbrot
qui le représente. Vous n’oublierez pas de
changer la fenêtre d’étude.
Attention, écrire ce test nécessite de bonnes bases en algorithmique et en Python. Commencez par écrire cet algorithme en pseudo-code ou en français, puis traduisez-le en Python.
Il ne vous reste plus qu’à zoomer sur la « Vallée des Hippocampes ».
Quelle est la forme des cellules ? Est-ce satisfaisant ? Si non, comment y remédier ?
Représenter l’ensemble de Mandelbrot en couleur. La couleur d’une cellule dépendra de la vitesse de divergence de la suite correspondant au complexe testé.