WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les fractals et leur géométrie

( Télécharger le fichier original )
par Abderrahmane & Abdessalem BELLAL & BENTERKI
Université Dr.Yahia Farès de Médéa Algérie - Master 2 en mathématiques 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Conclusion et perspectives

Les travaux pr'esent'es dans cette thèse concernent les fractals et plus particulièrement la th'eorie qui permet de les g'en'erer par la technique des systèmes de fonctions itérées (IFS).

Après l'avoir appliqu'ee a` (R, R2 et C), nous avons regard'e son application a` l'espace plus g'en'eral des multifonctions qui a` des applications dans des domaines informatiques et notamment celui de la compression des images (voir [16]).

Plusieurs questions se r'evelent d'ores et d'ejàint'eressantes.

- Quelles sont les conditions sur un espace pour pouvoir y construire des fractals?

- Y-a-t-il une m'ethode g'en'erale d'int'egration de fonctions mesurables sur un ensemble de type fractal?

- Que se passe t-il si les contractions de l'IFS sont des multifonctions?

- Quelles sont les op'erations (somme, produit, sous-espaces, ...) qui pr'eservent la propri'et'es d'être fractal?

Cette thèse nous a permis 'egalement d'acqu'erir des comp'etences en topologie et en th'eorie de la mesure pour pouvoir acc'eder a` des problèmes de s'elections et de cross-s'elections mesurables dans le cadre des multifonctions ou dans celui des groupes topologiques en g'en'eral.

ANNEXE

PROGRAMMES SUR LES FRACTALS

Dans cette annexe, nous avons présentéquelques programmes sous Matlab® servant a` illustrer la construction des différents types de fractals. Nous avons présentéla construction

de fractals selon la technique des systèmes de fonctions itérées (IFS). Nous avons appliquécette méthode a` l'aide des approches probabiliste seulement.

Section .1

L'ensemble de Cantor

function Cantor shg

clf reset

set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal Cantor')

x = 1/2 ;

h = plot(x,'.'); black = [0 0 0]; set(h,'markersize',1,'color',black,'erasemode','none');

axis([0 1 0 1]) axis off

stop = uicontrol('style','toggle','string','stop', ...

'background','white');

drawnow

p = [ .8 .9];

cnt = 1;

tic

while -get(stop,'value')

r = rand;

if r < p(1)

x = 1/3*x ; else

x = 1/3*x + 2/3;

end

set(h,'xdata',x); drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf('%8.0f points in 7.6.3f seconds',cnt,t); text(0.25,0,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .2

Courbe de von Koch

function Koch_curve

shg

clf reset

set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal Koch curve') x = [1; 0];

h = plot(x(1),x(2),'.');

red = [1 0 0];

set(h,'markersize',1,'color',red,'erasemode','none'); axis([0 1 -0.5 1])

axis off

stop = uicontrol('style','toggle','string','stop', ... 'background','white');

drawnow

p = [ 0.15 .35 .5 1];

A1 = [ 1/3 0; 0 1/3];

A2 = [ 1/6 -sqrt(3)/6; sqrt(3)/6 1/6]; b2 = [1/3; 0];

A3 = [ 1/6 sqrt(3)/6; -sqrt(3)/6 1/6]; b3 = [0.5; sqrt(3)/6];

A4 = [ 1/3 0; 0 1/3]; b4 = [2/3; 0];

cnt = 1;

tic

while ~get(stop,'value')

r = rand;

if r < p(1)

x = A1*x ;

elseif r < p(2)

x = A2*x + b2;

elseif r < p(3)

x = A3*x + b3;

else

x = A4*x+b4;

end

set(h,'xdata',x(1),'ydata',x(2)); drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf ('%8.0f points in %6.3f seconds',cnt,t); text(.25,-.5,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .3

Triangle de Sierpenski

function Sierpinski

shg

clf reset

set(gcf,'color','white','menubar','none', ...

'numbertitle','off','name','Fractal Sierpenski') x = [0; 0];

h = plot(x(1),x(2),'.');

darkblue = [0 0 1]; set(h,'markersize',1,'color',darkblue,'erasemode','none'); axis([0 1 0 1])

axis off

stop = uicontrol('style','toggle','string','stop', ... 'background','white');

drawnow

p =

[ 0.2

0.3

0.5];

 

A = [

.5

0; 0

.5];

 

b2 =

[0.5;

0];

b3 = [1/4;

sqrt(3)/4];

cnt = 1;

tic

while ~get(stop,'value')

r = rand;

if r < p(1)

x = A*x ;

elseif r < p(2)

x = A*x + b2; elseif r < p(3)

x = A*x + b3 ;

end

set(h,'xdata',x(1),'ydata',x(2));

drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf('%8.0f points in %6.3f seconds',cnt,t); text(0.25,-0.01,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .4

Foug`ere de Barnsley

function fern

shg

clf reset

set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal Fern') x = [.5; .5];

h = plot(x(1),x(2),'.');

darkgreen = [0 2/3 0]; set(h,'markersize',1,'color',darkgreen,'erasemode','none');

axis([0.3 0.8 0 1])

axis off

stop = uicontrol('style','toggle','string','stop', ... 'background','white');

drawnow

p = [ .85 .92 .99 1];

A1 = [ 0 0 ; 0 .16]; b1 = [0.5; 0];

A2 = [ .849 .037; -.037 .849]; b2 = [0.075; 0.183];

A3 = [ .197 -.226; .226 .197]; b3 = [0.4; 0.049];

A4 = [-.15 .283; .260 0.237]; b4 = [0.575; -0.084];

cnt = 1;

tic

while ~get(stop,'value') r = rand;

if r < p(1)

x = A1*x + b1;

elseif r < p(2)

x = A2*x + b2;

elseif r < p(3)

x = A3*x + b3;

else

x = A4*x;

end

set(h,'xdata',x(1),'ydata',x(2));

drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf('7.8.0f points in 7.6.3f seconds',cnt,t); text(-1.5,-0.5,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .5

Poussi`ere de Cantor

function Cantordust

shg

clf reset

set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal Cantordust') x = [.5; .5];

h = plot(x(1),x(2),'.');

black = [0 0 0];

set(h,'markersize',1,'color',black,'erasemode','none'); axis([-3 3 0 10])

axis off

stop = uicontrol('style','toggle','string','stop', ... 'background','white');

drawnow

p =

A = [ b2 =

[ 0.5
.25
[0.25;

.72 0;

0];

.89 1];

0 .25]; b1 = [0;

b3 = [0.5; 0.75];

0.5]; b4 =

[0.75;

0.25];

cnt = 1;

tic

while ~get(stop,'value')

r = rand;

if r < p(1)

x = A*x + b1; elseif r < p(2)

x = A*x + b2; elseif r < p(3)

x = A*x + b3; else

x = A*x;

end

set(h,'xdata',x(1),'ydata',x(2));

drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf('7.8.0f points in 7.6.3f seconds',cnt,t); text(.2,-.05,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .6

Tapis de Sierpenski

function tapis_de_Sierpinski

shg

clf reset

set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal tapis de Sierpinski') x = [0; 0];

h = plot(x(1),x(2),'.');

blue = [0 0 1];

set(h,'markersize',1,'color',blue,'erasemode','none');

axis([0 1 0 1])

axis off

stop = uicontrol('style','toggle','string','stop', ...

'background','white');

[ .1

.3

.5

.6 .75 .85

.9

1];

 

[ 1/3

0;

0

1/3];

b2 =

[0;

1/3];

 

[0; 2/3];

b4 =

[1/3;

0];

b5 =

[1/3;

2/3];

[2/3;

0];

b7 =

[2/3;

1/3]; b8 = [2/3; 2/3];

drawnow p = A = b3 = b6 =

cnt = 1;

tic

while ~get(stop,'value')

r = rand;

if r < p(1)

x = A*x;

elseif r < p(2)

x = A*x + b2; elseif r < p(3)

x = A*x + b3; elseif r< p(4)

x = A*x+b4; elseif r< p(5)

x = A*x + b5; elseif r< p(6)

x= A*x + b6; elseif r<p(7)

x= A*x + b7;

else

x= A*x + b8;

end

set(h,'xdata',x(1),'ydata',x(2));

drawnow

cnt = cnt + 1;

end

t = toc;

s = sprintf('7.8.0f points in 7.6.3f seconds',cnt,t); text(.2,-.05,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)')

Section .7

L'ensemble de Julia

7.7.L'ensemble Julia avec c=-.745429

col=30;

m=400;

cx=0;

cy=0;

l=1.5;

x=linspace(cx-l,cx+l,m); y=linspace(cy-l,cy+l,m); [X,Y]=meshgrid(x,y);

c= -.745429;

Z=X+i*Y;

for k=1:col;

Z=Z.^2+c;

W=exp(-abs(Z));

end

colormap prism(256)

pcolor(W);

shading flat;

axis('square','equal','off');

Pour voir d'autre ensemble de Julia il suffit modifier le nombre c o`u le polynàome Z. Par exemple prenant c=0.32+0.034i et Z=Z.^3+c.

Section .8

L'ensemble de Mandelbort

col=20;

m=400;

cx=-.6;

cy=0;

l=1.5;

x=linspace(cx-l,cx+l,m); y=linspace(cy-l,cy+l,m); [X,Y]=meshgrid(x,y);

Z=zeros(m);

C=X+i*Y;

for k=1:col;

Z=Z.^2+C;

W=exp(-abs(Z));

end

colormap copper(256); pcolor(W);

shading flat;

axis('square','equal','off');

Pour voir d'autre ensemble de Mandelbort il suffit modifier le polynàome Z. Par exemple prenant Z=Z.^3+c.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"