tite fractale

Tests de complexes

1. Principe de l'activité

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.

Couronne Ens. Mandelbrot Wikipedia Ens. Mandelbrot Wikipedia

2. Présentation du programme de base

Il faut tout d’abord télécharger le squelette tests_complexes.py et l’ouvrir dans un éditeur.

2.1. Présentation des sections

2.1.1. Constantes

Les constantes définissent :

Ces valeurs pourront être modifiées, sauf i bien sûr.

2.1.2. Vérification divisibilité et divers calculs

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.

2.1.3. Conversion cellule -> nombre complexe

Associe un nombre complexe à une partie de la fenêtre graphique.

Inutile de toucher à ces lignes.

3. Conversion triplet d’entiers -> code couleur hexa:

Permet de mettre de la couleur dans vos graphiques.

Inutile de toucher à ces lignes.

3.0.1. Mise en place de la fenêtre graphique

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.

3.0.2. Raccourcis mathématiques

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.

3.0.3. Tests

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.

3.0.4. Parcours des cellules

C'est ici que l'on précise le test dont on veut une représentation.

Cette section est approfondie plus bas.

3.1. Prise en main

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 ?

Il existe une solution à ce problème, mais elle ne sera pas mise en place dans cette activité.

4. Mise en pratique personnelle

4.1. Autres formes

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.

4.2. Mandelbrot

4.2.1. Monochrome

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 ».

4.2.2. Pour aller plus loin

4.2.2.1. Forme des cellules

Quelle est la forme des cellules ? Est-ce satisfaisant ? Si non, comment y remédier ?

4.2.2.2. Polychromie

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é.

4.2.2.3. Encore et toujours plus loin










Page générée le 04/12/2016, 10h08'07" (source).
historique de la page
historique global

 TogetherJS