Comment tracer l'ensemble de Mandelbrot à la main?
L'ensemble de Mandelbrot est composé de points tracés sur un plan complexe pour former une fractale: une forme frappante ou une forme dans laquelle chaque partie est en fait une copie miniature de l'ensemble. Les images incroyablement éblouissantes cachées dans l'ensemble de Mandelbrot étaient possibles dans les années 1500 grâce à la compréhension de Rafael Bombelli des nombres imaginaires - mais ce n'est que lorsque Benoit Mandelbrot et d'autres ont commencé à explorer les fractales à l'aide d'ordinateurs que l'univers secret a été révélé.
Maintenant que nous savons qu'il existe, nous pouvons l'aborder de manière plus primitive: à la main. Voici une méthode pour visualiser un rendu brut de l'ensemble, juste dans le but de comprendre comment c'est fait; vous acquerrez alors une appréciation beaucoup plus approfondie des rendus que vous pouvez faire en utilisant les nombreux programmes informatiques open source disponibles, ou que vous pouvez visualiser sur Cd-rom et DVD.
- 1Comprendre la formule de base, souvent exprimée par z = z 2 + c. Cela signifie simplement que, pour chaque point de l'univers de Mandelbrot que nous souhaitons voir, nous continuons à calculer z jusqu'à ce que l'une des deux conditions se produise; puis nous le colorions pour montrer combien de calculs nous avons effectués. Ne t'inquiète pas! Cela deviendra clair dans les étapes suivantes.
- 2Obtenez 3 crayons de couleurs différentes, ou crayons de couleur, ou marqueurs à pointe feutre, plus un crayon ou un stylo noir pour faire le contour. La raison pour laquelle nous voulons trois couleurs est que nous allons faire une première approximation avec pas plus de 3 itérations (passes, ou en d'autres termes, appliquer la formule jusqu'à 3 fois par point):
- 3Avec le marqueur noir, dessinez un grand tic-tac-toe, 3 par 3 carrés, sur une feuille de papier.
- 4Étiquetez (également en noir) le carré du milieu (0, 0). Il s'agit de la valeur constante (c) du point au centre exact du carré. Disons maintenant que chaque carré a 2 unités de large, alors ajoutez et/ou soustrayez 2 aux valeurs x et y de chaque carré, x étant le premier nombre et y étant le deuxième nombre. Une fois terminé, cela ressemblera à ce que vous voyez affiché ici. Chaque fois que vous suivez les cellules, les valeurs y (le deuxième nombre) doivent être les mêmes; chaque fois que vous suivez les cellules vers le bas, les valeurs x (le premier nombre) doivent être les mêmes.
- 5Calculez la première passe, ou itération, de la formule. Vous, en tant qu'ordinateur (en fait, le sens original du mot était "une personne qui calcule") pouvez le faire vous-même. Commençons par ces hypothèses:
- La valeur z de départ de chaque carré est (0, 0). Lorsque la valeur absolue de z, pour un point donné, est supérieure ou égale à 2, ce point (et son carré correspondant) est dit avoir échappé à l'ensemble de Mandelbrot. Lorsque cela se produit, vous colorerez le carré en fonction du nombre d'itérations de la formule que vous avez appliquée à ce point.
- Choisissez les couleurs que vous utiliserez pour la passe 1, la passe 2 et la passe 3. Supposons respectivement le rouge, le vert et le bleu pour les besoins de cet article.
- Calculez la valeur de z pour le coin supérieur gauche du tic-tac-toe, en supposant une valeur de z de départ de 0+0i ou (0, 0) (voir Conseils pour une meilleure compréhension de ces représentations). Nous utilisons la formule z = z 2 + c comme indiqué dans la première étape. Vous verrez rapidement que, dans ce cas, z 2 +c est simplement c, puisque zéro au carré est toujours zéro. Et qu'est-ce que c pour ce carré? (-2, 2).
- Déterminer la valeur absolue de ce point; la valeur absolue d'un nombre complexe (a, b) est la racine carrée de a 2 + b 2. Maintenant, puisque nous allons comparer cela à une valeur connue: 2, nous pouvons éviter de prendre des racines carrées en comparant a 2 + b 2 à 22, dont nous savons qu'il est égal à 4. Dans ce calcul, a = -2 et b = 2.
- ([-2] 2 + 22) =
- (4 + 4) =
- 8, qui est supérieur à 4.
- Il a échappé à l'ensemble de Mandelbrot après le premier calcul, puisque sa valeur absolue est supérieure à 2. Colorez-le avec le crayon que vous avez choisi pour la passe 1.
- Faites de même pour chaque case du plateau, à l'exception de la case centrale, qui n'échappera pas au Mandelbrot fixé par la 3ème passe (elle n'échappera jamais non plus). Vous n'avez donc utilisé que deux couleurs: la couleur passe 1 pour tous les carrés extérieurs, et la couleur passe 3 pour le carré du milieu.
- 6Essayons un carré 3 fois plus grand, 9 par 9, mais en gardant toujours un maximum de 3 itérations.
- 7Commencez par la 3ème rangée vers le bas, car c'est là que ça devient tout de suite intéressant.
- Le premier élément, (-2, 1) est supérieur à 2 (car (-2) 2 + 12 s'avère être 5) donc peignons celui-là en rouge, car il échappe à l'ensemble de Mandelbrot au premier passage.
- Le deuxième élément, (-1,5, 1) s'avère ne pas être supérieur à 2. En appliquant la formule de la valeur absolue, x 2 +y 2, avec x = -1,5 et y = 1:
- (-1,5) 2 = 2,25
- 12 = 1
- 2,25 + 1 = 3,25, moins de 4, donc la racine carrée est inférieure à 2.
- Nous passons donc à notre deuxième passe, en calculant z 2 +c en utilisant le raccourci (x 2 -y 2, 2xy) pour z 2 (voir Conseils pour savoir comment ce raccourci est dérivé), toujours avec x = -1,5 et y = 1:
- (-1,5) 2 - 12 devient 2,25 - 1, qui devient 1,25;
- 2xy, puisque x vaut -1,5 et y vaut 1, devient 2(-1,5), ce qui donne -3,0;
- Cela nous donne un z 2 de (1,25, -3)
- Ajoutez maintenant c pour cette cellule (ajoutez x à x, y à y) ce qui donne (-0,25, -2)
- Testons si sa valeur absolue est maintenant supérieure à 2:. Calculer x 2 + y 2:
- (- 0,25) 2 = 0,0625
- -22 = 4
- 0,0625 + 4 = 4,0625 dont la racine carrée est supérieure à 2, donc il s'est échappé après la deuxième itération: notre premier vert!
- Au fur et à mesure que vous vous familiariserez avec les calculs, vous serez parfois en mesure de dire lesquels échappent à l'ensemble de Mandelbrot simplement en jetant un coup d'œil aux chiffres. Dans cet exemple, la composante y a une magnitude de 2, qui, lorsqu'elle est mise au carré et ajoutée à la valeur au carré de l'autre nombre, sera supérieure à 4. Tout nombre supérieur à 4 aura une racine carrée supérieure à 2. Voir les conseils ci-dessous pour une explication plus détaillée.
- Le troisième élément, avec une valeur ac de (-1, 1) n'échappe pas à la première passe: puisque 1 et -1 lorsqu'ils sont au carré vaut 1, x 2 +y 2 vaut 2. Nous calculons donc z 2 +c, en utilisant le raccourci (x 2 -y 2, 2xy) pour z 2:
- (-1) 2 -12 devient 1-1, qui est 0;
- 2xy est alors 2(-1) = -2;
- z 2 = (0, -2)
- en ajoutant c on obtient (0, -2) + (-1, 1) = (-1, -1)
- C'est toujours la même valeur absolue qu'avant (la racine carrée de deux, environ 1,41); en continuant avec une troisième itération:
- ([-1] 2)-([-1] 2) devient 1-1, ce qui vaut 0 (encore une fois)...
- mais maintenant 2xy est 2(-1)(-1), qui est positif 2, ce qui donne une valeur az 2 de (0, 2)
- en ajoutant c, nous obtenons (0, 2) + (-1, 1) = (-1, 3), qui a un a 2 + b 2 de 10, bien supérieur à 4.
- Ainsi celui-ci s'échappe aussi. Colorez la cellule avec votre troisième couleur, le bleu, et passez à la suivante, puisque nous avons terminé trois itérations avec ce point.
- Le fait que nous n'utilisions que trois couleurs devient un problème ici, car quelque chose qui s'échappe après seulement 3 itérations est coloré de la même manière que (0, 0) qui ne s'échappe jamais; évidemment, nous ne verrons toujours rien de proche du "bug" de Mandelbrot à ce niveau de détail.
- 8Continuez à calculer chaque cellule jusqu'à ce qu'elle se soit échappée ou que vous ayez atteint le nombre maximum d'itérations (le nombre de couleurs que vous utilisez: 3 dans cet exemple), auquel cas vous la coloriez. Voici à quoi ressemble la matrice 9 par 9 après 3 itérations sur chaque carré... On dirait que nous sommes sur quelque chose!
- 9Répétez la même matrice avec plus de couleurs (itérations) pour révéler les prochaines couches, ou mieux, dessinez une matrice beaucoup plus grande pour un projet à plus long terme! Vous obtenez des images plus précises en:
- Augmenter le nombre de cellules; cela a 81 cellules par côté. Notez la similitude avec la matrice 9 par 9 ci-dessus, mais les bords beaucoup plus lisses du cercle et de l'ovale.
- Augmenter le nombre de couleurs (itérations); cela a 256 nuances chacune de rouge, vert et bleu pour un total de 768 couleurs par rapport à 3. Notez que vous pouvez maintenant voir le contour du célèbre "lac" de Mandelbrot (ou "bug", selon votre apparence à elle). L'inconvénient est le temps que cela prend; si vous pouvez calculer chaque itération en 10 secondes, cela représente environ 2 heures pour chaque cellule dans ou à proximité du lac Mandelbrot. Bien que ce soit une partie relativement petite de la matrice 81 par 81, cela prendrait probablement encore un an pour la terminer, même si vous y travailliez plusieurs heures par jour. C'est là que le type d'ordinateur au silicium est utile.
- Pourquoi z 2 = (x 2 -y 2, 2xy)?
- Pour multiplier deux nombres complexes comme (a, b) par (c, d), utilisez la formule suivante, expliquée dans cet article de Mathworld: (a,b)(c,d) = (ac - bd, bc + ad)
- Gardez à l'esprit qu'un nombre complexe a une partie "réelle" et une partie "imaginaire", cette dernière étant un nombre réel multiplié par la racine carrée de moins 1, souvent appelée i. Le nombre complexe (0, 0), par exemple, est 0+0i, et (-1, -1) est (-1) + (-1 * i).
- Toujours avec nous? Rappelez - vous que les a et c termes sont réels, et les b et d termes sont imaginaires. Ainsi, lorsque les termes imaginaires sont multipliés ensemble, la racine carrée de moins 1 multipliée par elle-même donne moins 1, niant le résultat et le rendant réel; alors que les nombres ad et bc restent imaginaires, puisque la racine carrée de moins 1 est toujours un terme de ces produits. Par conséquent, nous avons ac - bd comme partie réelle et bc + ad comme partie imaginaire.
- Maintenant, puisque nous élevons les nombres au carré au lieu de multiplier deux nombres différents, cela peut être un peu simplifié; puisque a = c, et b = d, nous avons le produit comme (a 2 -b 2, 2ab). Et puisque nous faisons correspondre le "plan complexe" au "plan cartésien", avec l' axe x représentant "réel" et l' axe y représentant "imaginaire", nous l'appellerons également (x 2 -y 2, 2xy).
- Si vous calculez une cellule encore et encore et remarquez un résultat qui est exactement le même que celui que vous avez déjà obtenu pour cette cellule, vous savez que vous êtes pris dans une boucle sans fin; cette cellule ne s'échappera jamais! Vous pouvez donc prendre un raccourci, colorer cette cellule avec votre couleur finale et passer à la suivante. (0, 0) est évidemment l'une de ces cellules.
- Vous voulez en savoir plus sur l'évaluation de la valeur absolue d'un nombre complexe sans vous attaquer aux calculs?
- La valeur absolue d'un nombre complexe (a, b) est la racine carrée de a 2 + b 2, la même que la formule d'un triangle rectangle, puisque a et b sont représentés à angle droit l'un par rapport à l'autre sur la grille cartésienne (les coordonnées x et y, respectivement). Par conséquent, puisque nous savons que l'ensemble de Mandelbrot est limité par la valeur de 2 et que le carré de 2 est 4, nous pouvons éviter d'avoir à penser aux racines carrées simplement en voyant si x 2 +y 2 >= 4.
- Si l'une des jambes d'un triangle rectangle a une longueur >=2, alors l'hypoténuse (côté diagonal) doit également être plus longue que 2. Si vous ne voyez pas pourquoi il en est ainsi, tracez quelques triangles rectangles sur une grille cartésienne et cela devenir évident; ou pensez-y simplement de cette façon: 22 =4, et ajouter un autre nombre positif à cela (et élever au carré un nombre négatif donne toujours un résultat positif) ne peut pas donner quelque chose de moins que 4. Par conséquent, si la composante x ou y de un nombre complexe a une magnitude de 2 ou plus, la valeur absolue de ce nombre est supérieure ou égale à 2 et a échappé à l'ensemble de Mandelbrot.
- Pour calculer la "largeur virtuelle" de chaque cellule, divisez le "diamètre virtuel" en "nombre de cellules moins un". Nous utilisons un diamètre virtuel de 4 dans les exemples ci-dessus, car nous voulons tout montrer dans le rayon de 2 (l'ensemble de Mandelbrot est limité par la valeur de 2). Pour l'approximation à 3 côtés, c'est 4 / (3 - 1), qui est 4 / 2, qui est égal à 2. Pour le carré à 9 côtés, c'est 4 / (9 - 1), soit 4 / 8, ce qui équivaut à 0,5. Utilisez la même taille de cellule virtuelle pour la hauteur et la largeur, même si vous rendez un côté plus long que l'autre; sinon l'Ensemble sera déformé.
- Si vous calculez toutes les cellules du carré, vous faites le double du travail que vous devriez faire. La réponse d'une cellule est la même réponse que la cellule réfléchie sur la réponse de l'axe des x car au premier passage, peu importe que y soit positif ou négatif, la réponse est toujours la même. Dans la deuxième passe, (y+2xy)^2 est le même que y soit positif ou négatif car y est un facteur de y+2xy. La troisième passe est la même car elle est similaire à la deuxième passe.
- Les mathématiques peuvent devenir très addictives, comme n'importe quoi d'autre, mais elles n'endommageront probablement pas votre foie et ne causeront probablement pas de cancer du poumon.
Questions et réponses
- Comment savoir quelles formules utiliser? Et de quelle couleur pour les colorer?Cette formule particulière a été utilisée par Benoit Mandelbrot, mais il en existe une pléthore d'autres. Les ensembles Julia, les ensembles 3D de Mandelbrot utilisent des formules similaires mais différentes. Tous sont basés sur le même principe de convergence. Quant aux couleurs, elles sont parfaitement arbitraires, la palette de couleurs que vous utilisez est basée sur des raisons esthétiques plutôt que mathématiques. Procurez-vous un logiciel pour générer des ensembles de Mandelbrot et vous verrez toutes (ou du moins beaucoup) les possibilités.
- Pourquoi utiliser la valeur absolue pour trouver C?C est acquis à partir de Zn+1=(Zn)^2+C. Zn est le point de départ, qui est (00i) dans ce cas, donc C est toujours la valeur de Zn+1. La valeur absolue est utilisée pour vérifier si le point s'échappe de l'ensemble. Lorsqu'il s'échappe pour la première fois, il est considéré comme Pass 1.
- Pourquoi est-ce que j'obtiens les mêmes résultats en calculant les valeurs absolues de (-11) et (11), alors que dans l'exemple ci-dessus (-11) s'échappe après le 3ème passage et (11) après la seconde?Dans [-1, 1] (i-1), la valeur absolue de la troisième passe est égale à 2, et il échappe à la passe qu'elle soit soit égale soit supérieure à 2, et qu'elle soit égale à 2. Donc ça continue la troisième passe. Dans [1, 1] (1+i), vous l'avez mal calculé.
- Si une cellule échappe au deuxième passage, la cellule est-elle automatiquement au troisième passage?Si la cellule s'échappe (a une valeur supérieure à 2) lors de la deuxième passe, elle est colorée. Toute cellule qui ne s'échappe pas lors de la deuxième passe obtient automatiquement une troisième passe.