les Fractales

---

Mandelbrot
 

Mandelbrot

Retour à la lettre
 
 
Introduction
Cette fractale, découverte par Benoît Mandelbrot dans les anneés 80, présente de nombreuses particularitées. Une des plus intéressantes est que l'infini compléxité de la géométrie n'est finalement  le résultat que d'un algorithme excessivement simple.
 
L'ensemble de Mandelbrot consiste à decrire tous les points d'un plan complexe dont une transformation (détaillée plus bas) les fait se contenir dans un cercle de rayon 2.



    Algorithme
Il existe bien des façons de représenter l'ensemble, mais le plus courant est de faire varier la couleur en fonction du nombre d'itérations (tests de convergence) nécesssaires pour connaître l'appartenance d'un point à la "Mandelbrot". Si le point ne diverge pas au bout d'un grand nombre d'itération, on peut penser qu'il est alors fort "probable" qu'il fasse partie de l'ensemble.
 
Pour afficher le résultat des calculs, on parcourt l'image en spécifiant les bornes en abscisse et ordonnée. Pour chaque pixel, on retourne une couleur dépendant du nombre d'itérations. Par exemple: jaune pour les petits calculs, bleu pour les grands.


La transformation est la suivante: 

zn+1=zn2+c

Les zn et c sont des nombre complexes. 
c représente le point de l'image en cours de calcul.
On calcule donc la suite zn avec l'initiateur z0 nul . Dès que ||zn||>2 on est sûr de la divergence de la suite, on dessine alors le pixel avec une couleur en fonction de n.

 



pour a= -2 à 0.5 -- a et b représentent les cordonnées du point c du plan --
  pour b= -1 à 1 
    x= 0 -- on initialise x et y à 0 --
    y= 0 -- soit z0=(0,0)
    pour i= 0 à imax 
      tmp= x -- il est indispensable de sauvegarder x avant -- 
      x= x^2-y^2+a 
      y= 2*tmp*y+b 
      si (x^2+y^2) < 4 alors -- test et affichage du point s'il y a lieu -- 
        afficher_point(a,b) 
        i=imax -- pour sortir de la boucle --
      fin si
    fin pour
  fin pour
fin pour

    Méthodes d'édition
Pour générer une "Mandelbrot", il faut donc d'abord choisir un nombre d'itération maximal en fonction duquel l'allure générale peut être entièrement modifiée, car les contours sont d'autant plus rugueux que ce nombre est grand.
Il y a aussi possibilité de zoomer sur un point intéressant du plan, par exemple à la frontière de l'ensemble. Les bornes de l'image sont donc calculées en fonction du facteur de zoom et des coordonées du point.
    Programme: Mandel
"Mandel" est un programme permettant de générer la fractale de Mandelbrot, ainsi que des Julia, dans des fichiers ppm en fonction de certains paramètres.
      Documentation


    Pour obtenir une aide au sujet des options, tappez juste le nom de l'executable.

    >mandel

    Usage: mandel <fichier.ppm> [options]

     
    Options Defauts Valeurs:
    -l <largeur> (250)  {>0}
    -h <haureur> (250)  {>0}
    -q <iterations> (35) {>=1}
    -d <rouge> <vert> <bleu> 0 0 0 {0..255}
    -f <rouge> <vert> <bleu> 255 255 255 {0..255}
    Julia -j <x> <y> Mandelbrot {-2..2}
    Centre -t <x> <y> (0,0) {-2..2}
    -z <zoom> (1) {>0}
    -m <mode> (1) {1..4}
    Curseur -c: inactif
Zoom sur la fractale au point (0.65,0.3)

Animation

facteur de zoom de 2 a 1000

 


Bornes:

1.2
-2 Bornes 2
-1.2

 


Mandelbrot en (0.4,0.6) en fonction du nombre d'itérations
5 iterations
i=5
10 iterations
i=10
15 iterations
i=15
20 iterations
i=20
25 iterations
i=25
30 iterations
i=30

 


Exemple d'images

Dragons
point (-0.745, 0.1) zoomé 1000 fois
Julia en ce point

Dragons x 10
même point zoomé 10.000 fois

Mandelbrot 3D
fractale de Mandelbrot extrudée

Retour à la lettre
 

 

phpMyVisites | Open source web analytics Statistics

inotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.cominotti.com

   

 

Design, développement et rédaction d'inotti.com. Révision : 02 June 2007 .
Copyright © 2003-2006 Emilio Cominotti. Tous droits réservés.

confidentialité et éthique | conditions générales | modalités d'accès | mentions légales | nous recommander