FurMark
Current Version: 1.8.2
»FurMark
»Benchmark Submissions

GPU Caps Viewer
Current Version: 1.8.9
»GPU Caps Viewer
»GPU DB Submissions

PhysX FluidMark
Current Version: 1.2.0
»PhysX FluidMark
»Benchmark Submissions

Blogs
»Demoniak3D Blog
»JeGX's Infamous Lab

Link to Us

oZone3D.Net 100% Realtime 3D

»All Site's Network
 
Fractales de Mandelbrot: Couleurs de l'Infini

Par Nathan Reed
www.reedbeta.com
et
Jérôme Guinot
www.oZone3D.Net

Version initiale: 25 Janvier 2006




[ Index ]

Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6



6 - Pour aller plus loin


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!



7 - Ressources complémentaires



8 - Downloads



Téléchargez les codes sources des démos
Mise à jour: 25 Janvier 2006
GPGPU Mandelbrot Demo





9 - A propos des auteurs


Auteur:Nathan 'Reedbeta' Reed
Pays:Californie
Contact:reedbeta [at] yahoo [dot] com
Homepage:www.reedbeta.com

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.



Author:Jerome 'JeGX' Guinot
Country:Switzerland
Contact:jegx [at] ozone3d [dot] net
Homepage:www.ozone3d.net

Jerome Guinot se focalise actuellement sur le développement du démo-système Demoniak3D et est le webmaster du site oZone3D.Net.



[ Index ]

Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6







Langue:

3D Graphics Search Engine:

The Geeks Of 3D





Geeks3D News


HackLAB News

Demoniak3D
Current Version: 1.23.0
»Demoniak3D
»Download
»Libraries and Plugins
»Demos
»Online Help - Reference Guide
»Codes Samples


Misc
»Texture DataPack #1
»Asus Silent Knight CPU Cooler
Page generated in 0.077461004257202 seconds.