Le calcul général sur GPU est un champ nouveau et excitant, et beaucoup de
façons de tracer les fractales avec le GPU n'ont pas encore été explorées. Que les lecteurs
intéressés n'hésitent pas à développer plus en avant les algorithmes vus ci-dessus.
Voici quelques idées.
6.1 - L'estimateur de distance
Il se trouve que la formule itérative employée dans cet article n'est pas la seule
façon pour calculer les points de la fractale de Mandelbrot. Il existe une fonction
appelée estimateur de distance pour le domaine de Mandelbrot. Pour la définir, nous avons
d'abord besoin de la dérivée de la suite
zn:
z'0 = 1
z'n+1 = 2z'nzn
C'est une autre suite qui peut être calculée avec la suite zn.
Une fois en possession de cette suite, l'estimateur de distance est:
d(zn) = |zn|
ln |zn2|
/ |z'n|
Ici, les barres verticales traduisent la distance de l'origine du nombre complexe.
La limite, pour n tendant vers l'infini, de cette fonction donne la distance entre le
point c et le point le plus proche résidant dans le domaine de Mandelbrot. Ceci peut être
utilisé pour augmenter la qualité de l'image avec peu d'itérations, puisque la suite peut être stoppée
dès que l'estimateur de distance converge (i.e dès que la différence entre deux valeurs successives de
d(zn) devient petite).
Une autre application de l'estimateur de distance est l'antialiasing. La fonction variant de
façon continue sur les points du plan, il est possible d'approximer sa valeur moyenne au-dessus de la zone de pixels.
6.2 - Buddhabrots
Le soi-disant Buddhabrot est une variation de la technique de rendu de Mandelbrot.
Pour produire un Buddhabrot, nous formons la suite zn à chaque point comme avant,
mais au lieu de colorier ce point en fonction du comportement de la suite, nous incrémentons un compteur
pour chacun des points que la séquence produit (ndt: j'ai un gros doute sur ma traduc...).
Globalement, certaines zones seront plus fréquemment touchées par la suite que d'autres. L'image qui est ainsi
créée, quand elle est tournée de côté, ressemble un peu à la description d'Eastern d'un buddha assis.
Pour plus d'informations et d'idées concernant les Buddhabrots, voir
cette page.
6.3 - Les domaines de Julia
Les domaines de Julia peuvent un peu être considérés comme une généralisation du domaine de
Mandelbrot. Pour dessiner un domaine de Julia, nous formons la suite de base, mais au lieu d'utiliser comme
point de départ la valeur c, nous utilisons une unique valeur de c pour tous les points du plan.
Cela implique qu'il y a un domaine de Julia unique pour chaque valeur possible de c.
Il y a une curieuse relation entre le domaine de Mandelbrot et ceux de Julia.
Les domaines de Julia sont créés à partir d'une valeur de c située en dehors
du domaine de Mandelbrot; ils sont "poussiéreux" — ils consistent en une infinité de
points éparpillés sans aucune connexion entre eux. Les valeurs de c situées à l'intérieur
du domaine de Mandelbrot produisent des domaines de Julia qui sont connectés, comme Mandelbrot lui-même.
Les domaines de Julia les plus intéressants, ceux qui affichent la plus grande variation de détail et
d'auto-similarité, sont ceux qui proviennent des valeurs de c proches du bord du domaine de Mandelbrot.
6.4 - Dimensions supérieures
Les nombres complexes définissent des opérations comme la multiplication et la
division en deux dimensions. Il est également possible de définir des opérations similaires
en quatre dimensions, huit, seize, ou n'importe quel puissance de deux. Pour comprendre
quelles sont ces opérations, on peut utiliser la construction de Cayley-Dickson.
Il est alors possible de calculer les fractales en quatre (et même plus) dimensions. Pour les afficher à l'écran,
il faut prendre une tranche tri-dimensionnelle de la fractale. Des informations complémentaires sur les domaines de Julia en quatre
dimensions peuvent être trouvées ici.
Les fractales sont parmis les plus étranges objets mathématiques, et une partie de l'émerveillement qu'elles suscitent
vient du fait qu'elles sont faciles à comprendre et à créer. Les possibilités sont infinies et le nombre de genre
de fractales et la façon de les rendre font qu'il n'y pas assez de place pour en discuter ici.
Nous espérons que cet article a piqué votre intérêt, et peut-être serez-vous le premier à découvrir un nouveau type de fractale!
Nathan Reed est actuellement étudiant en science de l'informatique. Durant son temps libre, il aime jouer avec de beaux algorithmes graphiques
et travaille en ce moment sur un raytracer.
Jerome Guinot se focalise actuellement sur le développement du démo-système Demoniak3D et est le webmaster du site oZone3D.Net.