Page en cours de chargement
  ACCUEIL | TELECHARGER | ANNONCES | FORUM | CHAT | LIVRE D'OR | PARTENAIRES | CONTACT | A PROPOS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6 connectés

recevoir les news :: signaler une erreur :: statistiques visiteurs :: imprimer

ALGORITHMES | FRACTALS | ALGEBRE DE BOOLE | CRYPTOGRAPHIE |


FRACTALS


Les fractals sont des figures invariantes par changement d'échelle (nous parlons aussi de structures "autosimilaires") et représentées graphiquement par des suites récurrentes développées après un raisonnement ou un peu au hasard. Pour le commun des mortels, les fractals servent à faire joli. Mais ils ont des applications plus sérieuses:

Nous avons vu dans ce site que certaines de ces "séduisantes" images reproduisaient des phénomènes physiques (dynamique des populations pour le fractal de Feigenbaum, turbulences dans un fluide pour l'attracteur de Lorentz, dispositions des galaxies L-Fractals, amas et super-amas de galaxies,…). Les fractals ont également trouvé des application en musique (avec des logiciels générant de la musique fractale). Enfin, dans le domaine de l'infographie, les fractals permettent de compresser très efficacement les images, avec un qualité constante quel que soit le zoom, ils permettent de créer des textures réalistes, et peuvent permettre de tramer une image avec de bons résultats. Et bien d'autres choses encore…

Cette géométrie fractale se différencie de la géométrie euclidienne par leur définition d'une part: les figures de la géométrie euclidienne sont en général déterminées par des relations algébriques, alors que les courbes fractales sont définies de façon récursive. D'autre part, il ne faut pas non plus négliger leur aspect autosemblable: chaque partie d'un fractal peut être observé à n'importe quelle échelle: chaque partie est (sensiblement) une copie de l'ensemble. Finalement, autre propriété des fractals, ceux-ci ont des dimensions non entières (voir le chapitre de géométrie plane dans la section de géométrie).

Plusieurs méthodes ont été proposées pour construire des images fractales, nous nous intéresserons aux méthodes dites "d'échappement":

On se place dans le plan complexe formé des points M de coordonnées  d'affixe  i représente le nombre complexe tel que .

On considère une suite complexe définie par  et ,  étant une fonction continue complexe. On suppose que  à un point fixe , c'est-à-dire qu'il existe  tel que  (il s'agit du "théorème du point fixe" démontré dans la section d'algèbre du site au chapitre sur les suites et séries). Sous certaines conditions sur  et sur , on constate que la suite des points ne divergent pas. Cette méthode est à la base de la construction des ensembles de Mandelbrot et de Julia.

 

 
 

Construire une image fractale à partir d'un ensemble de suites ainsi définies, revient à étudier pour chaque couple  du plan le comportement de la suite. On associe alors une couleur à chaque suite (c'est-à-dire à chaque couple ) représentant la "rapidité" de divergence de la suite.

Pour étudier la convergence d'une suite, on regarde ses n premiers éléments, si on détecte que les conditions de divergence sont vérifiées alors on peut dire que cette suite diverge, sinon, cette suite est potentiellement convergente. On remarque que plus n est grand plus les résultats seront précis (mais plus le temps de calcul sera grand).

Algorithme de base est le suivant:

Fractal=proc(x,y)

            z:= valeur de z0;
           
j:=nombre max itérations

            Tant que condition_de_divergence non vérifiée(z) et j non atteint faire
                       
z:=formule_iteration(z)
                       
changer de couleur;
           
Fin Tant que
           
Renvoyer couleur finale

Fin Fractal

ENSEMBLE DE MANDELBROT

On construit l'ensemble de Mandelbrot grâce à des itérations dans le plan complexe. La fonction est de la forme:

c est un paramètre constant tel que . Le premier terme de la suite est nul. On la donc la suite U définie par:

 et

Pourquoi commence-t-on avec ? Car zéro est le point critique de , c'est-à-dire le point qui satisfait à l'extremum:

Pour chaque point d'affixe  du plan, on étudie la suite U pour . Si la suite diverge, on dit que le point testé n'appartient pas à l'ensemble M, si la suite converge, on dit que le point appartient à M.

Pour reproduire l'ensemble de Mandelbrot, on associe à c des valeurs du plan complexe. On considère généralement la portion du plan complexe ayant comme partie réelle, les valeurs entre -2.5 et 1.5 et comme partie imaginaire, les valeurs entre -1.5 et 1.5. Cette portion du plan complexe est subdivisée de façon à former une grille dont les éléments seront associés à des valeurs de C. Pour chaque valeur de C, on obtient une suite dont les modules peuvent converger ou diverger. En pratique, on considère que la suite des modules converge si les 30 premiers modules sont inférieurs à 2. Lorsque la suite des modules converge, on colorie en noir le point de la grille. Après avoir considéré tous les points de la grille, on obtient un ensemble de points noircis: l'ensemble de Mandelbrot.

La liste des  générés par l'itération s'appelle "l'orbite" de .

On peut colorer les points à l'extérieur de l'ensemble de Mandelbrot en utilisant des couleurs qui dépendent du nombre de termes calculés avant d'obtenir un module supérieur ou égal à 2. Les points d'une même couleur peuvent être interprétés comme étant des points s'éloignant à la même vitesse de l'ensemble de Mandelbrot.

On peut aussi faire une incursion dans l'ensemble de Mandelbrot en utilisant MapleV (disponible habituellement au collège). Il suffit de copier le programme ci-dessous sur une feuille de travail du logiciel et d'indiquer à la place de -2 .. 1, -1.5 .. 1.5 de la dernière ligne, l'étendue des parties réelles et imaginaires de c que l'on désire visualiser:

restart: with(plots):
couleur:=proc(a,b)
local x,y,xi,yi,n;
x:=a;
y:=b;
for n from 0 to 30 while evalf(x^2+y^2) < 4 do;
xi:=evalf(x^2-y^2+a);
yi:=evalf(2*x*y+b);
x:=xi;
y:=yi;
od;
n;
end:

plot3d(0,-2..1,-1.5..1.5,orientation=[-90,0],style=patchnogrid, scaling=constrained,axes=framed,numpoints=20000,color=couleur);

Vous obtiendrez dès lors le résultat ci-dessous:

ENSEMBLES DE JULIA

L'ensemble de Julia se construit presque de la même façon que l'ensemble de Mandelbrot. Dans l'ensemble de Mandelbrot, c balaye le plan. Pour l'ensemble de Julia, c est fixé pendant tout le calcul de l'image. A chaque c correspond donc un ensemble particulier que l'on notera . Ce qui varie, c'est , qui prend la valeur du point à tester. C'est donc  qui balaie le plan.

Le point A de coordonnées et d'affixe  appartient à  si et seulement si la suite définie par:

 et

converge.

En fait, l'ensemble de Mandelbrot est l'ensemble des points c tels que l'ensemble de Julia de paramètre c soit connexe. Si à nouveau on développe l'algorithme, on obtient à un facteur d'échelle près donné, le fractal représenté ci-dessous:

ENSEMBLES DE NEWTON

Les ensembles de Newton sont ainsi appelés car ils découlent de la résolution de problème de la recherche des zéros d'une fonction par la méthode de Newton.

Soit une fonction  à valeur dans , et dérivable dans , on prend  dans  tel que:

Il y a alors deux manière de procéder: soit on s'intéresse à  et alors on fait comme précédemment, soit on se demande vers quel zéro  la suite converge et on s'intéresse à . Si à nouveau on développe l'algorithme, on obtient à un facteur d'échelle près donné, le fractal représenté ci-dessous:

ALGORITHMESALGEBRE DE BOOLE

 

©2002-2004 Sciences.ch - Responsable : Isoz Vincent
Ce document issu de Sciences.ch est soumis à la licence GNU FDL