<<

Trace´ vectoriel de fractales

Matthijs Douze IRIT/ENSEEIHT — [email protected]

Resum´ e´ Les fractales sont des figures geom´ etriques´ dans les- quelles une « forme » caracteristique´ est presente´ a` plu- sieurs resolutions´ differentes.´ Nous nous interessons´ ici a` un type de factales particulieres` : les fractales a` temps d’echappement´ . L’approche classique employee´ pour vi- sualiser celles-ci consiste a` les echantillonner´ sur une (a) surface uniforme (b) forme simple grille reguli´ ere.` Nous explorons plusieurs manieres` alter- natives pour les representer,´ et la maniere` dont nous les avons implantees.´ Mots Clef Fractales, images vectorielles. Introduction (c) texture reguli´ ere` (d) fractale La notion mathematique´ de fractale a et´ e´ introduite par Benoˆıt Mandelbrot [1]. Il avait remarque´ que dans certains phenom´ enes` d’apparence complexes, des caracteristiques´ locales se retrouvaient a` des endroits divers et a` des echelles´ differentes.´ Les fractales s’inscrivent dans une hierarchie´ de structures geom´ etriques´ (figure 1). Les fractales sont presentes´ dans la nature, et utilisees´ (e) forme aleatoire´ partout. En particulier, le systeme` de numeration´ arabe est : on code de la memeˆ maniere` (au moyen de FIG. 1: Structures geom´ etriques´ de faible complexite´ don- chiffres) les details´ a` grande et a` petite echelle´ (figure 2). nant des figures de complexites´ perceptuelles croissantes. Mandelbrot a mis en evidence´ le comportement interessant´ d’une classe de fractales appelees´ escape-time . 1 Fractales a` temps d’echappement´ Une fractale a` temps d’echappement´ est definie´ par une fonction complexe f et un critere` N. FIG. 2: x varie de 1523 × 230 − 50 a` 1523 × 230 + 149. La f : C × C −→ C colonne correspondant a` x porte sa decomposition´ binaire, N : C −→ R+ blanc = 0, noir = 1, poids faibles vers le haut. La figure est fractale. Pour p ∈ C, on considere` la suite (un(p))n∈N : est lineaire,´ alors l’expression de un(p) est de complexite´  u0(p) = p constante en n, donc Ef,N n’est pas fractale. un+1(p) = f(un(p), p) Les fractales a` temps d’echappement´ les plus simples qu’on puisse definir´ dependent´ d’un parametre` c ∈ C tel La fractale est alors l’ensemble : que |c|< 2 :

Ef,N = {p ∈ / lim N(un(p)) 6= +∞}  2 C n f(z, p) = z + c N(z) = |z | C’est l’iteration´ de la suite (u(p)n)n qui fait naˆıtre la complexite´ de l’ensemble Ef,N . En particulier, si f(., p) C’est la famille des fractales de Julia. Par curiosite,´ on en

1 deduit´ la fractale de Mandelbrot :

 f(z, p) = z2 + p N(z) = |z | 2 Rendu des fractales a` temps d’echappe-´ ment La methode´ traditionnelle pour visualiser ces fractales (nommee´ BSM par Peitigen [3]) est simple : – choisir un sous-ensemble borne´ de C (un rectangle), et definir´ une grille dessus (un quadrillage rectangulaire), – pour chaque point p de la grille, calculer les valeurs de la suite jusqu’a` ce que N(un(p)) depasse´ une certaine va- leur dmax ou qu’on ait effectue´ un certain nombre nmax d’iterations.´ (a) La fractale de Julia correspondant a` c = −0.515 − Cette methode´ permet d’obtenir des images bitmap specta- 0.567i culaires [2]. On peut colorer les points exterieurs´ de l’en- semble en fonction du rang m de la suite a` partir duquel 1 N(um(p)) > dmax (figure 3). On peut facilement rendre cet algorithme rendre parallele` : il n’y a pas de dependance´ entre les pixels, et la quan- tite´ d’information a` transporter tres` faible. Nous avons developp´ e´ une architectrure client/serveur pour calculer des images sur 50 machines Sparc a` l’ENSEEIHT. Le pro- gramme AltiVecFractal [11] exploite les instructions vec- torielles presentes´ sur les processeurs G4. Cependant, sur une machine monoprocesseur, avec une taille d’image assez consequente,´ et un nombre d’iterations´ nmax de l’ordre de quelques milliers, on est loin de pouvoir faire un rendu temps reel.´ C’est pour cette raison qu’ont et´ e´ developp´ ees´ des strategies´ d’accel´ eration´ tres` efficaces. Elles visent surtout (b) f(z, p) = (1 + 0.1i) sin z, N(z) =| Re z |. La fractale a` ne pas perdre de temps sur les grandes zones untiformes. est periodique´ de periode´ 2π, et sa surface est nulle. La presentation´ que nous en faisons ici est inspiree´ du pro- gramme [9]. 2.1 Devinette La methode´ de guessing se decompose´ en deux passes : 1. On calcule les valeurs de m sur une grille sous- echantillonn´ ee.´ 2. Pour chaque point calcule,´ on regarde s’il a la memeˆ valeur que ses voisins. Si oui, on « colorie » le pave´ qui l’entoure avec cette valeur, sinon on calcule aussi l’interieur´ du pave.´ Le guessing gen´ ere` facilement des images imprecises,´ mais il est tres` rapide. On l’utilise typiquement pour la previsualisation.´ On peut aussi l’appliquer plusieurs fois a` des echelles´ de plus en plus fines. (c) f(z, p) = (0.9 + 0.3i) exp z, N(z) = min(|Re z |, 2.2 Pavage |Im z |). La periode´ est 2iπ. Le pavage (tesseral guess ou methode´ de Mariani) consiste a` decouper´ recursivement´ le rectangle auquel on s’interesse´ FIG. 3: Exemples de fractales rendues avec la methode´ en deux parties, et a` calculer m sur les bords de chaque classique. Les points exterieurs´ de la fractale sont plus sombres si m est plus grand. L’interieur´ est en noir. 1Dans le cas des fractals de Mandelbrot et de Julia, on montre [4] que limn N(un(p)) = +∞ ⇐⇒ ∃m ∈ N/ |um(p)|> 2, ce qui donne tout de suite la valeur appropriee´ dmax = 2.

2 rectangle. Si les bords sont uniformes, on « colorie » tout partie originale du fractal est dej´ a` perceptible a` une echelle´ l’interieur´ du rectangle avec la valeur, sinon on redivise. grossiere` et avec un faible nombre d’iterations.´ Cette methode´ marche bien si on a des informations ad C’est pour cette raison que nous avons voulu faire le rendu hoc qui nous empechent` de negliger´ les ensembles bornes´ de Fm avec un nombre d’iterations´ m limite,´ mais en des- isoles.´ Nous avons propose´ une optimisation dans laquelle sinant les bords de maniere` precise.´ Pour cela, il nous est on choisirait judicieusement a` quelle hauteur on fait la apparu necessaire´ d’avoir une representation´ sous forme de coupe, au lieu de le faire systematiquement´ au milieu. polygones. Cette representation´ vectorielle a pour avantage ´ 2.3 Suivi de bords de respecter la structure de la fractale. Elle est editable, et paraˆıt parfaitement lisse, memeˆ quand elle est imprimee.´ La methode´ de boundary trace (MBSM dans la terminologie de [3]) explore les bords de l’ensemble 4 Suivi de bords vectoriel

Fm = {p ∈ C/um(p) < dmax} En premier lieu, nous avons cherche´ a` suivre les bords de l’ensemble Fm. Pour cela, il faut qu’une methode´ ad hoc pour un m donne.´ On gen´ ere` une suite de points (πn)n fournisse un point dans chaque region´ connexe de Fm et de en marchant par des pas entiers dans les quatre directions C\Fm. canoniques, en s’assurant qu’on garde toujours l’interieur´ Pour trouver un point de depart´ du suivi, il suffit de cher- de l’ensemble sur la gauche. La grille delimite´ des cases cher un point p0 ∈ ∂Fm par dichotomie entre p ∈ Fm et

qui sont consider´ ees´ comme faisant partie de Fm ou pas q∈ / Fm (figure 5).

¡

selon la¡ situation de leur coin inferieur´ gauche (figure 4).

¡ ¡

¡

¡ q

¡

out ¡ ? in out in in

¡ ¡ Fm in out in out in out p p + q 2 FIG. 4: A` l’etape´ courante, la case a` gauche est in et celle a` droite out. Selon la situation des cases de devant, on tour- nera de maniere` a` maintenir cette propriet´ e.´ On trouve ainsi a` peu de frais les bords de la fractale, mais FIG. 5: Recherche du bord par dichotomie certaines regions´ connexes, dont le lien avec la region´ prin- p0 est le premier terme d’une suite de points (pn)n du cipale est trop fin, peuvent nous echapper.´ bord. Nous avons developp´ e´ deux methodes´ pour calculer 2.4 Detection´ d’orbites les termes suivants de la suite. Apres` un regime´ transitoire plus ou moins long, les 4.1 Methode´ intuitive el´ ements´ de la suite (un(p))n se rapprochent souvent d’une Elle consiste a` effectuer des pas, de longueur l. Si on a les spirale logarithmique (on a une vraie spirale logarithmique points pn−1 et pn, on cherche le point pn+1 sur l’arc de dans le cas lineraire).´ En estimant les parametres` de cette cercle de rayon l et d’angles [−αmax, αmax] autour de la −−−−→ spirale, on peut determiner´ si elle converge vers un attrac- direction pn−1pn (figure 6). teur ou si elle diverge. Si elle converge, on peut arreterˆ de calculer les el´ ements´ de la suite. Cette methode´ est tres` performante, mais elle echoue´ quel- quefois pour des fonctions trop instables. αmax En somme, en combinant ces techniques programmees´ de maniere` astucieuse, on peut calculer les fractales en fai- p3 −αmax sant 20 a` 200 fois moins de calculs qu’avec l’implantation na¨ıve. On peut ensuite zoomer et deplacer´ la fenetreˆ de vi- p2 sualisation en temps reel´ (voir XaOS [10]). On est cepen- Fm dant limite´ dans la profondeur du zoom par le macheps, FIG. 6: Suivi du bord par pas de longueur constante qui fait qu’a` un certain moment, les flottants sont trop peu Si les deux extremit´ es´ de l’arc sont toutes deux a` l’interieur´ precis´ pour representer´ la difference´ entre deux pixels voi- ou a` l’exterieur,´ on double α jusqu’a` ce que ce ne soit sins. max plus le cas. On trouve ensuite l’intersection (ou une des 3 Le rendu vectoriel intersections) de l’arc avec l’ensemble par dichotomie, ce qui nous donne pn+1. Regarder des fractales est interessant,´ mais, par definition,´ Cette methode´ repose sur le choix d’un l pertinent en fonc- on voit toujours des motifs rep´ etitifs.´ C’est-a-dire` que la tion du rayon de courbure de l’ensemble. Par exemple, on

3 voit sur la figure 6 que le pas est trop grossier pour suivre Pour calculer Fm, il suffit donc de partir de F0 et de passer −1 la protuberence´ du haut. Malheureusement, pour les frac- de Fn a` Fn+1 a` l’aide de f . En pratique, il faut faire tales, le rayon de courbure varie tres` soudainement. Ceci deux choix : introduit non seulement des erreurs de suivi, mais en plus, 1. quels points de p0,1, ..., p0,h ∈ F0 va-t-on choisir ini- l’algorithme peut etreˆ tellement desorient´ e´ qu’il repasse sur tialement ? un bord, ce qui le fait rentrer dans une boucle sans fin. −1 On pourrait adopter une methode´ adaptative qui diminue l 2. a` l’etape´ n, va-t-on calculer tous les f (pn,i), et si- quand on detecte´ un boucalge. Cependant, cela aurait pour non, lesquels gardera-t-on ? consequence´ que les pas ne seraient pas de la memeˆ lon- Les algorithmes IIM-A et MIIM proposes´ dans [3] choi- gueur, pour une courbure donnee,´ de part et d’autre d’une sissent au hasard les p0,i. Ensuite, ils choisissent au ha- protuberence.´ sard (IIM-A) ou selon une etude´ statistique (MIIM) un des −1 el´ ements´ de f (pn,i). On obtient finalement un nuage de 4.2 Methode´ realiste´ points sans surface (figure 8). Une methode´ plus robuste s’appuie sur la technique present´ ee´ au 2.3, qui fournit dej´ a` une suite de points πn qui suit la courbe. Ces points ne sont pas sur la courbe. Par contre, chaque paire (πn, πn+1) correspond a` une paire de 0 00 points (πn, πn) de part et d’autre de la courbe : ce sont les coins inferieurs´ gauches des cases adjacentes. Il suffit donc de proceder´ par dichotomie pour trouver la suite des pn (fi- gure 7). Si la longueur du pas choisi entre√ les πn est λ, la distance entre les pn est inferieure´ a` λ 2.

p7 00 00 π6 = π7 0 π7 FIG. 8: Fractale de Julia, pour c = −0.515−0.567i, rendue p6 00 avec la methode´ MIIM. π2 π0 = π0 5 6 p2 La fractale de Julia Fm π0 Dans notre approche, nous choisisions les p0,i sur ∂F0, et 2 −1 nous suivons tous les f (pn,i). FIG. 7: Les points π0 sont sur F , et les π00 a` l’exterieur.´ n m n Dans ce cas, F = {p ∈ / | p |< 2} = D(0, 2) est Chaque paire sert de support au calcul d’un point p . 0 C n 0 2 f −1(p) = le√ disque (ouvert)√ de centre et√ de rayon . Par construction de la suite (πn)n, cette methode´ ne boucle { p − c, − p − c}, en notant z = z1/2, ou` on choisit pas. Malheureusement, elle ne decouvre´ pas les details´ de l’argument dans [−π, π[. Donc f −1(p) a deux el´ ements,´ taille inferieure´ a` λ. C’est cette raison qui nous a fait aban- sauf pour f −1(0) = 0. donner les methodes´ de suivi gen´ eriques´ 2. Nous utilisons un polygone regulier´ a` h cotˆ es´ pour representer´ ∂F 0, et a` chaque etape´ nous calculons la trans- 5 Iteration´ inverse formee´ des sommets. Ceci signifie que nous devons stocker n L’iteration´ inverse consiste partir de l’ensemble {p ∈ h2 points a` l’etape´ n. La puissance des ordinateurs actuels nous limite a` un nombre d’iterations´ de l’ordre de m = 20. C/N(p) < dmax}, et d’en deduire´ Fm. Il faut aussi savoir comment relier les points les uns aux 5.1 Cas ou` f(z, p) ne depend´ pas de p autres pour « coller » le mieux aux ∂Fn. Dans ce cas, on peut noter f(z, p) = f(z), et on a : Topologie de Fn m um(p) = f (p) Les Fn sont emboˆıtes´ : F0 ⊃ F1 ⊃ ... ⊃ Fm. Fm = {p ∈ C/N(um(p)) < dmax} Demonstration´ : Montrons que F1 ⊂ F0. Soit q ∈ F1. −1 = (N ◦ um) ([0, dmax[) Alors p = f(q) ∈ F0, donc |p|< 2. m −1 −1 = (f ) (N ([0, dmax[)) −1 m |p − c| < |p| + |c|< 2 + 2 = 4 = (f ) (F0) p|p − c| < 2 −1 −1 √ f est l’inverse de f au sens ensembliste. f (z) = | p − c| < 2 (passage aux complexes) f −1({z}) peut etreˆ vide, ou compose´ de plusieurs |q |∈|f −1(p)| ⊂ C(0, 2) el´ ements.´

2Gen´ eriques´ parce qu’elles peuvent s’appliquer (avec plus de succes)` Donc q ∈ F0, donc F1 ⊂ F0. Par recurrence,´ Fn ⊂ a` des fonctions non-fractales Fn+1

4 √ √ L’image inverse d’un ensemble connexe ouvert K par la Sinon, δ+(1) = −+(0) = ± a. Si δ+(1) = a 2 √ fonction κ(z) = z est soit un ensembe connexe ouvert, (resp. = − a) alors le chemin constitue´ de δ+, γ+ soit deux ensembles connexes ouverts. (resp. γ−) et + mis bout a` bout relie b1 a` b2. Donc κ−1(K) est connexe. Demonstration´ : soient a , a ∈ K. K est connexe, 1 2 Inversement,´ supposons que κ−1(K) est connexe. donc il y a un chemin3 γ de a vers a . γ coupe B 1 2 κ−1 est aussi symetrique´ par rapport a` 0. .... le demi-axe des re´els´ negatifs´ en n points (n est −1 −1 eventuellement´ nul, l’ouverture de K assure qu’on f (z) = κ (z − c), et les Fn sont des surfaces sim- peut trouver γ tel que n ne soit pas infini) : plement connexes, donc Fn est connexe si et seulement si c ∈ Fn. Sinon, Fn+1 est constitue´ de deux ensembles 0 = t < t < t < . . . < t < t = 1 0 1 2 n n+1 connexes symetriques´ par rapport a` l’origine. −∗ En combinant ceci avec la propriet´ e´ d’emboˆıtement, on ∀k = 1..n, γ(tk) ∈ R voit que les Fn sont connexes jusqu’a` un certain rang nconn On definit´ γ+ sur chaque tronc¸on [tk, tk+1[. Pour t ∈ (eventuellement´ infini), premier rang tel que c∈ / Fnconn , [tk, tk+1[, kp au-dela` duquel ils se divisent perpetuellement´ en deux. Fn γ+(t) = (−1) γ(t) √ est donc compose´ de . est continu et infiniment derivable´ partout, sauf  sur la demi-droite des reels´ negatifs,´ donc γ+ est 1 si n < nconn continu et continumentˆ derivables´ par morceaux sur 2n−nconn sinon [0, 1]\{t1, . . . , tn}. composantes connexes. Montrons que γ+ est continu en tk. Les continuites´ a` gauche et a` droite donnent : L’algorithme

kp Pour tracer les polygones, on procede` donc en remplissant lim γ+(t) = (−1) γ(tk) − un tableau p(n, j) ou` n est le numero´ de l’iteration,´ et j = t→tk 1..h2n est un numero´ de point. k+1p lim γ+(t) = −(−1) γ(tk) + Pour j dans 0 a h − 1 faire t→tk 2iπj Les deux limites sont les memes,ˆ donc γ est p(0, j) := 2e h √ + continu en tk. Donc γ+ est un chemin de a1 vers Fin pour n√ (−1) a2. De la memeˆ maniere,` γ− = −γ+ est un nconn := m √ n+1√ chemin de − a1 vers (−1) a2 Pour n dans 1 a m faire Le resultat´ a` retenir est : l’image inverse d’un che- ncoupes := 0 min de K par κ est deux chemins : κ−1(γ(t)) = Pour j dans 0 a h2n−1 − 1 faire − {γ+(t), γ−(t)}. Si [p(n − 1, j − 1) p(n − 1, j)] coupe R alors −1 BMontrons que κ (K) comprend au plus deux com- ncoupes := ncoupes + 1 −1 posantes connexes. Soient b1, b2, b3 ∈ κ (K), il Fin si faut montrer que deux des trois sont sur un ensemble z := pp(n − 1, j) − c connexe, donc qu’il existe un chemin les reliant. Si ncoupes pair alors Notons γ+ et γ− (resp. δ+ et δ−) les composants de p(n, j) := z et p(n, 2n−1 + j) := −z l’inverse d’un chemin de κb1 vers κ(b2) (resp. κ(b2) Sinon κ(b ) γ (0) = b δ (0) = b vers 3 ) tels que + 1 (resp. + 2). p(n, j) := −z et p(n, 2n−1 + j) := z Si γ (1) = b , γ est un chemin reliant b a` b . + 2 + 1 2 Fin si γ (1) = δ (0) δ (1) = b Sinon + − . Si − 3 alors le chemin Fin pour constitue´ de γ+ et δ− mis bout a` bout relie b1 a` b3. Si (ncoupes pair) ∧(nconn = m) alors Sinon, δ+(1) = b3, donc le chemin δ+ relie b2 a` b3. nconn := n Si il existe un lacet de K qui « entoure » 0 (c’est-a-dire` Fin si que 0 est d’indice non nul par rapport au lacet), alors il n’y Fin pour a qu’une composante connexe. Pour tracer les polygones, on procede` ainsi : γ γ(0) = γ(1) = Demonstration´ : Appelons le lacet, – Si n ≤ nconn, les points de p(n, .) forment un polygone. a, et γ+ et γ− ses antec´ edants.´ – Sinon, les points de (p(n, .), regroupes´ par paquets de −1 Soient b1, b2 ∈ κ (K). Il y a un chemin δ de κ(b1) h2nconn forment des polygones disjoints. vers a, et  de a vers κ(b2). Les images inverses sont δ+, δ− et +, −, tels que δ+(0) = b1 et +(1) = b2. Experimentations´ Alors si δ+(1) = +(0), le chemin constitue´ de δ+ et Nous avons developp´ e´ en C un programme qui permet de + mis bout a` bout relie b1 a` b2. visualiser rapidement les fractales tracees´ ainsi (figure 9). On peut egalement´ sauvegarder les fichiers au format EPS, 3Un chemin est une fonction γ : [0, 1] 7→ K continue continumentˆ derivable´ par morceaux. Si γ(0) = γ(1), c’est un lacet. Les termes em- qui est facilement utilisable dans des logiciels de dessin ployes´ ici sont issus de [5]. vectoriel. La figure 10 presente´ quelques exemples.

5 Les polynomesˆ m um(p) est un polynomeˆ de degre´ 2 en p : um ∈ N2m [X]. Les coefficients de ce polynomeˆ n’ont rien de particulier (figure 11).

FIG. 11: Decomposition´ binaire des coefficients du po- FIG. 9: Capture d’ecran´ de JULIARING. La croix rouge lynomeˆ u . On ne voit rien de regulier´ qui pourrait etreˆ represente´ le point c. 8 exploite.´ Trouver les racines d’un polynomeˆ de degre´ 2m est une operation´ en O(m2m) au moins, et il faut la reit´ erer´ pour tous les h2m points, ce qui est trop couteux,ˆ memeˆ pour un petit m. Methode´ iterative´ Nous exploitons le fait que pour p donne,´ on peut obtenir la 0 deriv´ ee´ um(p) en plus de um(p). D’apres` les lois derivation´ des fonctions analytiques,  0 u0(p) = 1 0 0 0 0 un+1(p) = f (un(p), p)un(p) = 2un(p)un(p) en notant f 0 la deriv´ ee´ de f par rapport a` son premier argu- (a) pour c = −0.69 + 0.38i, et m = 20 ment. 0 On peut utiliser um pour appliquer la methode´ iterative´ de Newton selon l’algorithme :

Pour j dans 0 a h − 1 faire 2iπj p(0, j) := 2e h Fin pour Pour j dans 0 a h2n−1 − 1 faire (b) pour c = −1.66 + 0.04i, et m = 15 (detail)´ p := p(m, j − 1) Faire FIG. 10: Exemples de fractales de Julia. 0 p := p − (p(0, j mod h) − um(p))/um(p) e :=|p(0, j mod h) − um(p)| 5.2 Pour l’ensemble de Mandelbrot Tant que e > ε p(m, j) := p Pour l’ensemble de Mandelbrot, il n’y a pas de propriet´ e´ Fin pour facilement exploitable comme pour les fractales de Julia. ε est une erreur admissible pour e. Comme prec´ edemment,´ nous partons de F0 = D(0, 2). Les images des iter´ ees´ Fn sont connexes et emboˆıtees.´ Le pre- Experimentations´ mier resultat´ a et´ e´ demontr´ e´ par Douady et Hubbard [6], Nous avons implante´ l’algorithme en C etendu´ (gcc gerant´ le second est analogue au cas des fractales de Julia. Dans les complexes). Nous avons pris ε = 10−18, un peu au ce contexte, il n’y a pas de problemes` pour connecter les dessus du macheps pour les flottants 64-bits. L’algorithme points. converge sans problemes` pour m < 7. Ensuite, on est −1 Il faut donc trouver Fm = um (F0), soit en pratique oblige´ d’augmenter le nombre de cotˆ es´ h du polygone se- −1 m−6 {pm,j, pm,j+h, ..., pm,j+2m−1} = um (p0,j). Il n’y a pas lon une loi empirique h = 100 × 2 . La figure 12 de raison pour calculer tous les Fn. represente´ le resultat.´

6 [4] R. Devaney, Chaos, Fractals, & Dynamica, Computer-experimenten in de wiskunde, Addison- Wesley, Amsterdam, 1992. [5] Dictionnaire des mathematiques´ , article sur les fonc- tions analytiques, J.-L. Verley, Encyclopædia Univer- salis/Albin Michel, Paris, 1997. [6] Douady, A., Hubbard, J. H. Iteration´ des polynomesˆ quadratiques complexes, CRAS Paris, 1982. [7] D. Rochon, A Generalized for Bicom- plex Numbers, World Scientific/Fractals, Volume 8, Number 4, december 2000. [8] The Persistence of Vision Raytracer,(http:// www.povray.org). [9] Timothy Wegner, Jonathan Osuch, George Martin, Robin Bussel et al., FRACTINT,(http://www. FIG. 12: Approximation des bords de Fm pour m = 1..13. fractint.org). [10] Jan Hubicka et al., XAOS(http://www.gnu. Conclusion org/software/xaos). Les fractales sont bien connues maintenant, et tres` inten- [11] Dauger Research, ALTIVECFRACTAL (http:// sivement etudi´ ees´ sur le plan theorique.´ Cependant, les daugerresearch.com). methodes´ de visualisation restent en gen´ eral´ assez primi- tives. Notre contribution consiste donc principalement en une methode´ pour dessiner les bords, et potentiellement l’interieur´ de fractales a` temps d’echappement´ sous forme de polygones. Dans la suite de notre travail, plusieurs voies s’offrent a` nous : – Calculer des parties de polygones, c’est-a-dire` pouvoir zoomer sur une region´ sans calculer la partie du poly- gone invisible. –Gerer´ des bords en splines, au lieu de polygones dont les angles sont trop apparents ou, a` defaut,´ adapter la longueur des segments. – Approcher aussi la frontiere` de la fractale de Mandelbrot par l’interieur.´ – Peut-etreˆ une gen´ eralisation´ a` la 3D ? Ce dernier point fait ref´ erence´ aux recherches en cours sur les fractales en 3 et 4-D (le premier etant´ une coupe du second). Elles se basent sur des gen´ eralisations´ des com- plexes, comme les quaternions et les hypercomplexes ex- ploites´ dans POV [8] ou les bicomplexes [7]. D’une maniere` gen´ erale,´ les logiciels de dessin vectoriel ignorent completement` les fractales, alors que celles-ci ont un inter´ etˆ esthetique´ indeniable.´

Ref´ erences´

[1] B. Mandelbrot, Les objets fractals, Flammarion, Pa- ris, 1975. [2] H-O. Peitigen, P.H. Richter The Beauty of Fractals, Springer-Verlag, Berlin, 1986. [3] H.-O. Peitigen, D. Saupe The Science of Fractal Images, Springer-Verlag, Berlin, 1988.

7