From madore@clipper.ens.fr Mon Jul 22 19:45:02 2002 Article: 680 of ens.forum.sciences.informatique Path: eleves!not-for-mail From: madore@clipper.ens.fr (Gro-Tsen) Newsgroups: ens.forum.sciences.informatique,ens.forum.sciences.maths Subject: Re: acceleration des calculs pour une fractale Followup-To: ens.forum.sciences.maths Date: Mon, 22 Jul 2002 17:45:02 +0000 (UTC) Organization: Forum. Lines: 53 Sender: madore@clipper.ens.fr Message-ID: References: NNTP-Posting-Host: clipper.ens.fr X-Trace: clipper.ens.fr 1027359902 10444 129.199.129.1 (22 Jul 2002 17:45:02 GMT) X-Complaints-To: forum@clipper.ens.fr NNTP-Posting-Date: Mon, 22 Jul 2002 17:45:02 +0000 (UTC) X-Newsreader: Flrn (0.5.0pre0 - 10/00) X-Start-Date: 22 Jul 2002 17:23:34 GMT Xref: eleves ens.forum.sciences.informatique:680 ens.forum.sciences.maths:6481 Saïd in litteris scripsit: > Existe-t-il des algo/astuces qui permettent de calculer et afficher > l'ensemble de Mandelbrot plus rapidement. Avec dans l'idee de pouvoir > zoomer en temps reel? En bref : non. Pour les ensembles de Julia de z->z²+c (avec c constant, pris dans l'espace de paramètres où vit l'ensemble de Mandelbrot), il y a une méthode très jolie pour les tracer (ou, plus exactement tracer le bord - ce qui est proprement l'ensemble de Julia par opposition à l'ensemble de Julia rempli), ça consiste à itérer z->±sqrt(z-c), c'est-à-dire l'inverse de z->z²+c ce qui magiquement transforme les points répulsifs en points attractifs, et on converge très vite vers le bord, soit l'ensemble de Julia (bon, ensuite, il reste le problème du choix des signes, ce qui n'est pas évident parce que l'arbre de branchement de z->±sqrt(z-c) n'est pas très bien positionné par rapport à l'ensemble de Julia). Mais pour Mandelbrot, il n'y a pas ce procédé, parce que Mandelbrot n'est pas associé à un seul processus dynamique, il classifie les ensembles de Julia de z->z²+c. Il est vrai qu'en principe chaque composante de l'ensemble de Mandelbrot est associé à un comportement de bassin d'attraction sur les ensembles de Julia (par exemple, le cardioïde principal correspond aux points fixes attractifs ; son premier bourgeon à un cycle attractif de longueur 2 ; etc ; et même les satellites correspondent à des comportements bien déterminés, j'ai oublié les détails). Donc *en principe* on peut énumérer l'ensemble de Mandelbrot en dessinant les composantes une par une (qu'on calculerait en examinant les inégalités à satisfaire pour que tel type de cycle soit attractif), jusqu'à passer en-deçà d'une certaine taille, et ça correspondrait en gros à la méthode de dessin que j'ai évoquée ci-dessus pour les ensembles de Julia. En pratique, c'est infaisable. Alors on se contente d'itérer z->z²+c (en partant de z=0) et de voir si ça diverge ou pas (si ça diverge, c est hors de l'ensemble de Mandelbrot). Il y a quand même une chose minimale à savoir, c'est que dès que |z| dépasse strictement 2, on est garanti que c est hors de l'ensemble de Mandelbrot et on arrête immédiatement l'itération (cela est lié de façon subtile, d'ailleurs, au potentiel électrique qui serait produit par un ensemble de Mandelbrot conducteur uniformément chargé - c'est à peu près ça qu'on calcule, de fait). Si on dépasse N itérations sans passer au-delà de |z|=2, on considère que le point est dans l'ensemble de Mandelbrot - ce n'est qu'une approximation est le tout est de savoir quelle valeur de N choisir, en fonction du zoom effectué et de la résolution, pour avoir une bonne image. La référence à lire (que je lisais quand j'étais petit - c'est pas trop technique mathématiquement, et c'est très bien écrit), c'est *The Beauty of Fractals* de Peitgen et Richter (de mémoire) chez Springer. Le grand livre gris, quoi, avec plein de zoulies images dedans.