Quelques Remarques concernant
le Calcul et la Visualisation des Objets Fractals






Jean-François COLONNA
[Contact me]

www.lactamme.polytechnique.fr

CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641, École polytechnique, Institut Polytechnique de Paris, CNRS, France

[Site Map, Help and Search [Plan du Site, Aide et Recherche]]
[The Y2K Bug [Le bug de l'an 2000]]
[Real Numbers don't exist in Computers and Floating Point Computations aren't safe. [Les Nombres Réels n'existent pas dans les Ordinateurs et les Calculs Flottants ne sont pas sûrs.]]
[N'oubliez pas de visiter Une Machine Virtuelle à Explorer l'Espace-Temps et au-delà où vous trouverez plus de 10.000 images et animations à la frontière de l'Art et de la Science]
(Site WWW CMAP28 : cette page a été créée le 20/12/2010 et mise à jour le 03/10/2024 17:07:00 -CEST-)



Mots-Clefs : Anaglyphes, Art et Science, Autostéréogrammes, Chaos Déterministe, Création Artistique, Entrelacs, Erreurs d'arrondi, Expérimentation Virtuelle, Génie Logiciel, Géométrie Fractale, Infographie, Mathématiques, Mécanique Céleste, Mécanique Quantique, Physique, Sensibilité aux Erreurs d'Arrondi, Simulation Numérique, Stéréogrammes, Synthèse de Phénomènes Naturels, Synthèse de Texture, Visualisation Scientifique, Voyage Virtuel dans l'Espace-Temps.




1-LES DIFFICULTES INHERENTES AU CALCUL DES OBJETS FRACTALS :

Pour un objet fractal, dont la définition est donnée dans un certain espace, son infinie complexité fait qu'il est quasiment impossible de répondre de façon sûre à certaines questions : tel point appartient-il à l'ensemble ? Si oui, peut-on y définir une tangente, une normale,... ? Le fait de vouloir y répondre de façon numérique, c'est-à-dire à l'aide d'un ordinateur, ne fait que compliquer le problème. En effet, ces machines ne connaissent ni l'infini, ni le continu dont la plupart des objets fractals dépendent. Les "nombres" flottants, avec lesquels sont faits les calculs, vont alors être la source de deux difficultés supplémentaires : d'une part l'impossibilité d'accéder effectivement aux nombres réels, or le comportement des itérations utilisées peut varier du tout au tout d'un point à un autre voisin. D'autre part les erreurs d'arrondi dont ils sont l'objet, combinées au fait que ces itérations sont généralement sensibles aux conditions initiales, font qu'après chaque calcul intermédiaire le système peut "bifurquer" différemment de ce qu'il ferait si les calculs utilisaient effectivement les nombres réels (ce qui est malheureusement impossible...). A titre d'exemple, il est intéressant de calculer l'ensemble de Mandelbrot en simple et en double précisions (respectivement 32 et 64 bits), puis de comparer les résultats : les deux frontières obtenues sont en fait différentes. Une expérience encore plus simple à réaliser consiste à faire de même avec l'itération :
                    S    = R.S .(1-S )
                     n+1      n     n
en choisissant par exemple S[0]=0.5 et R=3.6 :
                              32 bits   64 bits
                    S[000] =  0.50000   0.50000
                    S[010] =  0.45783   0.45783
                    S[020] =  0.33142   0.33142
                    S[030] =  0.51520   0.51514
                    S[040] =  0.42070   0.42101
                    S[050] =  0.33303   0.33467
                    S[060] =  0.54909   0.57548
                    S[070] =  0.36566   0.35862
                    S[080] =  0.38399   0.39532
                    S[090] =  0.54227   0.59320
                    S[100] =  0.33175   0.43172
                    S[110] =  0.52272   0.40917
                    S[120] =  0.38036   0.39152
                    S[130] =  0.49769   0.59933
                    S[140] =  0.45695   0.53809
                    S[150] =  0.33446   0.32410
                    S[160] =  0.57263   0.34367
                    S[170] =  0.38081   0.56601
                    S[180] =  0.50325   0.41848
                    S[190] =  0.45609   0.32507
                    S[200] =  0.33788   0.35966


Une autre difficulté généralement passée sous silence vient de la notion de "nombre d'itérations". En effet, la plupart des objets fractals sont obtenus en répétant une certaine transformation T tant qu'une certaine condition C est vraie : le nombre N d'itérations varie en général d'un point à l'autre. Dès que C devient fausse, les choses sont déclarées (de façon parfois présomptueuse) sûres : le point courant n'appartient pas à l'ensemble. Par contre tant que C reste vraie, la situation est plus incertaine : en effet, pour des raisons pratiques évidentes, il est impossible d'itérer indéfiniment ; il faut bien s'arrêter pour une valeur de N fixée arbitrairement à l'avance (par exemple 1000), mais qui sait ce qu'il adviendrait si une itération de plus était effectuée ? De plus, les erreurs d'arrondi mentionnées précedemment ajoute une nouvelle source d'ambiguité : la valeur logique de C calculée numériquement peut être différente de ce qu'elle est en réalité (avec les nombres réels) mais qui reste malheureusement inaccessible. Enfin, dans certains cas (celui des Mandelbulbs me semble-t-il), où les ensembles visualisés n'ont pas été étudiés mathématiquement (comme l'ont été les ensembles de Mandelbrot et de Julia), il n'est pas impossible, qu'en augmentant la valeur arbitraire de N (d'ailleurs choisie faible en général -par exemple 20-), ces ensembles s'"évaporent" : peut-être n'existent-ils pas...



2-LE COLORIAGE ET LA VISUALISATION DES OBJETS FRACTALS :

Lors du calcul d'un objet fractal, deux cas se présentent : soit il s'agit d'un objet naturel (une montagne par exemple) et alors les couleurs qui lui seront attribuées sont en quelque sorte imposées. Soit il s'agit d'un objet abstrait (par exemple le fameux ensemble de Mandelbrot) et le choix des couleurs sera bien souvent arbitraire. Malgré cela, en général le mode de représentation utilisé sera choisi de façon à véhiculer une ou plusieurs informations pertinentes, mais ce choix dépendra aussi de la dimension de l'espace et ce de façon importante.

Pour les objets bidimensionnels, le problème est relativement simple. Ainsi, les ensembles de Mandelbrot et de Julia calculés dans le plan complexe, sont obtenus par N (variable...) itérations d'une certaine transformation en chacun de leurs points. La couleur attribuée à chacun d'eux pourra être choisie comme une fonction de N, mais une autre façon de procéder consistera à considérer N comme étant une troisième dimension orthogonale au plan complexe : l'objet sera alors représenté par une surface. Au-delà, même si le principe d'itérations est le même, les choses se compliquent évidemment au niveau de la visualisation. En dimension trois, il s'agit encore d'objets "compatibles" avec notre espace et même s'ils sont fractals, ils sont visualisables par des projections sur un plan, grâce aux techniques bien maîtrisées de la synthèse d'image. En dimension quatre (et plus...), ils ne sont plus représentables intégralement : seules, par exemple, des coupes tridimensionnelles accompagnées de rotations et/ou de translations seront possibles. Mais les limites de ces techniques sont évidentes : il suffit de s'imaginer pour cela ce que serait notre perception des objets du quotidien, si nous n'en percevions que des coupes planes.


Copyright © Jean-François COLONNA, 2010-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2010-2024.