fractal suivant fractal précédent courbes 2D courbes 3D surfaces fractals polyèdres

ATTRACTEUR D’UNE FAMILLE DE CONTRACTIONS


Notion introduite par Hutchinson en 1981.
Autre nom : attracteur d'un système de fonctions itérées.
En anglais : attractor of an IFS (iterated functions system).
Article sur le sujet.

Soit , une famille de contractions (c'est-à dire vérifiant  ) d'un espace métrique complet E.
Il existe alors un unique compact non vide A de E tel que , appelé attracteur (ou ensemble limite) de la famille  : c’est le point fixe attractif de la fonction  f définie sur les compacts non vides de E par . Partant d'un compact quelconque K0 , la récurrence  fournit une suite de compacts qui converge au sens de la métrique de Hausdorff vers A.
Si les fi sont des similitudes de rapport , le nombre d défini par  (qui vaut  lorsque les similitudes sont toutes de rapports ) est appelé la dimension de similitude interne de A.
Ce nombre est supérieur ou égal à la dimension fractale de A et lui est égal si les fi(A) se coupent 2 à 2 sur leur frontière.

Exemples :
 
Nom de l'attracteur famille des contractions dimension de similitude interne de KF Code maple
segment [AB] 2 homothéties de rapport 1/2 de centres A et B 1  
ensemble de Cantor d’extrémités A et B 2 homothéties de rapport 1/3 de centres A et B cantor:=proc(A,B,n) 
if n=0 then [A,B] else 
cantor(A, (2*A+B)/3, n-1),
cantor((A+2*B)/3, B, n-1) fi end:   plot([cantor([0,0],[1,0],4)],axes=none,color=red);
escalier du diable 3 contractions affines 1 escalier:=proc(a,b,c,d,n) 
if n=0 then [a,b],[c,d] else 
escalier(a, b, (2*a+c)/3, (b+d)/2, n-1),
escalier((2*a+c)/3, (b+d)/2, (a+2*c)/3, (b+d)/2, n-1),
escalier((a+2*c)/3, (b+d)/2, c, d, n-1) fi  end:
plot([escalier(0,0,1,1,3)]);
courbe du blanc-manger 2 composées des homothéties de rapport 1/2 de centre A et B avec des transvections 1 ?  
courbe de Koch 4 similitudes de rapport 1/3 koch:=proc(A,B,n)
if n=0 then A else 
koch(A, (2*A+B)/3, n-1),
koch((2*A+B)/3, (A+B)/2+I*(B-A)/sqrt(3)/2 ,n-1),
koch((A+B)/2+I*(B-A)/sqrt(3)/2, (A+2*B)/3, n-1),
koch((A+2*B)/3, B, n-1) fi end:
complexplot([koch(0,1,4),1],axes=none,color=red,scaling=constrained);
ensemble unité 2 similitudes directes de même rapport  et même angle.  

courbe du C
2 similitudes directes de rapport  d'angles p/4 et -p/4 2 ? c:=proc(A,B,n)
if n=0 then A else 
c(A, (A+B)/2+I*(B-A)/2, n-1),
c((A+B)/2+I*(B-A)/2, B, n-1) 
fi end:
complexplot([c(0,1,8),1],axes=none,color=red,scaling=constrained);
courbe du dragon 2 similitudes directes de rapport  2 dragon:=proc(A,B,n)
if n=0 then [A,B] else C:=(A+B)/2+I*(B-A)/2:
dragon(A,C, n-1),
dragon(B,C, n-1) fi end:
plot(map(X ->map(z->[Re(z),Im(z)],X),[dragon(0,1,8)]),axes=none,scaling=constrained);
courbe du terdragon 2 similitudes directes de rapport  m:=2*sqrt(3):
cterdragon:=proc(A,B,n)
if n=0 then [A,B] else C:=(A+B)/2+I*(B-A)/m: 
cterdragon(A,C,n-1), 
cterdragon(B,C,n-1)  fi end:
plot(map(X ->map(z->[Re(z),Im(z)],X),[cterdragon(0,1,8)]),axes=none,scaling=constrained);
terdragon et terpapillon 3 similitudes, directes pour le terdragon, indirectes pour le terpapillon, de rapport  2 m:=2*sqrt(3):
terpapillon:=proc(A,B,n,e) 
if n=0 then [A,B] else C,D:=(A+B)/2+e*I*(B-A)/m,(A+B)/2-e*I*(B-A)/m: 
terpapillon(A,C,n-1,-e), 
terpapillon(C,D,n-1,-e),
terpapillon(D,B,n-1,-e)  fi end:
plot(map(X ->map(z->[Re(z),Im(z)],X),[terpapillon(0,1,7,1)]),axes=none,color=red,scaling=constrained);
courbe du dragon d'or 2 similitudes de rapports r et avec . nombre d'or f:=(1+sqrt(5.))/2:r:=1/f^(1/f):c:=(1+r^2-r^4)/2/r:
dragonor:=proc(A,B,n)
if n=0 then [A,B] else C:=A+(B-A)*(c*r+sqrt(1-c^2)*r*I):
dragonor(A,C, n-1), 
dragonor(B,C, n-1)  fi end: 
plot(map(X ->map(z ->[Re(z),Im(z)],X),[dragonor(0,1,15)]),axes=none,color=red,scaling=constrained); 
triangle rectangle isocèle vu comme courbe de Polya (2) 2 similitudes indirectes de rapport  2 polya:=proc(A,B,n,e) 
if n=0 then [A,B] else C:=(A+B)/2+e*I*(B-A)/2: 
polya(C,A, n-1,-e), 
polya(C,B,n-1,-e)fi end: 
plot(map(X ->map(z ->[Re(z),Im(z)],X),[polya(0,1,8,1)]),axes=none,scaling=constrained);
carré plein ABCD 4 homothéties de rapport 1/2 de centres A, B, C, D 2  
carré plein vu comme courbe de Hilbert 2 similitudes indirectes de rapport 1/2, 
2 homothéties de rapport 1/2
2 hilbert:=proc(A,B,n,e)
if n=0 then (3*A+B)/4+e*I*(B-A)/4,(3*A+B)/4+3*e*I*(B-A)/4,(A+3*B)/4+3*I*e*(B-A)/4,(A+3*B)/4+e*I*(B-A)/4 else 
hilbert(A,A+e*I*(B-A)/2,n-1,-e),
hilbert(A+e*I*(B-A)/2,(A+B)/2+e*I*(B-A)/2,n-1,e),
hilbert((A+B)/2+e*I*(B-A)/2,B+e*I*(B-A)/2,n-1,e),
hilbert(B+e*I*(B-A)/2,B,n-1,-e) 
fi end:
plot(map(X ->map(z ->[Re(z),Im(z)],X),[hilbert(0,1,2,1)]),axes=none,color=red,scaling=constrained);
carré plein vu comme courbe de Peano 9 similitudes de rapport 1/3, 5 directes, 4 indirectes. 2 peano:=proc(A,B,n)
if n=0 then [A,B] else 
peano(A,(2*A+B)/3,n-1),peano((2*A+B)/3,(2*A+B)/3+I*(B-A)/3,n-1),
peano((2*A+B)/3+I*(B-A)/3,(A+2*B)/3+I*(B-A)/3,n-1),
peano((A+2*B)/3+I*(B-A)/3,(A+2*B)/3,n-1),peano((A+2*B)/3,(2*A+B)/3,n-1),
peano((2*A+B)/3,(2*A+B)/3-I*(B-A)/3,n-1),
peano((2*A+B)/3-I*(B-A)/3,(A+2*B)/3-I*(B-A)/3,n-1),
peano((A+2*B)/3-I*(B-A)/3,(A+2*B)/3,n-1),peano((A+2*B)/3,B,n-1) 
fi end:
plot(map(y ->map(x ->[Re(x),Im(x)],y),[peano(0,1+I,2)]),axes=none,color=red,scaling=constrained);
carré plein vu comme courbe de Sierpinski 4 similitudes de rapport 1/2 2  

courbe du triangle de Sierpinski
3 homothéties de rapport 1/2 de centres les sommets d'un triangle équilatéral sierpinski:=proc(A,B,n)
if n=0 then [A,B] else 
sierpinski((3*A+B)/4+I*(B-A)*sqrt(3)/4,A,n-1),
sierpinski((3*A+B)/4+I*(B-A)*sqrt(3)/4,(A+3*B)/4+I*(B-A)*sqrt(3)/4,n-1),
sierpinski(B,(A+3*B)/4+I*(B-A)*sqrt(3)/4,n-1) 
fi end:
complexplot([sierpinski(0,1,6)],axes=none,color=red,scaling=constrained);
tapis de Sierpinski
Voir de nombreuses variantes sur cette page
8 homothéties de rapport 1/3 centrées aux sommets et au milieu des côtés d'un carré   
île de Gosper 7 similitudes de rapport 1/Ö 7 2  
fougère de Barnsley 4 transformations affines ?  
cube plein 8 homothéties de rapport 1/2 centrées aux sommets du cube 3  
éponge de Menger 20 homothéties de rapport 1/3 centrées aux sommets et au milieu des arêtes d'un cube   

Voir aussi les ensembles limites d'une famille d'inversions. et les fractals obtenus par L-système.
 
fractal suivant fractal précédent courbes 2D courbes 3D surfaces fractals polyèdres

© Robert FERRÉOL  2026