TPE 2002 – 2003 Introduction aux fractales

Transcription

TPE 2002 – 2003 Introduction aux fractales
TPE 2002 – 2003
Introduction aux fractales
Lycée La Fontaine, Paris.
Franck ELMALEH
Son NGUYEN
Khanh-Dang NGUYEN THU-LAM
Antoine WOITIER
Table des matières
1 Les
1.1
1.2
1.3
fractales, notions élémentaires
La naissance de la géométrie fractale . . . . . . . . . . . . . .
La dimension fractale . . . . . . . . . . . . . . . . . . . . . . .
Méthode de construction de certaines fractales . . . . . . . . .
2 Les fractales, exemples et applications
2.1 Quelques fractales déterministes . . . . . .
2.1.1 L’ensemble de Mandelbrot . . . . . .
2.1.2 Le triangle de Sierpinski . . . . . . .
2.1.3 Le flocon de Von Koch . . . . . . . .
2.2 Les fractales et la nature . . . . . . . . . . .
2.2.1 L’universalité des fractales . . . . . .
2.2.2 Le mouvement brownien . . . . . . .
2.2.3 Etude des poumons par les fractales .
2.2.4 Les côtes marines . . . . . . . . . . .
2.2.5 Les L-Systèmes . . . . . . . . . . . .
2.3 Compression d’images . . . . . . . . . . . .
3 La
3.1
3.2
3.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
6
13
13
13
14
18
20
21
23
23
27
27
29
modélisation de l’arbre
35
Un modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Algorithme utilisé . . . . . . . . . . . . . . . . . . . . . . . . . 36
Implémentation de l’algorithme . . . . . . . . . . . . . . . . . 36
A Le programme de modélisation
40
A.1 Le fichier de données . . . . . . . . . . . . . . . . . . . . . . . 40
A.2 Lancement du programme . . . . . . . . . . . . . . . . . . . . 41
B Contenu du CD-ROM
42
1
Section 1
Les fractales, notions élémentaires
1.1
La naissance de la géométrie fractale
En 1872, le mathématicien Weierstrass inventa une courbe continue, sans
discontinuités, mais qui n’admettait de tangentes en aucun de ses points. Peu
après, Peano définit une courbe (donc à une dimension) qui tendait à emplir
tout le plan, ce qui en faisait un objet à deux dimensions (figure 1.5).
Ces “monstres” ébranlèrent les mathématiques, qui pensaient que ces
courbes n’étaient que des créations de la pensée. Mais dans les années 1970
que le mathématicien Benoı̂t Mandelbrot prit au sérieux ces courbes. Il inventa alors un mot pour désigner ces nouveaux objets. Ce mot, fractale, vient
du latin fractus qui signifie brisé.
Depuis l’Antiquité, la géométrie utilisée pour décrire le monde était la
géométrie euclidienne. Cette géométrie décrit facilement les objets constitués
de droites, de cercles, de sphères ou encore de cubes. Mais cette géométrie
atteint ses limites quand il s’agit de décrire des objets très irréguliers, comme
beaucoup d’objets de la nature. Par exemple, il serait extrêmement simpliste
de considérer une montagne comme étant un simple cône. La géométrie fractale prend le relais et permet d’étudier avec succès ces objets appelés objets
fractals ou encore fractales.
Un exemple probant est la mesure de la longueur d’une côte marine,
comme la côte de Bretagne. Il est évident que la longueur mesurée dépend de
l’unité de mesure utilisée. Si on mesure cette longueur avec une règle de 10
cm sur une carte géographique à l’échelle 1/200000, on trouvera une longueur
beaucoup moindre que celle trouvée avec cette même règle de 10 cm mais sur
le terrain réel, de telle sorte que la longueur mesurée avec un étalon de plus
en plus petit tendra vers l’infini (figure 1.1). Cela est dû au fait qu’un petit
étalon implique la mesure du moindre rocher, imperceptible sur une carte
2
Fig. 1.1 – La longueur de la Bretagne dépend de l’étalon utilisé
au 200000e . Ces considérations ne sont cependant pas exactes puisque en
dessous de l’échelle de l’atome, la côte ne présente plus de caractère fractal,
à considérer que la côte puisse être définie à l’échelle de l’atome ; mais elles
permettent de comprendre qualitativement la notion de fractale.
Avec un objet euclidien, la longueur de dépend pas réellement de la longueur de l’étalon utilisé. Si l’étalon de mesure est assez petit, le périmètre
mesuré d’un cercle tendra vers une valeur finie si on diminue la longueur de la
baguette jusqu’à tendre vers zéro. C’est d’ailleurs cette méthode qu’utilisait
Euclide pour trouver une approximation du nombre π.
Une autre propriété des fractales est l’invariance d’échelle ou encore
l’auto-similarité, ce qui veut dire qu’une fractale est semblable quelle que soit
l’échelle à laquelle on la regarde. Pour reprendre l’exemple des côtes marines,
une baie est semblable à elle-même quelle que soit l’altitude d’observation.
1.2
La dimension fractale
Une des caractéristiques des courbes de la géométrie euclidienne est le
périmètre, qui est fini et a pour valeur un nombre réel. Pour les fractales, ce
n’est pas le cas puisque le périmètre est infini. Une fractale possède alors une
caractéristique que nous allons définir ici.
La géométrie euclidienne définit la notion de dimension. Tout le monde
3
Fig. 1.2 – Le “carré de Sierpinski”
Fig. 1.3 – Deux ensembles de Julia
4
sait qu’une droite a une dimension, qu’un rectangle est bi-dimensionnel et
qu’une sphère est en trois dimensions. Un des développements les plus remarquables de la seconde moitié du XXe siècle est l’extension par Mandelbrot
de la notion de dimension qui peut alors être entière, pour les objets de la
géométrie euclidienne ; mais aussi non entière pour les objets de la géométrie
fractale.
La notion de dimension non entière est une notion abstraite. Voici la
définition mathématique de la dimension fractale :
Appelons L(l) la longueur (l’aire ou le volume) mesurée avec un étalon de
longueur (respectivement de surface ou de volume) l ; d la dimension fractale
de l’objet étudié ; AB est la taille macroscopique de l’objet, c’est-à-dire la
distance entre les deux bouts de l’objet. On a alors :
d
AB
L(l) = l
l
Autrement dit, le nombre n d’éléments de taille l dans une fractale de
taille globale L et de dimension d s’obtient avec :
d
L
n=
l
d’où
d=
ln n
ln Ll
Vérification avec la dimension classique
Si on prend un carré de côté c, alors ce carré se divise en 4 carrés de
2
longueur 2c . Si d est la dimension fractale du carré, alors on a n = ( cc )2 = 4,
2
ln 4
L = c et l = 2c . Selon la formule, d = ln
, d’où d = 2.
2
De même, un cube de côté c se divise en 8 cubes de côté 2c . La dimension
ln 8
est alors égale à ln
, qui est égal à 3.
2
On retrouve bel et bien la dimension “classique” définie par Euclide.
Interprétation qualitative de la dimension fractale
Généralement, plus la dimension fractale d’un objet est élevée, plus l’objet est irrégulier. Un objet de dimension fractale comprise entre 1 et 2 est
construit à partir d’une courbe à une dimension. Plus la dimension s’approche
de 2, plus la fractale est irrégulière. Si la dimension est vraiment très proche
de 2, alors la courbe est tellement irrégulière qu’elle remplit presque tout le
plan — qui, rappelons-le, est bi-dimensionnel. C’est le cas de la courbe de
Peano dont la dimension est égale à 2 (figure 1.5)
5
1.3
Méthode de construction de certaines fractales
La courbe de Von Koch
Pour construire cette courbe, il faut débuter avec deux formes géométriques : un initiateur et un générateur. Le générateur est une ligne brisée
faite de n segments égaux de longueur r. En partant de l’initiateur, chaque
étape de la construction consiste à remplacer chaque segment de la ligne brisée par une copie du générateur, réduite et placée de telle façon à ce que
les deux points aux extrémités soient les points des extrémités du segment à
remplacer. Une étape de la constuction va être appelée “itération”, puisque
l’on répète la même opération un certain nombre de fois. La courbe de Von
Koch la plus connue est construite comme décrit figure 1.6.
Il existe d’autres variantes de la courbe de Von Koch dont la figure 1.7
est un exemple.
Toutes les fractales ne sont pas construites à partir d’un initiateur et d’un
générateur, mais par contre le terme “itération” va revenir souvent.
IFS
L’IFS (Iterated Function System) est un moyen de représenter les fractales. Il est défini par un espace métrique complet et un ensemble d’applications contractantes. L’ensemble recherché, qui peut être fractal est l’attracteur de l’IFS. Il est invariant selon toutes les applications qui composent
l’IFS. Plus clairement, le mode de calcul des IFS consiste à itérer un certain nombre d’applications prédéfinies. Ces applications sont par exemples
des réductions, suivies ou pas de translations, etc. . . Ces applications dans
le plan associent à chaque point du plan un autre point, mais de telle sorte
qu’avec un point de départ quelconque, on obtient toujours la même figure
en répétant cette application sur le point obtenu par l’itération précédente.
C’est en quelque sorte une suite définie par récurrence mais avec des points
du plan.
La compréhension des IFS dépasse le cadre de ce document. Les IFS
utilisent le thérorème du point fixe et son corrolaire le théorème du collage.
Nous aurons l’occasion d’entr’apercevoir une simplification du mode de calcul
d’un IFS avec le triangle de Sierpinski (cf. section 2.1.2).
6
Fig. 1.4 – Les fractales sont également esthétiques. . .
7
Fig. 1.5 – Une courbe de Peano au bout de 5 itérations
8
Fig. 1.6 – Principe de la construction de la courbe de Von Koch
9
Fig. 1.7 – Variante de la courbe de Von Koch
10
Fig. 1.8 – Une fougère créée par un IFS
11
Fig. 1.9 – Un corail créé avec un IFS
12
Section 2
Les fractales, exemples et
applications
2.1
Quelques fractales déterministes
Les fractales déterministes sont les fractales dont la construction ne dépend pas du hasard. Elles sont souvent construites géométriquement ou avec
des méthodes numériques.
2.1.1
L’ensemble de Mandelbrot
L’ensemble de Mandelbrot est cité ici à titre historique. Cet ensemble
est une représentation graphique de la vitesse de divergence d’une suite de
nombres complexes.
Pour chaque point du plan P du plan complexe d’affixe p, on étudie la
suite suivante :
Z0 = 0
(Zn )n∈N
Zn+1 = Zn 2 + p
Si la suite converge, le point P est noirci. Si la suite diverge, le point
est en gris plus ou moins clair selon la vitesse de divergence. Pour savoir si
la suite converge, on calcule les termes de la suite jusqu’à ce que |Zn | > 2,
auquel cas on est sûr que la suite diverge. On peut aussi modifier la suite à
étudier pour obtenir d’autres ensembles. Par exemple, les ensembles de Julia
sont définis par la même suite sauf que le premier terme Z0 est l’affixe du
point courant et c une constante propre à chaque ensemble de Julia.
C’est l’algorithme cité ci-dessus que suit notre programme présent sur le
CD-ROM et avec lequel nous avons obtenu la figure 2.1.
13
Fig. 2.1 – L’ensemble de Mandelbrot obtenu par notre programme
2.1.2
Le triangle de Sierpinski
Nous allons maintenant étudier un objet fractal très célèbre : le triangle
de Sierpinski aussi appelé tapis de Sierpinski.
On part d’un triangle plein. A la première itération (n=1), on efface le
triangle dont les sommets sont les milieux des segments du triangle initial.
On obtient alors trois autres triangles pleins. On recommence l’opération une
infinité de fois (voir figure 2.3).
L’aire du triangle de Sierpinski
Nous allons ici nous intéresser à l’aire de cet objet. Mais rappelons que
le triangle de Sierpinski est avant tout défini avec un nombre d’itérations qui
tend vers l’infini.
14
Fig. 2.2 – Le triangle de Sierpinski
n=0
n=1
n=2
Fig. 2.3 – Construction du triangle de Sierpinski
Appelons An l’aire de la figure à un niveau de récursivité n. A chaque
itération, le triangle perd 41 de son aire. On a donc la relation An+1 = 43 An .
On reconnaı̂t une suite géométrique de raison 34 et de premier terme A0 , qui
est l’aire du triangle initial. On a donc :
n
3
∀n ∈ N, An = A0
4
Une suite géométrique de raison q tel que −1 < q < 1 converge vers 0, d’où :
lim An = 0
n→+∞
L’aire du triangle de Sierpinski tend donc vers zéro, ce qui signifie que
l’aire des triangles tend vers zéro. Comment peut-on voir une figure si son
15
aire peut être considérée comme nulle ? Premièrement, la figure que l’on voit
n’est pas vraiment une fractale, car le nombre d’itérations n’est pas infini.
Deuxièment, les côtés des triangles ne sont pas censés avoir d’épaisseur, ce
qui n’est plus le cas sur un support quelconque qui a forcément une résolution
limitée par l’unité qu’est le pixel. Ainsi, les segments tracés ont une épaisseur
d’un pixel.
Dimension fractale du triangle de Sierpinski
A chaque itération, chaque triangle est divisé en trois triangles, ces triangles ayant un côté deux fois moindre. Le triangle de Sierpinski a donc pour
3
≈ 1.58.
dimension fractale ln
ln 2
Le triangle de Sierpinski, un attracteur étrange
Le triangle de Sierpinski peut également être tracé grâce aux attracteurs
étranges.
Fig. 2.4 – Un attracteur étrange
Soit trois points A, B et C du plan. Prenons un autre point quelconque
du plan appelé P0 . Choisissons maintenant au hasard un des points A, B
ou C — admettons que le hasard désigne B. Nous allons tracer le point P1 ,
milieu du segment [P0 B]. Recommençons l’opération : si le hasard désigne A,
nous allons tracer le point P2 milieu du segment [P1 A]. En recommançant le
processus plusieurs milliers de fois, on obtient le triangle de Sierpinski.
Ce processus fonctionne quel que soit le point de départ P0 choisi. En effet,
au bout d’un certain nombre d’itérations, le point Pn fera inévitablement
16
partie de la figure théorique. A partir de là, tous les autres points calculés
seront dans la figure théorique. C’est pourquoi on appelle cette figure un
attracteur étrange, comme si tous les points étaient attirés vers les points de
la figure. C’est cette méthode qui a été utilisée pour la figure 2.4, avec un
nombre total de 30000 itérations.
Avec le triangle de Pascal
Le triangle de Sierpinski peut aussi être tracé à partir du triangle de Pascal. Mais rappelons tout d’abord ce qu’est le triangle de Pascal. Ce triangle
sert entre autres à calculer les coefficients du polynôme issu du développement de (a + b)n . Au sommet du triangle, on place un 1. Puis, pour chaque
ligne, on additionne deux à deux les nombres de la ligne du dessus (figure
2.5.a).
Maintenant, enlevons tous les nombres pairs du triangle de Pascal. On
obtient ainsi le triangle de Sierpinski. La figure 2.5.b montre le résultat, avec
les nombres impairs restants remplacés par le chiffre 1.
1
1
1
1
1
1
1
2
3
1
1
1
1
1
3
1
1
1
1
1
1
4
6
4
1
1
5 10 10
5
1
1
6 15 20 15
6
1
1
7 21 35 35 21
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(a) Le triangle de Pascal (8 lignes)
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
(b) Le triangle de Sierpinski déduit du triangle de Pascal (16 lignes)
Fig. 2.5 – Le triangle de Pascal et le triangle de Sierpinski
Encore un exemple surprenant
Le triangle de Sierpinski est assez étonnant dans la mesure où on le retrouve également sur la coquille d’un certain coquillage (figure 2.6). Selon les
tracaux de H. Meinhardt, certaines réactions chimiques en présence de diffusion engendreraient des structures résultant d’une auto-organisation spatiale,
comme c’est le cas ici.
17
1
Fig. 2.6 – Coquille de Cymbolia innexa REEVE
2.1.3
Le flocon de Von Koch
Il s’agit ici d’une autre fractale appelée flocon de Von Koch. Cette fractale
est construite exactement comme la courbe de Von Koch sauf que l’objet de
départ n’est pas un segment mais un triangle équilatéral, ce qui aboutit à
une courbe fermée (figure 2.7).
n=0
n=1
n=2
Fig. 2.7 – Construction du flocon de Von Koch
18
n=4
L’aire du flocon de Von Koch
Appelons An l’aire de la figure à un niveau de récursivité n (n ∈ N). A0
est l’aire du triangle initial. Prenons A0 = 1 pour simplifier les calculs.
Appelons Cn le nombre de côtés du flocon au niveau de récursivité n.
Remarquons que Cn est le nombre de triangles qui se rajouteront à l’itération
n + 1. Nous avons C0 = 3 puisque le premier triangle possède 3 côtés. Pour
chaque côté du flocon, il s’ajoute 3 côtés à chaque itération. On a alors la
relation Cn+1 = Cn +3·Cn , soit Cn+1 = 4·Cn . Il s’agit de la suite géométrique
de raison 4 et de premier terme C0 = 3.
∀n ∈ N, Cn = 3 · 4n
n
Les côtés du flocon ont pour longueur 31 fois le côté initial. Les aires
sont proportionnelles au carré du côté du triangle. A0 = 1 donc l’aire Sn d’un
n 2
.
petit triangle est Sn = 13
L’aire du flocon est égale à l’aire du flocon à l’itération précédente, plus
l’aire des petits triangles. De tout ce qui précède, on tire :
An+1 = An + Cn Sn+1
2n+2
1
n
= An + 3 · 4 ·
3
n
4
= An +
3 ·32n
n
1 4
= An +
3 9
Pour trouver la limite de An , il nous faut exprimer An en fonction de n.
0
1 4
A1 = A 0 +
3 9
1
1 4
A2 = A 1 +
3 9
..
.
n
1 4
An+1 = An +
3 9
19
En exprimant dans la dernière ligne An en fonction de A0 , on a :
" 1
n #
0
4
4
1
4
+
+...+
An+1 = A0 +
3
9
9
9
n+1
1 1 − 49
= A0 + ·
3
1 − 49
"
n+1 #
3
4
= A0 +
1−
5
9
On a maintenant Sn+1 en fonction de n + 1. On a donc :
n 3
4
1−
An = A 0 +
5
9
Il faut maintenat calculer la limite de (Sn ).
n
4
=0
lim
n→+∞ 9
d’où
lim An =
n→+∞
8
5
L’aire du flocon de Von Koch tend donc vers
8
5
fois l’aire initiale.
La dimension fractale du flocon de Von Koch
A chaque itération supplémentaire, chaque segment est divisé en 4 segments 3 fois plus petits. La dimension du flocon de Von Koch est donc égale
ln 4
à ln
≈ 1.26.
3
2.2
Les fractales et la nature
Par opposition aux fractales déterministes (section 2.1, page 13), il existe
des fractales liées au hasard ou à des phénomènes aléatoires. C’est le cas des
objets fractals de la nature, dans lesquels le hasard intervient. Ces fractales fabriquées par le hasard ont permis de mieux comprendre certains phénomènes,
comme les fluctuations des cours de la Bourse, la structure des polymères ou
encore le fonctionnement des poumons.
20
2.2.1
L’universalité des fractales
La longueur d’une côte, le relief d’une montagne jeune ou d’une ı̂le montagneuse, un réseau fluvial, la forme des arbres, le réseau des veines et des
artères, les lignes de fracture en métallurgie, la forme des nuages et leur
répartition dans le ciel, celle des étoiles dans une galaxie, la surface des substances favorisant la catalyse, la répartition des mots dans un texte sont
autant d’exemples d’objets fractals que l’on peut décrire quantitativement.
C’est de l’observation de ces phénomènes qu’est née l’idée de l’“universalité
des fractales”.
Il est vrai que les exemples d’analogie entre une forme naturelle et une
forme fractale sont aussi divers et nombreux que surprenants. Mais affirmer
que tout objet nous entourant possède une structure fractale, semble, de
prime abord, assez excessif. Il faut alors considérer le problème sous tous ses
aspects.
Tout d’abord, il faut remarquer qu’on observe des structures fractales
dans le domaine de l’infiniment petit (agrégats atomiques, irrigation sanguine. . .) comme dans le domaine de l’infiniment grand (organisation des
galaxies. . .). Donc, tout ce qui constitue le monde qui nous entoure et tout ce
qu’il constitue est en rapport avec les fractales. On peut dès lors le considérer
comme partie intégrante d’un tout gouverné par des structures fractales.
D’autre part, comme l’a fait remarquer Mandelbrot, père des fractales, la
géométrie naturelle est le plus souvent une géométrie des formes complexes,
qu’il appelle géométrie fractale, tandis que la géométrie de la droite, du cercle,
des objets réguliers est le plus souvent celle de la création humaine. En effet,
il est difficile de considérer un pavé, une feuille, une sphère comme des objet
fractals, puisqu’ils obéissent a des structures régulières. Mais il s’avère que
ce sont des objets crées de la main de l’homme dans le but précis qu’il puisse
maı̂triser cet objet.
Sauf que, dans certains cas, il arrive qu’aucun modèle satisfaisant ne soit
trouvé de cette manière, notamment lorsqu’on veut reproduire des formes
naturelles. Déjà, Léonard de Vinci s’était intéressé au problème de l’écoulement des fluides en observant et en dessinant le cours de l’eau des ruisseaux.
II était intrigué par les formes si particulières et pourtant reproductibles des
tourbillons. Si l’eau du ruisseau se déplace de haut en bas, c’est bien à cause
de la gravité dont on connaı̂t la loi universelle depuis que Newton l’a révélée
à l’humanité. Mais, même en augmentant la précision des mesures, et en introduisant des facteurs de viscosité, de cisaillement et autres frottements, on
n’obtient pas de modèle suffisamment ressemblant à ce que la nature nous
laisse observer.
Cela veut-il dire que l’eau des torrents n’est pas concernée par la gravité ?
21
Sûrement pas. Alors la conclusion que l’on donne généralement, c’est qu’il
faudrait un modèle plus compliqué qui associe autour de la loi de gravité
de nombreux facteurs perturbants évalués avec suffisamment de précision.
Et d’ajouter que la résolution de ce modèle serait alors au delà de nos possibilités en termes de puissance de calcul ou de savoir-faire mathématique,
ce qui explique que personne n’a pu le produire. Une autre solution serait
d’affirmer que le hasard est à l’origine du décalage qui existe entre le parcours tourmenté de l’eau du ruisseau et la trajectoire rectiligne et régulière
que produit l’équation de la gravité. Aucune de ces deux hypothèses n’est
vraiment satisfaisante.
Dès lors, on peut convenir que l’étude des fractales concerne tout ce que
la nature a de quantifiable et non-couvert par la géométrie “traditionnelle”. Il
y a donc bien une “universalité des fractales”, certes relative, mais néanmoins
probante.
Il en ressort que le domaine couvert par les systèmes fractals est immense
et que, par conséquent, il convient de les grouper selon différents critères.
Je citerai ici la classification effectuée par Bernard Sapoval, directeur de recherches au CNRS, qui me semble la plus claire puisqu’il associe les différents
systèmes fractals selon les caractéristiques qui lui sont propres :
1. Les systèmes aléatoires : on observe un comportement qui semble incongru mais qui peut s’expliquer “après-coup” ou qui peuvent permettre
une étude probabiliste du phénomène. En effet, elle associe au calcul des
probabilités la géométrie, et les formes observés alors peuvent être caractéristiques et répétitives. C’est le chaos, rebaptisé alors chaos déterministe ; on y retrouve l’étude des cours de la Bourse, les perturbations
dans les orbites planétaires, la météorologie.
2. Les phénomènes biologiques qui s’expriment sous forme de structures
fractales pour des raisons bien précises. C’est le cas de l’irrigation sanguine dans certains organes, des alvéoles pulmonaires ou des racines
d’une plante ?
3. Les systèmes fractals qui se comportent de façon prévisible : Ce sont les
systèmes fractals les plus simples issus d’itérations tels ceux générés, par
exemple, par l’Homme comme l’ensemble de Mandelbrot ou l’ensemble
de Julia. Ici, la géométrie traditionnelle et fractale sont intimement liés,
et forment ce que Sapoval appelle le chaos mathématique. Ces systèmes
sont intéressantes parce qu’elles peuvent s’approcher de systèmes plus
aléatoires.
4. Les phénomènes qui s’auto-organisent : ils suivent une évolution spontanée et plus ou moins prévisible selon la part de hasard qui l’accompagne. Citons l’exemple des côtes marines : l’érosion s’auto-amortit
22
par la perte d’énergie progressive de la force qui la provoque, ce qui explique son effet “fractal” qui reproduit le même motif indéfiniment à une
échelle plus petite, mais il faut aussi tenir compte du type de matière
concernée. C’est la où on retrouve la part aléatoire du phénomène.
On s’aperçoit avec cette classification que les fractales sont un outil prépondérant pour comprendre le monde qui nous entoure. Les possibilités ouvertes par la découverte de ce type de structure sont énormes et aujourd’hui
de plus en plus de chercheurs s’y intéressent.
L’homme qui voulait a tout prix maı̂triser la nature, semble aujourd’hui
disposé à la comprendre.
2.2.2
Le mouvement brownien
Pour illustrer ce qu’est le mouvement brownien, considérons un mouvement à la fois simple et aléatoire. Ce mouvement est celui d’un point qui, à
chaque instant, effectue un saut dans une direction quelconque dictée par le
hasard, et à une distance également décidée par le hasard, en éliminant cependant tous les sauts de grande longueur. Pour simplifier encore plus, prenons
comme longueur des sauts une longueur qui reste à peu près constante.
Ce mouvement peut être celui d’un homme ivre. Supposons que cet homme
puisse faire, avec une probabilité égale, un pas en avant, un pas en arrière, un
pas à gauche, ou un pas à droite. Après un certain temps, la trajectoire de
cet homme est, par nature, aléatoire. Supposons qu’on dessine la trajectoire
de cet homme tous les pas, tous les 10 pas ou tous les 100 pas. On s’aperçoit
alors que les trajectoires se ressemblent. Il se trouve que la dimension de cette
trajectoire est égale à 2, ce qui veut dire qu’une trajectoire très longue (en
nombre de pas) aura tendance à noircir tout le plan.
Le mouvement de l’homme ivre cité ci-dessus est comparable au mouvement brownien. Les molécules d’un gaz sous agitation thermique ont un
mouvement brownien : les molécules du gaz changent constamment leur trajectoire à la suite de collisions mutuelles. Ces collisions sont encore plus fréquentes dans un liquide, d’où le phénomène de diffusion. Ce phénomène uniformise la répartition de deux gaz ou liquides de même densité, ce qui les
mélange. Le phénomène de diffusion est à la base de nombreux processus
vitaux, comme la respiration, l’assimilation des nutriments, ou encore l’élimination des toxines.
2.2.3
Etude des poumons par les fractales
Dans de nombreux processus biologiques, il y a transfert d’un flux de
matière d’un milieu vers un autre, via une surface de séparation. Les plantes
23
Fig. 2.8 – Le mouvement brownien. En haut, fragment d’une trajectoire brownienne, telle qu’elle a été observée par Jean Perrin. A première vue, cette ligne
brisée n’est pas fractale. En bas, une trajectoire brownienne sur 20000 pas,
tracée par ordinateur.
24
Fig. 2.9 – Moulage d’un poumon humain. Les artères sont en rouges, les
veines en bleu et les bronches en blanc.
25
échangent de l’eau et des sels minéraux avec le sol à travers la surface de leurs
racines ; la paroi intestinale permet l’absorption des nutriments ; l’oxygène de
l’air entre dans le sang à travers la surface des alvéoles pulmonaires. Tous ces
processus sont indispensables à la vie. Nous allons étudier ici plus en détails
le cas de nos poumons.
Le poumon humain contient en permanence environ un demi-litre de sang.
A chaque battement cardiaque, ce volume de sang veineux est apporté sur
la surface d’échange puis retiré après enrichissement en dioxygène. Le sang
devient alors du sang artériel. La surface d’échange est très grande. On l’estime à 140 m2 , ce qui fait un carré de 12 m de côté. Il faut un formidable
système d’irrigation et de drainage pour répartir et récolter ensuite le sang
sur une surface aussi grande et avec une telle vitesse. Mais il n’y a pas que
le sang ; il faut aussi amener le dioxygène au contact du sang.
Le poumon est ainsi formé d’un double réseau de vaisseaux sanguins et de
bronches (figure 2.9). Ces canalisations se divisent successivement en deux.
L’artère principale se divise en deux artères plus petites et ainsi de suite
23 fois. Au bout du réseau, il y a donc 223 soit environ 8 millions d’artérioles.
Benoı̂t Mandelbrot a proposé un modèle pour les bronches, représenté sur la
figure 2.10. Dans cette structure, tous les points terminaux se trouvent à la
même distance de l’entrée et pourtant il remplissent l’espace uniformément.
Pour que la surface d’échange soit maximale, il faut utiliser le volume
de la cage thoracique de façon optimale. Nous savons que les alvéoles ont
un diamètre moyen d’environ l = 0, 2 mm. Trouvons comment agencer les
alvéoles pour que la surface totale soit 140 m2 . Représentons chaque alvéole
par un cube de côté l ouvert sur une face puisque l’air doit y accéder. Dans
chaque cube, il y a 5 faces utilisables, et la surface de chaque alvéole est alors
de l’ordre de 5·(0.02)2 = 2·10−3 cm2 . On sait qu’il y a environ 216 acinus, soit
environ 60000. La surface totale de chaque acinus est alors environ 140/60000
mètres carrés, soit environ 25 cm2 . Le volume de chaque acinus est environ
5 litres/60000 soit 0.1 cm2 , ce qui lui donne une taille L d’environ 5 mm. Dans
chaque acinus, on veut empiler les alvéoles sur une fractale de dimension D et
obtenir une surface totale par acinus d’environ 25 cm2 . D’après la définition
mathématique de la dimension fractale (page 5), on a d = ln n/ ln (L/l). Ici,
(L/l) = 5 mm/0,2 mm. Le nombre n de petits cubes de surface 2 · 10−3 cm2
tel que la surface par acinus soit 25 cm2 est (25/2 · 10−3 cm2 ) = 12500. On a
donc d = ln 12500/ ln 25, soit 2,93. Du point de vue géométrique, la surface
des alvéoles est de dimension 3 et non 2. On a ici un exemple de surface
“remplissant l’espace”.
26
2.2.4
Les côtes marines
Nous avons déjà évoqué la mesure de la côte de la Bretagne (section
1.1). Nous avons vu que les côtes marines peuvent être considérées comme
des fractales et que, par conséquent, leur longueur est infinie. La dimension
fractale est donc plus apte à caractériser une côte.
L’américain Richardson a d’ailleurs consigné tous les résultats qu’il a obtenus dans un graphique (figure 2.13).
De nos jours, grâce aux satellites et à la puissance de calcul dont nous
disposons, des programmes peuvent effectuer les mesures nécessaires afin de
calculer cette dimension. Il s’avère que la dimension fractale des côtes marines
sur terre est comprise entre 1,1 et 1,5 avec une moyenne d’environ 1,3.
Modélisation d’une côte
Il existe deux façons générales pour créer de toutes pièces une côte qui
semble réelle. La première méthode consiste à modéliser un terrain selon des
méthodes que nous ne détaillerons pas ici. Ensuite, on fixe le niveau de l’eau
et on calcule les points appartenant à la côte, c’est-à-dire les points qui se
trouvent exactement au niveau de l’eau. Cette méthode est utilisée par le
logiciel Terragen, un shareware destiné à fabriquer des images de paysage
ultra-réalistes. La figure 2.11 montre une carte topographique créée à l’aide
de ce programme.
La deuxième méthode consiste à créer la côte à partir d’une courbe fractale. Cette courbe peut être une fractale déterministe comme par exemple
le flocon de Von Koch, qu’on modifie par des lois probabilistes. Une autre
solution est de partir du mouvement brownien qu’on modifie également afin
d’obtenir une côte qui ne se recouvre pas.
Vous pouvez comparer les résultats de la modélisation obtenue figure 2.12.
On s’aperçoit clairement que les ı̂les obtenues les plus réalistes sont celles qui
ont pour dimension 1.3, les autres étant soit trop lisses (d=1,1), soit trop
irrégulières (d=1,3) voire carrément irréelles (d=1,9).
2.2.5
Les L-Systèmes
Un L-Système est un groupe de règles et de symboles qui modélise un
processus de croissance. Ces règles permettent de construire une chaı̂ne de
symboles qui sera modifiée à chacune des étapes de la modélisation.
Les L-Systèmes ont été inventés par Aristidd Lindenmayer en 1968. Ils
sont l’aboutissement des travaux de ce biologiste qui étudiait la croissance
végétale. En effet, il a remarqué que souvent à chaque étape de ce processus,
27
les mêmes phénomènes intervenaient et se généralisaient aux produits de
l’étape précédente tout en restant valables pour les générations suivantes.
Ils sont définis par un initiateur et un ou plusieurs générateurs (il faut
aussi parfois préciser quelques facteurs qui peuvent intervenir dans le processus comme des angles par exemple). On observe ainsi des caractéristiques
communes avec les suites mathématiques.
Prenons l’exemple de la reproduction des lapins qui est un processus de
croissance quantifiable. Il est défini ainsi :
Initiateur : I
Générateurs :
I → P (I représente un lapin qui ne peut se reproduire, P est un lapin qui
peut se reproduire)
P → P I (P donne automatiquement naissance à un lapin PI)
Au départ, nous avons I. La première génération sera donc P, la deuxième
PI et ainsi de suite :
PIP
PIPPI
PIPPIPIP. . .
Ce L-Sysème est caractérisé par la suite de Fibonacci : F (n + 2) = F (n +
1) + F (n)
On peut alors prévoir facilement le nombre de lapins présents à chaque
génération : ce sont les nombres de Fibonacci.
Mais la suite citée précédemment tend vers l’infini et la croissance est
très rapide. Alors pourquoi le monde n’est-il pas envahi de lapins ? Il faut
remarquer que dans cet exemple, on a négligé les paramètres de mortalité,
de natalité, de fécondité. . .
Il en va de même pour tout L-Système, ils représentent une croissance
“idéalisée“, qu’on ne retrouve pas dans la nature. Il faut donc en déduire que
l’étude de phénomènes naturels grâce aux L-Systèmes est approximative et
limitée.
Le développement des nouvelles générations étant le même que celui des
générations précédentes mais dans une proportion moins grande puisque plus
récent, on retrouve ici la notion d’“homothétie interne” et donc il y a bien un
lien fort entre les L-Systèmes et les fractales.
Ainsi, on peut réaliser la modélisation d’une plante, grâce à un L-Système,
on obtiendra un objet fractal.
Par exemple si on a les conditions de départ suivantes :
Angle : 22,5◦
Initiateur : F
Générateur : F → F [+F ]F [−F ]F
28
F représente ici l’avancée “vers l’avant” d’un point, + représente le virage
d’un point à gauche, − représente le virage d’un point à droite. Un crochet
ouvrant permet de mettre un point en mémoire et un crochet fermant permet
de revenir au point précédemment mémorisé.
2.3
Compression d’images
Voici maintenant une des applications des fractales. De nos jours, les
images sont très présentes dans le monde du multimédia. Un enjeu d’importance est donc la compression des images. La méthode la plus utilisée
actuellement est la compression JPEG, qui utilise la transformée de Fourier. Mais il existe une technique qui donne d’excellents taux de compression,
basée sur les fractales, que nous allons introduire ici.
Pour comprendre le principe de la méthode de compression fractale, nous
allons considérer un photocopieur qui réalise trois réductions d’une image
donnée (figure 2.16). Chaque photocopie est représentée par une flèche. Quelle
que soit l’image de départ, et en itérant plusieurs fois le processus, on obtient
toujours la même image à savoir ici le triangle de Sierpinski. Le fait qu’on
aboutisse toujours à la même image est très important pour la méthode de
compression fractale. La compression consiste alors à trouver le fonctionnement de la photocopieuse, le triangle de Sierpinski représentant l’image
à compresser. La photocopieuse est en fait un ensemble de transformations
telles la rotation, ou l’homothétie, c’est-à-dire un IFS (cf. 1.3, page 6). Cette
méthode est en réalité basée sur le théorème du collage qui est un corollaire
du théorème du point fixe.
Cette méthode offre des taux de compression très satisfaisants. De plus,
la décompression des images est extrêmement rapide et il n’y a pas de phénomène de pixellisation, quelle que soit l’échelle utilisée à la décompression. Le
principal inconvénient est évidemment le temps de calcul lors de la compression, puisqu’il faut chercher les transformations qui aboutissent au meilleur
résultat, et il n’existe pas de méthode précise pour les trouver ; il faut tester
toutes les transformations existantes, qui sont infiniment nombreuses.
29
Fig. 2.10 – Structure imaginée par Mandelbrot pour les bronches
Fig. 2.11 – Un relief obtenu avec le logiciel Terragen
30
31
Fig. 2.12 – Modélisation de côte selon une dimension donnée
Fig. 2.13 – Calcul de la dimension fractale des côtes par Richardson. Le
coefficient directeur des droites correspondant à la côte étudiée est égal à
1 − d, d étant la dimension fractale. On voit qu’avec le cercle, on retrouve
bien la valeur de 1.
32
Fig. 2.14 – Exemple de L-Système
33
Fig. 2.15 – Autre exemple de L-Système
Fig. 2.16 – Principe de la compression fractale
34
Section 3
La modélisation de l’arbre
3.1
Un modèle
Les L-Systèmes (cf. 2.2.5, page 27) permettent, entre autres de dessiner
des plantes. Ce système est certes très puissant mais il est limité car il ne peut
créer d’objet en trois dimensions. De plus, les L-Systèmes sont plus aptes à
restituer des plantes de petites tailles, comme les arbustes. En effet, sur les
plantes de ce type, les branches sont présentes partout, et tendent à remplir
l’espace, surtout pour une haie, par exemple. Mais les L-Système restituent
bien un mode de croissance de l’arbre. Il y a donc une différence avec des
arbres de grandes tailles sur lesquels il n’y a pas de branches poussant sur le
tronc principal, sauf dans le cas de quelques exceptions.
Nous avons donc créé notre propre modèle qui restitue fidèlement et simplement les arbres au port (forme) plutôt rond comme les platanes ou les
pommiers. Ce modèle permet de décrire un arbre en trois dimensions et s’appuie sur les L-Systèmes modifiés.
Il faut tout de même préciser qu’il faut introduire un léger hasard dans
le choix de la direction et de la longueur des ramifications, sans quoi l’arbre
pourrait paraı̂tre irréel.
Limites de ce nouveau modèle
Le présent modèle a, comme tout modèle, ses limites concernant le soucis
de reproduction de la réalité. Les limites concernent en fait le changement du
modèle des L-Systèmes. En effet, l’arbre obtenu possède un “trou” au milieu
de son feuillage. Il semble qu’il faut suivre le modèle basé sur les L-Systèmes
à partir d’un certain rang d’itération, ce qui signifie qu’il y a plusieurs types
de branches. Un type de branches qui réagirait comme les branches de notre
modèle et un autre type qui réagirait comme les branches d’un L-Système,
35
qui aurait une sorte de croissance a chaque itération.
Une autre conséquence de la transformation du modéèle des L-Système est
que notre modèle n’est pas un modèle de croissance mais ne permet seulement
de restituer un arbre arrivé à l’âge adulte.
3.2
Algorithme utilisé
L’algorithme est assez simple puisqu’il s’appuie à moitié sur les L-Systèmes.
On dessine tout d’abord le tronc. Puis, on dessine les ramifications dont la
longueur et la direction dans l’espace sont spécifiées. Ensuite, pour chaque ramification, on dessine des ramifications, de telle sorte que notre arbre possède
auto-similarité.
3.3
Implémentation de l’algorithme
Dans l’implémentation de notre algorithme, les branches sant assimilées
à des vecteurs dans l’espace, puisqu’il s’agit d’un modèle en trois dimensions.
Les branches doivent à un moment ou un autre subir des rotations et des
translations. Pour réaliser des translations, les coordonnées cartésiennes de
vecteurs sont plus commodes à utiliser puisqu’il suffit d’additionner deux à
deux les coordonnées des vecteurs. En revanche, pour réaliser des rotations
dans l’espace, les coordonnées sphériques sont plus appropriées. En effet, le
vecteur est alors repéré par un couple de trois nombres :
– la “longueur” du vecteur, appelée norme du vecteur,
– un angle θ,
– un angle φ.
Formules de conversion de repères
Pour les significations des différentes variables, voir figure 3.2.
 →
−
−
−
er = sin θ cos φ→
ex + sin θ sin φ→
ey + cos θ →
ez
 −
→
−
→
−
→
−
−
eθ = cos θ cos φ ex + cos θ sin φ ey − sin θ →
ez
 →
−
→
−
→
−
eφ = − sin φ ex + cos φ ey
Les feuilles de l’arbre
Les feuilles de l’arbre sont tout simplement des triangles verts. Ces triangles ont des mesures prises aléatoirement mais tout de même limitées pour
ne pas avoir des énormes feuilles.
36
Fig. 3.1 – Arbre obtenu par notre programme avec le fichier descr.txt, un
générateur aléatoire égal à 9 et tous les autres paramètres par défaut
37
Fig. 3.2 – Coordonnées sphériques d’un point M
Un générateur d’objets 3D
Notre programme génère un fichier au format d’un logiciel gratuit appelé
Pov-Ray. Ce programme prend justement un fichier dans lequel sont inscrites
des commandes, lesquelles décrivent les objets à dessiner.
Voici un extrait du fichier généré par notre programme :
cylinder {
<0, 0, 0>
<0, 2, 0>
0.1
texture { pigment { color Brown } }
}
Le langage est intuitif et donc aisé pour la compréhension. Le mot cylinder
indique qu’il faut dessiner un . . . cylindre. tout ce qui se trouve après se rapporte au cylindre. <0, 0, 0> et <0, 2, 0> sont les coordonnées des deux
extrémités du cylindre, situé sur son axe de symétrie. Le nombre 0.1 indique
le rayon du cylindre et la dernière ligne indique la couleur à appliquer au
cylindre. A remarquer qu’on pourrait demender au programme d’appliquer
une texture de tronc d’arbre pour ajouter une touche de réalisme au résultat
final.
Les triangles représentant les feuilles s’écrivent ainsi :
38
triangle {
<-1.47469, 1.99711, -0.249102>
<-1.2912, 2.01655, -0.134279>
<-1.54538, 1.94333, -0.404063>
texture { pigment { color Green } }
}
Il ne devrait pas subsister de difficultés quant à la compréhension de ces
six lignes.
39
Annexe A
Le programme de modélisation
A.1
Le fichier de données
Voici le fichier qui nous a permis de tracer l’arbre. Ce fichier, que vous
pouvez modifier, doit être donné en paramètre au programme, car il spécifie
les caractéristiques des ramifications. Ce fichier au format texte comporte
plusieurs séries de 4 nombres, chacune correspondant à une ramification.
Voici les règles que doit suivre ce fichier :
– Les commentaires, ignorés par le programme, débutent par le caractère
# et se terminent à la fin de la ligne.
– Le premier nombre indique la position de la branche et s’exprime en
pourcentage. 0 % correspond à une ramification partant du bas de la
branche parent et 100 % correspond à une ramification partant du haut
de la branche parent.
– Le deuxième paramètre appelé θ indique l’angle de la direction de la
branche. Il s’exprime en degrés. 0◦ correspond au nord, 90◦ à l’est, 180◦
au sud et -90◦ à l’ouest.
– Le troisième nombre φ exprime l’angle de la branche par rapport à
la verticale. 0◦ correspond à une ramification verticale et 90◦ à une
ramification horizontale.
– Le dernier paramètre spécifie la taille de la ramification en pourcentage
de la taille de la branche parent.
Il y a cependant un petit bogue. Si φ > 180 [360] alors le deuxième paramètre
doit être égal à −θ et le troisième à φ − 90.
# descr.txt :
# BUG ! :
# si 0 <= theta <= 360
et
theta > 180,
40
# theta = -theta et phi = phi - 90
99 -100 -41 60
86 133 63 60
99 91 79 60
# fin de descr.txt
A.2
Lancement du programme
Le programme est un programme en ligne de commandes. Ne vous attendez pas à voir une belle fenêtre avec l’arbre qui s’affiche instantanément à
l’écran.
Tout d’abord, il s’agit de copier le contenu du CD-ROM sur le disque dur.
Pour lancer le programme, double-cliquer sur le fichier arbre.bat. L’arbre
apparaı̂t alors à l’écran, si vous avez correctement installer Pov-Ray. Pour
changer les paramètres d’exécution, tapez les commandes manuellement si
vous connaissez bien les commandes MS-DOS ou bien éditez le fichier arbre.bat
avec le bloc-notes.
Voici le contenu par défaut du fichier arbre.bat :
@echo off
echo starting arbre.exe
arbre.exe -s 9 descr.txt > log.pov
echo rendering by POV-Ray (executable may be changed)
C:\Progra~1\POV-Ray\bin\pvengine.exe +ilog.pov +w1024 +h768
echo done.
Les lignes à modifier sont la 4e ligne pour changer les paramètres d’exécution
du programme et la 7e ligne si vous n’avez pas installé Pov-Ray dans Program
Files.
Les paramètres d’exécution (facultatifs) sont :
– -s SEED où SEED est un nombre qui permet d’initialiser le générateur
de nombre aléatoire. Dans le fichier, arbre.bat, ce paramètre est égal
à 9 mais vous pouvez le changer pour obtenir un arbre sensiblement
différent.
– -i ITER où ITER est le nombre d’itérations à effectuer.
41
Annexe B
Contenu du CD-ROM
Sur le CD-ROM figurent :
– la version informatique de ce document sous plusieurs formats universellement reconnus (PDF et PostScript), prêts à être imprimés,
– les programmes prêts à être utilisés,
– le code source des programmes,
– POV-Ray, le freeware permettant de tracer des objets trois diensions.
42
Bibliographie
[1] Bernard Sapoval, L’universalité et les fractales, éd. Flammarion, 1997.
[2] Benoı̂t Mandelbrot, Les objets fractals, éd. Flammarion, 1995.
[3] Bernard Sapoval, L’universalité des fractales, Pour la science, octobre
2002.
[4] Yuval Fisher, Fractal Image Compression. Theory and Application éd.
Springer-Verlag, 2000.
[5] Christian Grossetête et Pascal Olive, Mécanique newtonienne du point,
éd. Ellipses, 1998.
[6] http://raphaello.univ-fcomte.fr/These/Default.htm
[7] http://www.cogs.susx.ac.uk/users/gabro/lsys/lsys.html
43