27 mai 2010

4 commentaires — commenter cet article

Mandelbox

Un ensemble de Mandelbrot cubique...

Jos Leys

Mathematical Imagery (page web)

Les amateurs d’images fractales sur Fractalforum ont réussi un nouvel exploit : après le Mandelbulb, voici le Mandelbox, la boîte Mandelbrot. C’est Tom Lowe qui a eu l’idée d’une formule assez spéciale qui donne naissance à cet objet : [1]

Vu d’une certaine distance, cela ne semble pas trop intéressant. « Un bloc de béton » me disait quelqu’un qui le voyait pour la première fois. Il faut le regarder de plus près pour apprécier sa structure qui est assez étonnante, comme sur les images ci-dessous :

Une recette pour un cube

Voici la recette, en trois étapes :

Première étape  : pour un point $(x,y,z)$ on effectue d’abord un pliage :

  • si $x>1$ on remplace $x$ par $2-x$ et si $x<-1$ on remplace $x$ par $-2-x$ ;
  • si $y>1$ on remplace $y$ par $2-y$ et si $y<-1$ on remplace $y$ par $-2-y$ ;
  • si $z>1$ on remplace $z$ par $2-z$ et si $z<-1$ on remplace $z$ par $-2-z$.

La distance du point à l’origine est alors $R=\sqrt{x^2+y^2+z^2}$.

Deuxième étape  :

  • si $0.5
  • si $R\leq 0.5$, on remplace $x$ par $x/0.5^2$, $y$ par $y/0.5^2$ et $z$ par $z/0.5^2$.

Troisième étape  : on multiplie les nouvelles valeurs de $x$, $y$ et $z$ par un facteur $s=2$ et on y ajoute la valeur d’origine, donc les coordonnées du point en question. On recalcule $R$ et on recommence si la valeur est inférieure à une certaine limite $L$ (on s’arrête dès qu’on a fait un certain nombre d’itérations, sinon cela ne finirait jamais). Un tel point est dans l’ensemble. Si par contre $R>L$, on s’arrête tout de suite et le point est en dehors de l’ensemble.

On va dessiner tous les points de l’espace pour lesquels $R$ reste inférieur à $L$ juste comme on fait pour dessiner l’ensemble de Mandelbrot $z\mapsto z^2+c$ dans le plan.

Il semble que tous ces points se trouvent dans un cube dont les arêtes ont une longueur de $12$.

Un cube à millefeuilles, plein de trous

Essayons de comprendre un peu mieux ce qui se passe. Oublions d’abord la deuxième étape. Si on effectue seulement la première et la troisième étape sur des points dans le plan, (disons $z=0$) on obtient l’image ci-dessous à gauche. Les points dans un carré avec arête de longueur $6$ ne sont pas affectés, tous les points en dehors d’un carré avec arête de longueur $12$ se retrouvent à l’infini.

Entre ces deux carrés se trouve une zone de « millefeuilles ». Il y a des points dans cette zone pour lesquels l’itération, sans la deuxième étape, donne des points successifs qui deviennent périodiques.

Prenons par exemple le point $(3.1,0,0)$. On a $x>1$ et on remplace donc $x$ par $2-x=-1.1$. Les valeurs pour $y$ et $z$ ne changent pas. On obtient donc dans la troisième étape $-1.1$x$2+3.1=0.9$. On recommence : $0.9<1$ donc maintenant rien ne se passe à la première étape. La dernière étape donne : $0.9$x$2+3.1=4.9$, et on recommence de nouveau.

On obtient successivement :

$-2.7 , 4.5 , -1.9 , 2.9 , 1.3 , 4.5 ,...$. Le calcul va donc répéter toujours ces quatre derniers nombres.

Si on fait le calcul pour le point $(3.10001,0,0)$ on obtiendra que la valeur absolue grandit à chaque étape et que ce point sera ’en dehors’ de l’ensemble.

Comme les calculs pour $x$, $y$ et $z$ ne dépendent pas l’un de l’autre, on obtient des lignes droites de points qui sont ’dans’ l’ensemble. En trois dimensions l’algorithme, toujours sans la deuxième étape, donne un cube autour duquel se trouvent des plans, des « millefeuilles » comme dans l’image ci-dessus à droite.

Les choses deviennent un peu plus compliquées quand on rajoute la deuxième étape dans l’algorithme. Voici ci-dessous l’image dans le plan.

L’action de la deuxième étape est de créer des trous sphériques de toutes tailles. Ce qui est important à savoir c’est qu’on s’est limité ici à quinze itérations.

Le cube qui disparaît

Si on dessine la même image avec plus d’itérations, voici ce qui se passe :

Les trois images ont respectivement, de gauche à droite, $20$, $25$ et $75$ itérations. Avec plus d’itérations, l’ensemble disparaît ! Disparaître, ce n’est pas le bon mot : on obtient un nuage de poussière fractale qui devient impossible à dessiner.

Si on permet à l’algorithme de parcourir un grand nombre d’itérations on ne va donc plus retrouver l’objet. Son existence est limitée à moins de vingt itérations !

Pour dessiner l’objet en 3D, on emprunte une méthode d’estimation de distance (voir cet article) pour retrouver des points de l’ensemble. L’algorithme va s’arrêter quand la distance est plus petite qu’une valeur choisie. Pour un bon dessin du Mandelbox, cette valeur de distance correspond à un nombre d’itérations qui est normalement inférieur à $20$, ce qui explique pourquoi les dessins ne souffrent pas de la transformation en poussière...

Variations sur un cube

Voici encore une image où on voit bien la structure millefeuilles :

Il y a plusieurs façons de créer des variations de Mandelbox. On peut par exemple choisir une autre valeur pour le rayon de la sphère d’inversion dans la deuxième étape de la recette :

On peut aussi construire des ensembles de Julia : au lieu d’ajouter les coordonnées du point dans la troisième étape de l’algorithme, on ajoute une constante. Voici le Mandelbox « Julia » ou le Juliabox pour $(-4,-4,4)$ :

Pour conclure, voici un film avec un vol spectaculaire à travers le Mandelbox, réalisé par l’artiste polonais Krzysztof Marczak :

S’il y a des nouveautés sur Fractalforum, on vous tiendra au courant !

Notes

[1Toutes les images de l’auteur ont été réalisées avec Ultrafractal.

Affiliation de l'auteur

Commentaires sur l'article

Pour citer cet article : Jos Leys, « Mandelbox »Images des Mathématiques, CNRS, 2010.

En ligne, URL : http://images.math.cnrs.fr/Mandelbox.html

Si vous avez aimé cet article, voici quelques suggestions automatiques qui pourraient vous intéresser :