Mandelbrot & Co

explorer l'infinie beauté des fractales

GB

Mandelbrot & Co propose une expérience immersive dans le monde des fractales, ces objets dont la beauté fascine mathématitiens et artistes.
A travers une interface épurée vous explorez en temps réel différents mondes complexes pour une expérience contemplative inédite. Comme pour tout voyage, vous pourrez en revenir avec des photos et même quelques petits films à partager. Prenez le temps et amusez-vous !

Visite guidée dans Mandelbrot & Co

Vous trouverez également quelques exemples de videos réalisées sur Mandelbrot & Co dans la Galerie. Faites vos videos, publiez les sur YouTube et envoyez-nous les liens, nous les partagerons sur le site !

Quelques considérations esthétiques

Chacun de ces ensembles à une esthétique propre. Très proche pour les ensembles de Julia, Mandelbrot ou sa variante en cos(z), Le Burning Ship possède une beauté spectrale singulière et particulièment riche

Julia offre une variation infinie autour du thème de l'autosimilarité, le voyage peut sembler relativement monotone.

La variante en cos(z) de Mandelbrot est caractérisée par des images en "kaléïdoscope" et des paysages floraux.

Le Burning Ship présente des dentelles et des distortions qui laissent l'esprit reconnaître des formes extrêmement variées : chats, croix, tours Eiffel, monstres, marques ethniques, fantômes et autres apparitions cauchemardesques. Probablement le plus étonnant de ces ensembles avec des zones qui rappellent les plus grands artistes de Van Gogh à Turner. Un ensemble pas toujours facile d'accès mais certainement le préféré de l'auteur ;)

Comment ça marche ?

Tous les calculs sont faits localement, il n'y a aucun échange avec des serveurs. Les calculs sont rapides sur les ordinateurs récents : chaque image est divisée en autant de processeurs que possède votre ordinateur (souvent 8 de nos jours).
Chaque partie de l'image est donc calculée en parallèle. Les temps de calculs sont de l'ordre de 50 à 400 millisecondes par image avec un processuer Intel i7. Seule la variante de l'ensemble de Mandelbrot en cos(z) - c'est à dire en cosinus complexe - du point nécessite des calculs plus lourds qui se ressentent sur le temps de calcul (de l'ordre de la seconde à plusieurs secondes pour les zooms profonds).

En pratique on itère (on recommence le calcul sur le résultat précédent) une fonction pour chaque point et on regarde si elle diverge (elle dépasse une certaine valeur). Aux petites échelles, on peut avoir à itérer plus de 1000 fois pour chaque point et ce sur l'ensemble des 640x640 = 409.600 points !

Le programme est écrit en Javascript. Ce langage modélise les nombres flottants (les nombres à virgule) avec un maximum de quinze chiffres significatifs. C'est pourquoi, la définition de l'image devient mauvaise au delà d'un grossissement de l'ordre de 1015. Ce qui nous limite le grossissement à 1 million de milliards de fois seulement...
Quand on se prend au jeu de l'exploration cela peut-être frustrant d'atteindre la limite mais aller au-delà de cette limite avec Javascript rendrait la navigation beaucoup, beaucoup, beaucoup plus lente (plusieurs dizaines secondes pour chaque image).

Performances selon le navigateur

Le microproceseur et la carte graphique de l'ordinateur ou de la tablette jouent grandement sur la rapidité. Mais le navigateur utilisé également. Chrome et Microsoft Edge donnent les meilleurs résultats (ils sont basés tous les deux sur la même plateforme Chromium). Firefox ne gère pas correctement au-delà de deux processus ("worker") en parallèle, les temps de calculs sur la même machine sont en gros 50% plus lents.

Par où commencer ?

Le plus simple est de se laisser guider par son instinct. Certaines zones peuvent être répétitives voire décevantes. Pour commencer votre voyage au milieu des fractales, il vous est proposé pour chaque ensemble quelques POI Points of interest. Vous pouvez accédez à la liste des POI en cliquant sur dans la barre de commandes.

S'orienter

Points of Interests

Pour chaque ensemble, il vous est proposé un certain nombre "lieux" pour leur intérêt et vous aider à débuter dans votre exploration. En ciquant sur la vignette correspondante, la zone sera directement affichée et vous pourrez continuer votre exploration normalement.

Centrer sur un point

Pour retrouver une vue depuis le nom d'une image sauvegardée depuis notre site - voir plus bas la nomencalure des noms de fichier - ou parce qu'un article spécialisé a mentionné un point particulirement intéressant, vous pouvez utiliser la fonction "centrer sur un point".

Ensemble de Julia

Pour les ensemble de Julia ne pas oublier d'indiquer avant de lancer la recherche le nombre "c". Contrairement aux autres ensembles à explorer, l'ensemble de Julia, ou plus précisément "les" ensembles de Julia dépendent d'un paramètre. L'usage nomme ce paramètre (une valeur complexe) "c".
Vous pouvez saisir les valeurs de "c" dans les champs sous l'image : rc indique la partie réelle de "c" et ic sa partie imaginaire.

Comment zoomer dans l'explorateur de fractales ?

Zoomer avec la molette de la souris

En pointant la souris sur un point particulier, si vous actionnez la molette vous grossissez l'échelle, et inversement dans l'autre sens. Chaque action sur la molette permet de zoomer ou dézoomer d'un facteur 2.

Zoomer plus finement

Si vous cliquez sur un point de l'image un cadre apparaît et suit votre souris. Vous pouvez annuler en appuyant sur Esc.
Au deuxième clique, vous définnissez le cadre du zoom.

Zoomer sur un écran tactile

Pour zoomer d'un facteur 2 il suffit d'appuyer deux fois rapidement. L'image sera centrée sur le point touché. Pour dézoomer, appuyer sur l'icône "Afficher la vue précédente"

Echelle logarithmique

Une échelle logarithmique permet de connaître le niveau de zoom. L'échelle devient rouge vers 10-13, zone à partir de laquelle la précision peut commencer à devenir insuffisante. Cela se traduit par une pixellisation de plus plus grossière de l'image.

Filtres

Mandelbrot & Co vous propose quelques filtres à appliquer sur la vue principale. Les filtres s'appliquent sur les vidéos et les sauvegardes d'images sauf sur Safari. Pour les videos, cela rallonge sensiblement le temps de calcul.

Vous pouvez également jouer sur les tons, la saturation et la luminosité. Dans certains cas les filtres peuvent ternir un peu l'image, cet effet pourra être compensé en augmentant la luminosité.

Ls filtres utilisés sont des filtres de convolution (voir plus bas les liens vers wikipedia). Par exemple le filtre Courbes de niveau est la combinaison d'un filtre d'amélioration de contraste et d'un filtre de Laplace, utilisé pour le filtre de Détection des bords.

L'application des filtres Courbes de niveau, Détection des contours et Ombrages (Effet 3D) donnnent des effets très intéressants.

Sans filtre
Détection des bords
Courbes de niveau
Effet 3D

Favoris

En cliquant sur l'icône vous ajoutez une vignette à vos favoris dans l'un des 12 emplacements prévus à gauche de l'écran.
En cliquant sur la poubelle en haut à gauche, vous pouvez sélectionner les favoris à supprimer. La suppression est effective en recliquant sur la poubelle.

Les favoris sont très pratiques pour mémoriser un "lieu" lors de vos explorations. Vos favoris sont stockés localement dans votre navigateur. Vous les retrouvez quand vous revenez sur le site.

Sauvegarder des images

Vous avez la possibilité de sauvegarder l'image sous format png sur votre disque dur. L'image sera sauvée dans votre dossier Téléchargements du navigateur que vous utilisez.

Le nom du fichier permet de retrouver l'image par ses coordonnées en utilisant le système de centrage .

La première lettre indique l'ensemble (M : Mandelbrot, B : Burning Ship, J : Julia et C : cosZ). Les nombres suivants permettent de localiser l'image selon la nomenclature : (rz)+i(iz)±(Δ) avec la partie réelle (rz), la partie imaginaire (iz) et le Δ

Exemple : M-0.632173+i0.451271±5.11e-4.png indique qu'il s'agit d'une image de l'ensemble de Mandelbrot (M), centrée sur rz=-0.632173 et iz=0.451271 et pour un Δ=5.11e-4

Pour l'ensemble de Julia, nous avons besoin également de connaître le point "c" de référence. Le nom du fichier est complété selon la nomenclature : (rz)+i(iz)±(Δ)rc(rc)ic(ic).png avec rc partie réelle et ic partie imaginaire.

Vers l'infini et au-delà.

Avec l'option plongée vous pouvez créer un petit film qui zoomera sur la zone actuellement affichée. Pour les navigateurs Chrome et Micosoft Edge un film sous format libre WebM sera disponible au téléchargement. Si vous sutilisez les navigateurs Firefox ou Safari le processus d'encodage n'est pas supporté. Le site offre pour ces deux navigateurs uniquement un visionnage d'une succession d'images (techniquement il s'agit en fait simplement d'un diaporama) à l'effet tout aussi saisissant mais malheureusement non téléchargeable.

Dans tous les cas le processus de création des images et, le cas échéant, d'encodage en format WebM, peut-être assez long selon la zone et niveau de zoom souhaité. Pour l'instant il est proposé des films de dimension réduite (480 pixels x 270 pixels) pour assurer un temps acceptable de calcul qui peut malgré tout être de l'ordre de la dizaine de minutes. En option vous pouvez opter pour un film Full-HD (1920 x 1080) mais il faudra être patient !

Sur les écrans de petite taille, notamment sur les tablettes 9" ou 10", il n'est pas proposer de faire des films.

Liens utiles

Les incontournables de Wikipedia

Pour aller plus loin

en construction....

Contact

Pour toute suggestion ou remontée de bugs merci d'utiliser le formulaire ci-dessous.