Algoritmi, numere şi fractali

4/28/2012



Math experience CONCURS 2012
SECTIUNEA 3, clasele IX – XII – Matematica Aplicata

Argument


Analizând lumea plantelor sau organismul uman, privind în cosmos sau observând relieful
planetei, se observă aspecte geometrice similare. Ce au în comun o frunză de ferigă, un fulg de
nea, un munte stâncos sau poate o galaxie ? Răspusul a venit o dată cu crearea geometriei
fractale de către Benoit Mandelbrot.
Frumuseţea formelor fractale este dată deopotrivă de continuităţi şi de discontinuităţi ale
obiectelor analizate. Artă şi stiinţă deopotrivă, geometria fractală este o modalitate de creaţie
bazată pe cunoaştere, emoţie şi imaginaţie.
Cosiderăm că descoperirea formelor fractale în natură constituie o formă de universalitate care
permite modelarea matematica a naturii.

2

Algoritmi, numere şi fractali

1. Două numere şi un algoritm
2. Tabloul numerelor prime şi teorema numerelor
prime
3. Puteri şi fractali
4. Sisteme dinamice
5. Arta fractală şi design-ul naturii


Floroiu Andreea , clasa a X-a,
Şcoala Superioară Comercială “Nicolae Kretzulescu”, Bucureşti
Romano Mariacristina, clasa a XII-a,
Şcoala Superioară Comercială “Nicolae Kretzulescu”, Bucureşti
Liciu Louise , clasa a XI-a,
Colegiul Naţional “Ion Neculce”, Bucureşti
Herea Nicoleta, clasa a X-a,
Şcoala Superioară Comercială “Nicolae Kretzulescu”, Bucureşti
Tudor Andrei , clasa a XI-a
Liceul Teoretic “Dante Aligheri”

Profesori coordonatori
Moise Luminiţa Dominica, Şcoala Superioară Comercială “Nicolae Kretzulescu”, Bucureşti
Druţă Doina, Liceul Teoretic “Dante Aligheri”, Bucureşti
Cristea Ruxandra, Şcoala Superioară Comercială “Nicolae Kretzulescu”, Bucureşti
1


Analizând lumea plantelor sau organismul uman, privind în cosmos sau observând relieful
planetei, se observă aspecte geometrice similare. Ce au în comun o frunză de ferigă, un fulg de
nea, un munte stâncos sau poate o galaxie ? Răspusul a venit o dată cu crearea geometriei
fractale de către Benoit Mandelbrot.
Pe de altă parte fizica a oferit umanităţii mari principii tehnologice care au fost de importanţă
vitală pentru secolul XX. Chiar dacă principiile fundamentale ale Fizicii au fost formulate cu
aproape 75 de ani în urmă, se mai aşteaptă altele mai noi. Cu mijloacele sale concise, corecte şi
modelatoare, fiind o ştiinţă numerică şi a formelor, Matematica , prin Teoria Haosului va ajuta
fizica secolului XXI ca şi pâna acum.
Frumuseţea formelor fractale este dată deopotrivă de continuităţi şi de discontinuităţi ale
obiectelor analizate. Artă şi stiinţă deopotrivă, geometria fractală este o modalitate de creaţie
bazată pe cunoaştere, emoţie şi imaginaţie.
De aceea considerăm că descoperirea formelor fractale în natură constituie o formă de
universalitate care permite modelarea matematica a naturii.

1
Imaginile care ilustrează acest articol (1-4) sunt realizate cu pachetul de programe Fractall , cap
5 contine imagini realizate cu UltraFractal 4.3 şi imagini din galeria Ventures in Science Using
Art Laboratory

3

1. Două numere şi un algoritm
a) triunghiul lui Pascal (modulo 2)
b) matricea boole a numerelor pare şi impare

a)Triunghiul lui Pascal (modulo 2)
Generăm un triunghi, pornind de la: 1 .
1 1
Creăm mereu câte o nouă linie punând în extremităţi 1 şi adunând cele două numere aflate în
stânga şi în dreapta.










Putem continua astfel oricât de mult dorim. Obţinem aşa-numitul triunghi al lui Pascal,
numerele rezultate având o interpretare în teoria combinărilor, dar nu acest aspect ne interesează
acum. De fapt aici ne interesează doar dacă numerele astfel calculate sunt impare, deoarece vom
vizualiza numerele impare prin sfere pentru a creea o imagine.
Observăm că dacă înlocuim numerele pare cu 0 şi pe cele impare cu 1 regula de generare
a triunghiului devine :
- număr par + număr par = număr par ; deci 0 + 0 = 0;
- număr par + număr impar = număr impar ; deci 0 + 1 = 1 ; 1 + 0 = 1;
- număr impar + număr par = număr par ; deci 1 + 1 = 0.

Avem următorul tabel care
sintetizează cele de mai sus :




Desenând în locul numerelor de 1 sfere de rază suficient de mică rezultă imaginea de mai sus
numită şi triunghiul lui Sierpinski.
Dacă aliniem numerele din triunghiul lui Pascal altfel obţinem imaginea următoare:
+ 0 1
0 0 1
1 1 0
4













Sau


b) Matricea numerelor pare şi impare

Putem face calculele asemănatoare pornind de la o linie de 1 (linia 0) şi o coloană de
valori nule (mai puţin primul element, coloana 0) n j A
j
, 0 , 1
0
= = n i A
i
, 1 , 0
0
= = Vom genera
linile pentrru n j n i , 1 ; , 1 = = ”adunând ” după regula lui “sau exclusiv” : A
ij
=A
ij-1
+A
i-1j
.
Obţinem astfel imaginea matricii (mai puţin linia şi coloana 0).
( Observaţie: este de fapt tot triunghiul anterior– prima imagine – rotit cu 45º )













5

Observaţie: Dacă n este un număr prim, putem generaliza construcţia de la punctul a) a
triunghiuluilui Pascal modulo 2 astfel: reprezentǎm în triunghiul lui Pascal punctele corespunzătoare
numerelor care nu se divid la n (n=2 a fost cazul anterior). De exemplu imaginile triunghiului lui
Pascal modulo n pentru
n=11,17,3, 5,7.










6

Algoritmi şi programe

Triunghiul lui Pascal modulo 2



Varianta Pascal Varianta C++
program triunghiul_lui_pascal;
var a:array[1..100,1..100] of char;
i,j,n,m:integer;
begin
write('n=');readln(n);
m:=n+n-1;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=' ';
a[1,m div 2+1]:='1';
for i:=2 to n do
for j:=2 to m-1 do
begin
if ((a[i-1,j-1]=' ') and (a[i-1,j+1]='1'))or
((a[i-1,j-1]='1') and (a[i-1,j+1]=' '))
or((a[i-1,j-1]='0') and (a[i-1,j+1]='1'))or
((a[i-1,j-1]='1') and (a[i-1,j+1]='0')) then
a[i,j]:='1';
if((a[i-1,j-1]='1') and (a[i-1,j+1]='1')) then
a[i,j]:='0';
if((a[i-1,j-1]=' ') and (a[i-1,j+1]=' ')) then
a[i,j]:=' ' ;
if((a[i-1,j-1]='0') and (a[i-1,j+1]='0')) then
a[i,j]:='0' ;
a[n,1]:='1';a[n,m]:='1';
end;
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j],' ');
writeln;
end;
end.






#include<iostream.h>
void main()
{char a[100][100];
int i,j,n,m;
cout<<"n=";cin>>n;
m=n+n-1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
a[i][j]=' ';
a[1][m/2+1]='1';
for (i=2;i<=n;i++)
for (j=2;j<=m-1;j++)
{
if( ((a[i-1][j-1]==' ') && (a[i-1][j+1]=='1'))||
((a[i-1][j-1]=='1') && (a[i-1][j+1]==' '))||
((a[i-1][j-1]=='0') &&(a[i-1][j+1]=='1'))||
((a[i-1][j-1]=='1')&&(a[i-1][j+1]=='0')))
a[i][j]='1';
if((a[i-1][j-1]=='1')&&(a[i-1][j+1]=='1'))
a[i][j]='0';
if((a[i-1][j-1]==' ')&&(a[i-1][j+1]==' '))
a[i][j]=' ';
if((a[i-1][j-1]=='0')&&(a[i-1][j+1]=='0'))
a[i][j]='0';
a[n][1]='1';a[n][m]='1';
}
for (i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
7




program triunghiul_ lui_ pascal;
var a:array[1..100,1..100] of integer;
i,j,n,m:integer;
p:string;
begin
write('n=');readln(n);
m:=n+n-1;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=0;
a[1,m div 2+1]:=1;
for i:=2 to n do









for j:=2 to m-1 do
a[i,j]:=a[i-1,j-1]+a[i-1,j+1];
a[n,1]:=1;a[n,m]:=1;
for i:=1 to n do
begin
for j:=1 to m do
if(a[i,j]=0) then
write(' ') else
begin
str(a[i,j],p);
write(p,' ');
end;
writeln;
end;
end.
8

2. Tabloul numerelor prime şi teorema numerelor prime

Teorema fundamentală a aritmeticii (Euclid şi Gauss)
Teoremă: Orice număr natural nenul şi diferit de 1 este un produs finit de numere
ireductibile,
descompunerea fiind unică abstracţie făcând ordinea termenilor.
Definiţie : Fie p ε N, p ≠ 0, p ≠ 1, p se numeşte prim dacă verifică condiţia:
dacă a , b e N şi p | a · b, atunci p| a sau p | b .
Observaţie : Noţiunile de număr prim şi ireductibil coincid conform teoremei următoare :
Teoremă: Orice număr p e N* , p ≠ 1 este ireductibil  p este prim.

Teorema lui Euclid
Teoremă: Mulţimea numerelor prime este infinită.
Demonstraţie:
Utilizăm metoda reducerii la absurd .
Dacă ar fi doar un număr finit p
1 ,
p
2
, p
n
de numere prime, atunci numărul m = 1+p
1 ·
p
2·…·
p
n

nu se divide la niciunul din numerele p
i
, i =1,n. Deci este prim sau are un divizor prim diferit de
numerele date. Am obţinut o contradicţie.
Sirul numerelor prime are goluri de lungime oricât de mare
Deoarece mulţimea numerelor prime este infinită , ele formează un şir crescător 2,3,5,7,…,
p
n
…unde p
n
este al “n”-lea număr prim. Se demonstrează că acest şir are goluri de lungime
oricât de mari în care se află numere compuse. Într-adevăr, următoarele n numere nu sunt prime
deoarece :
(n+1)! + 2  2;
(n+1)! + 3  3;
……………………
(n+1)! + (n+1)  n+1

Ciurul lui Eratostene
Pentru a vizualiza cele spuse anterior vom genera tabelul numerelor prime mai mici ca
5000 utilizând Ciurul lui Eratostene. Scriem toate numerele mai mici ca 5000 şi eliminăm pe
rând multiplii lui 2, 3, 5,... ş.a.m.d . Ii vom înlocui cu 0 (şi 1 se înlocuieşte cu 0 ). Numerele
nenule rămase sunt numerele prime.Vom face apoi tabloul numerelor prime vizualizând printr-un
bec aprins poziţia numărului prim într-o matrce boole.

Teorema numerelor prime
Cât de dense sunt numerele prime?
Pentru aceasta să notăm cu A(x) numărul numerelor prime mai mici ca x de exemplu:
A(3)= 1, A(10) = 4.
Teorema numerelor prime a fost enunţată de Gauss pornind de la o conjectură a lui Legendre şi
demonstrată ulterior de Jacques Hadamard (1896) şi de Charles-Jean Poussin în acelaşi an în
mod independent.
Această teoremă afirmă că:

Altfel spus pentru valori ale lui x suficient de mari A(x) este aproximativ egal cu x / ln x ,
deci A(x) creste în raport cu x la fel de repede cum creşte x în raport cu logaritmul său natural.
9






















10




























11


Algoritmi şi programe

program numere_prime_pâna_la_5000;
var n,i,s:integer;
function prim(n:integer):boolean;
var vb:boolean;i:integer;
begin
vb:=true;
if(n=0)or(n=1) then
prim:=false;
for i:=2 to trunc(sqrt(n)) do
if n mod i =0
then vb:=false;
prim:=vb;
end;
begin
s:=0;
write(' Numerele prime pana la 5000 sunt');
for i:=1 to 5000 do
if (prim(i)) then
if s mod 10=0 then
begin
writeln;
s:=s+1;
write(i,' ');
end
else
begin
s:=s+1;
write(i,' ');
end;
write('si sunt ',s);
end.





program nr_perfect;
function perfect(n:word):boolean;
var i,s:integer;
begin s:=0;
for i:=1 to n div 2 do
if n mod i=0 then
s:=s+i;
if s=n then
perfect:=true
else
perfect:= false;
end;
begin
write('n=');readln(n);
if(perfect(n)) then
write('numarul ',n,' este perfect')
else
write('numarul ',n,' nu este perfect');
readln;
end.

program numere_amiabile;
var i,j:word;
function amiabil(n:word;m:word):boolean;
var i,s:integer;
begin s:=0;
for i:=1 to n div 2 do
if n mod i=0 then s:=s+i;
if s=m then amabil:=true
else amabil:= false;end;
begin
writeln('Perechile de numere amiabile pana la 5000
sunt:');
for i:=2 to 4999 do
for j:=i to 5000 do
if(amabil(i,j))and(amabil(j,i)) then write('(',i,' ',j,')');
readln;end.

12

3. Puteri şi fractali
a) Fractali din :
- puterile lui 2 –fractalul copac, mulţimea Cantor;
- puterile lui 3 –triunghiul lui Sierpinski; copacul cu trei ramuri;
- puterile lui 4 - mulţimea lui Cantor 2D;
- puterile lui 5 – fractalul steluţă;
- puterile lui 8 – covorul lui Sierpinski;
b) Iteraţia – fundamentul teoriei fractalilor;
c) Dimensiunea fractalilor geometrici;
d) Curba lui Coch

a) Fractali
Într-un limbaj neştiinţific, fractalul poate fi explicat ca o formă geometrică fragmentabilă care
poate fi divizată în părţi, fiecare parte fiind o copie mai mică a întregului. Termenul provine din
latinescul „fractus‟ care înseamnă rupt sau fracturat.
Un obiect fractal este mai dificil de surprins din cauza complexităţii sale. El necesită din partea
observatorului un efort imaginativ, o participare mentală de natura unui proces nesfârşit. Limita
procesului este chiar obiectul fractal căutat. Această formă geometrică deosebită are trei
proprietăţi principale:
- este un obiect autosimilar (conform acestei proprietăţi, o parte din structura sa seamănă cu
întregul. Orice decupare la o scară oarecare sau anume aleasă, aduce în faţa ochilor noştri aceeaşi
"informaţie", ne dezvăluie acelaşi aspect ).
- are o dimensiune fracţionară ;
- are o definiţie simplă şi recursivă.
Exemplele cele mai simple de fractali sunt fractalii geometrici obţinuţi:
- prin divizare: triunghiul lui Pascal, triunghiul lui Sierpinski, covorul lui Sierpinski,
box-fractalii,
- prin procese de creştere: spirala radicalilor, fractalul pitagoreic, curba lui Coch
Pentru a-i genera ne trebuie o altă unealtă, mai complexă decât rigla şi compasul. Şi această
unealtăeste calculatorul. El a constituit poarta prin care s-a intrat în lumea fractalilor, lume
definită in 1975 odată cu apariţia primei cărţi a lui Mandelbrot: "Les objects fractales, forme,
hasard et dimension".













Puterile lui 2 exemplificate prin fractalul copacul cu două braţe
13

Puterile lui 2 exemplificate prin fractalul Muţimea lui Cantor şi Smith-Volterra Cantor
(praful lui Cantor)
Se porneşte de la un segment de dreapta .Se elimină la fiecare iteraţie 1/3, respectiv ¼ din
lungimea intervalului curent



Puterile lui 3- triunghiul lui Sierpinski

Considerăm un triunghi căruia îi vom aplica următoarea transformare (repetitivă):
“eliminăm” triunghiul definit de mijloacele laturilor. Acesta a fost primul pas .La pasul al
doilea,
aplicăm aceeaşi transformare fiecăruia din cele trei triunghiuri rămase.
Triunghiul lui Sierpinski este mulţimea punctelor rămase după ce repetăm transformarea
de mai sus de o infinitate de ori.










Triunghiul lui Sierpinski poate fi generat şi printr-un proces de creştere. Pornind de la un punct
“copiem” desenul de încă două ori rezultând la fiecare iteraţie trei imagini identice cu imaginea
de la iteraţia anterioară.

14





Puterile lui 4



Mulţimea lui Cantor în 2D (Praful lui Cantor 2D)

Puterile lui 5 – fractalul steluţă

Împărţim un pătrat în 9 pătrate egale, fiecare având latura de 3 ori mai mică decât a celui
iniţial. Eliminăm acum 4 pătrate. Acesta a fost primul pas.La pasul doi, aplicăm aceeaşi
transformare fiecăruia dintre cele 5 pătrate rămase. Prin trecere la limita so obţine fractalul
steluţă.

15




Puterile lui 8 – covorul lui Sierpinski

Împărţim un pătrat în 9 pătrate egale, fiecare având latura de 3 ori mai mică decât a celui
iniţial. Eliminăm acum pătratul din mijloc.Acesta a fost primul pas.La pasul doi, aplicăm aceeaşi
transformare fiecăruia dintre cele 8 pătrate rămase.Covorul lui Sierpinski este mulţimea de
puncte rămase după ce repetăm procedeul de mai sus de o infinitate de ori.



Dimensiunea fractalilor geometrici

Pornim de la un triunghi şi ajungem la o imagine atât de franjurată încât ideea pe care o
avem depre suprafaţa nu corespunde, dar nici cea de dreaptă nu se potriveşte . Avem o
dimensiune sau două? Intuiţia şi simţul nostru matematic nu pot să decidă .
În construcţia fractalului figura s-a împărţit într-un număr n de piese similare făcând o
anumită divizare a unui interval în m bucăţi.
Exemplu: la triunghiul lui Sierpinscki fiecare latură se împarte în două: m=2 , rezulta 3 obiecte,
deci n=3.La covorul lui Sierpinscki – fiecare latură se împarte în trei m =3 şi rezultă opt pătrate
n=8.
La curba lui Coch (vezi capitolul următor) – fiecare segment se împarte în trei m=3 şi
rezultă 4 segmente similare n=4. Definiţia dimensiunii fracţionare este :

Astfel - pentru triunghiul lui Sierpinski :

- covorul lui Sierpinski :
16


- curba lui Coch:

a) Curba lui Coch
Considerăm un segment de dreaptă (acesta se numeste “iniţiator”). Împărţim segmentul în
trei părţi egale şi pe segmentul din mijloc construim un triunghi echilateral; eliminăm apoi acest
segment (baza triunghiului). Acesta este primul pas.
În concluzie, după primul pas am înlocuit segmentul iniţial cu o linie poligonală (numită
“generator”) formată din 4 segmente (fiecare cu o lungime de 3 ori mai mică decât a segmentului
iniţial). La pasul doi aplicăm procedeul fiecăruia dintre cele patru segmente:Continuând
procedeul de o infinitate de ori se obţine curba lui Coch.

















Program curba_lui_Coch;
uses graph;
var l,gdriver,gmode,ls:integer;
xmax,ymax:integer;
procedure initg;
begin
gdriver:=detect;
initgraph(gdriver,gmode,'e:\bp\bgi');
if graphresult<>0 then
begin
writeln('tentativa esuata!');
halt
end
end;
procedure unghi1(xc,yc,x1,y1:integer;var x,y:integer;unghi:real);
17

begin
x:=round(xc+(x1-xc)*cos(-unghi)-(y1-yc)*sin(-unghi));
y:=round(yc+(x1-xc)*sin(-unghi)+(y1-yc)*cos(-unghi))
end;
procedure traseaza(x1,y1,x2,y2,x3,y3:integer);
begin
moveto(x1,y1);
lineto((2*x1+x2)div 3,(2*y1+y2)div 3);
lineto(x3,y3);
lineto((x1+2*x2) div 3,(y1+2*y2)div 3);
lineto(x2,y2);
end;
procedure a (x1,y1,x2,y2,n,ls:integer);
var x,y:integer;
begin
unghi1((2*x1+x2)div 3,(2*y1+y2)div 3,(x1+2*x2)div 3,(y1+2*y2)div 3,x,y,pi/3);
if n<ls then
begin
a(x1,y1,(2*x1+x2) div 3,(2*y1+y2) div 3,n+1,ls);
a((2*x1+x2) div 3,(2*y1+y2) div 3,x,y,n+1,ls);
a(x,y,(x1+2*x2) div 3,(y1+2*y2) div 3,n+1,ls);
a((x1+2*x2) div 3,(y1+2*y2) div 3,x2,y2,n+1,ls)
end
else
traseaza(x1,y1,x2,y2,x,y);end;
begin
write('ls=');readln(ls);
initg;
setcolor(red) ;
l:=getmaxx-320;
a(150,getmaxy-100,150+l,getmaxy-100,1,ls);
a(150+l,getmaxy-100,150+l,getmaxy-100-l*round(sqrt(3)/2),1,ls);
a(150+l,getmaxy-100-l*round(sqrt(3)/2),150,getmaxy-100-l*round(sqrt(3)/2),1,ls);
a(150,getmaxy-100-l*round(sqrt(3)/2),150,getmaxy-100,1,ls);
setfillstyle(1,blue);
floodfill(getmaxx div 2,getmaxy div 2, red);
readln;
end.

Program fulgul_Coch;
uses graph;
var l,gdriver,gmode,ls:integer;
xmax,ymax:integer;
procedure initg;
begin
gdriver:=detect;
18

initgraph(gdriver,gmode,'e:\bp\bgi');
if graphresult<>0 then
begin
writeln('tentativa esuata!');
halt
end
end;
procedure unghi1(xc,yc,x1,y1:integer;var x,y:integer;unghi:real);
begin
x:=round(xc+(x1-xc)*cos(unghi)-(y1-yc)*sin(unghi));
y:=round(yc+(x1-xc)*sin(unghi)+(y1-yc)*cos(unghi))
end;
procedure traseaza(x1,y1,x2,y2,x3,y3:integer);
begin
moveto(x1,y1);
lineto((2*x1+x2)div 3,(2*y1+y2)div 3);
lineto(x3,y3);
lineto((x1+2*x2) div 3,(y1+2*y2)div 3);
lineto(x2,y2);
end;
procedure a (x1,y1,x2,y2,n,ls:integer);
var x,y:integer;
begin
unghi1((2*x1+x2)div 3,(2*y1+y2)div 3,(x1+2*x2)div 3,(y1+2*y2)div 3,x,y,pi/3);
if n<ls then
begin
a(x1,y1,(2*x1+x2) div 3,(2*y1+y2) div 3,n+1,ls);
a((2*x1+x2) div 3,(2*y1+y2) div 3,x,y,n+1,ls);
a(x,y,(x1+2*x2) div 3,(y1+2*y2) div 3,n+1,ls);
a((x1+2*x2) div 3,(y1+2*y2) div 3,x2,y2,n+1,ls)
end
else
traseaza(x1,y1,x2,y2,x,y);end;
begin
write('ls=');readln(ls);
initg;
setcolor(red) ;
l:=getmaxx-320;
a(150,getmaxy-100,150+l,getmaxy-100,1,ls);
a(150+l,getmaxy-100,150+l,getmaxy-100-l*round(sqrt(3)/2),1,ls);
a(150+l,getmaxy-100-l*round(sqrt(3)/2),150,getmaxy-100-l*round(sqrt(3)/2),1,ls);
a(150,getmaxy-100-l*round(sqrt(3)/2),150,getmaxy-100,1,ls);
setfillstyle(1,blue);
floodfill(getmaxx div 2,getmaxy div 2, red);
readln;
end.
19


4. Sisteme dinamice

a) Definiţii.Sisteme dinamice, şiruri recurente, orbite, puncte fixe, ciclice
b) Mulţimi Julia şi mulţimi Mandelbrot. Algoritmul ”escape-time”.
c) Teoria Haosului


a) Definiţii. Sisteme dinamice, şiruri recurente, orbite\
Definiţie: Fie X R (sau X C ) şi f o funcţie f : X→ X . Atunci ( X,f ) se numeşte
sistem dinamic .
Vom vedea mai târziu cum sistemele dinamice generează fractali în urma unor iteraţii .
Exemple :
1. Dacă f : R → R , atunci ( R , f ) este un sistem dinamic .
2. X = [ 0 , 1 ] f(x) = 2x – [2x] f : [0,1] → [0,1] (X, f ) este un sistem dinamic.
3. X = [0,1] f
c
(x) = cx (1-x) este un sistem dinamic pentru orice ce[0,4] .
Spunem că avem o familie cu un parametru de sisteme dinamice (X,f
c
).Într-adevăr, din studiul
graficului funcţiei de gradul II ştim că :
x
max
= - b /2a , y
max
=c( 1/2 - 1/4)=c/4
Deci ] 4 , 0 [ ] 1 , 0 [ ] 4 / , 0 [ ] 1 , 0 [ : e c ÷ c pentru c f
4.
¹
´
¦
+ + =
+ + =
2 2 1 2
2 1 1
t dx cx y
c bx ax y
) , ( ) , (
2 1 2 1
y y x x
f
÷÷ ÷ , f: R
2
→ R
2
( R
2
,f ) este un sistem dinamic
Şiruri recurente
Definiţie: Fie f : R → R ( sau f :C → C) o funcţie şi x
0
e R (C). Şirul construit după
formula x
n+1
= f(x
n
) se numeşte şir recurent de ordinul 1 (deoarece orice termen al şirului
începând cu al doilea se calculează în funcţie de termenul anterior).
Orbite
Definiţie :Fie f : R→R ( sau f : C→C ) x
0
e R ( x
0
eC ). Şirul x
n+1
= f(x
n
) se numeşte orbita lui
x
0
sub funcţia f.
Puncte importante : puncte fixe, ciclice, puncte de atracţie, puncte de respingere
Definiţie:Fie f: R →R (f : C→C ) Dacă x
0
este soluţia ecuaţiei f(x) =x , atunci x
0
se
numeşte punct fix .







x= 0.64 este punct fix al funcţiei f(x)=3x(1-x), f : R→R
x=0.42 şi x=0.72 sunt puncte fixe ale aplicaţiei f

(2)
desenată cu verde rezultată prin
compunerea de două ori a funcţiei desenate cu alb f = 3.55 x (1-x) (f

(2)

=fof(x) )

20

Eexemple de sisteme dinamice cu un singur punct fix sunt aşa numitele funcţii de
contracţie după cum vom vedea în capitolul următor.
Puncte periodice
Definiţie: Fie x
0
e R un punct care nu este punct fix x
0
e R.x
0
se numeşte punct periodic
dacă există n e N , n≥2 astfel încât x
n
= x
0
, deci


Cel mai mic număr natural n cu proprietatea din definiţia anterioară se numeşte perioada
principală. Este evident că orice multiplu natural a unei perioade este tot perioadă.



ciclu de perioada 2 ciclu de perioada 4

Exemplul 1. f(x) = - x
3
are cicluri de perioada 2 ?
Acesta revine la a rezolva ecuaţia.
fof(x) = x ; (- x
3
)
3
= x ; - x
9
= x .
x
9
+x = 0 x(x
8
+1) = 0 => x=0 , dar x =0 este punct fix pentru f (x), deci f nu are cicluri de
perioadă 2


Exemplul 2. Stabiliţi dacă x = 0 este punct periodic pentru f(x) = (x+1) (- 3/2 x+1)
x
1
= f(0) = 1 .
x
2
= f(1) = 2(-1/2 ) = -1
x
3
=f(-1) = 0




Deci 0 este punct periodic de perioada principală 3


21

Utilizarea calculatorului în depistarea punctelor fixe, periodice, de atracţie sau de
respingere






22

b) Multimi Julia şi mulţimi Mandelbrot. Algoritmul ”escape-time”.
Vom analiza şiruri recurente de numere complexe . Fie f: C  C .Mulţimea Julia a unei
funcţii complexe se numeşte astfel după numele matematicianului francez Gaston Julia. Această
mulţime este asociată unei funcţii f şi este formată din puncte ale căror orbite nu converg la
infinit (dar în vecinatatea lor există puncte cu orbite care converg la infinit.)
Analizăm mulţimea Julia a funcţiei f: C  C f (z)= z
2
+ c c=c
1
+ic
2
, cu ׀c׀ ≤ 2 , c
1
,c
2
e R
z= x+ iy cu ׀x׀ <2 , ׀y׀ <2
Reamintim că dacă z = x + iy ε C x, y ε R atunci (x + iy)
2
= (x
2
-y
2
) + 2xyi
Imaginile prezentate utilizează un program conform căruia , dacă până la f
20
(z) valorile
rămân în sfera raza 2 deci ׀f
20
(z)׀<2, considerăm că pentru punctele respective orbitele nu
converg la ∞. (Algoritmul ”escape-time”).
Recomandăm crearea mulţimilor Julia corespunzătoare următoarelor valori :

a) c=-1 c=-0,1+0,8i
b) c=-0,36+ 0,10i
c) c= 0,3-0,4i
d) c= -0,1+0,8i
e) c=0,1+0,6021
f) c=0,1+0,6024i
g) c=0,2+0,54i

Exemplu: Mulţimile Julia ale funcţiilor f
c
(z)=z
2
+c pentru următoarele valori :


c=0,1+0,6024i c = -1

















23

Mulţimea Mandelbrot este mulţimea valorilor ce C
pentru care orbita critică a funcţiei f
c
(z)=z
2
+c
(adică pornind de la x
0
=0)
nu tinde la infinit
deci mulţimea x
n+1
= f
c
( z
n
) cu z
0
= 0 este mărginită.

Teoremă: Mulţimea Manelbrot a sistemului dinamic
( C,z
2
+c) este multimea parametrilor ceC pentru care
multimea J(c) este conexă

Mulţimea Mandelbrot este un index pentru mulţimile Julia. Fiecare punct din planul
complex corespunde unei alte mulţimi Julia. Pentru o valoare c , vecinătatea din jurul lui c a
mulţimii Mandelbrot seamănă cu centrul mulţimii Julia cu prametrul c (vezi şi paragraful
următor)
Mulţimea Mandelbrot nu are proprietaea de autosimilitudine ci cvasi -autosimlitudine adică
putem găsi replici ale întregului la scări mai mici.

program mandelbrot;
uses graph;
var m,gdriver,gmode,n,j,i:integer;
xmax,ymax,vb:integer;
c1,c2,x,y,x1,y1,r:real;
procedure initg;
begin gdriver:=detect;
initgraph(gdriver,gmode,'e:\bp\bgi');
if graphresult<>0 then
begin
writeln('tentativa esuata!');
halt;end ;end; begin
initg; setcolor(red) ;
for i:=1 to 300 do



c) Teoria Haosului

Legătura între „haos” şi geometrie nu este accidentală ci mai degrabă o dovadă a înrudirii lor.
Teoria haosului a progresat mai rapid după jumătatea secolului, când a devenit evident pentru
anumiţi cercetători că teoria sistemelor liniare, sistemul predominant al teoriei, în acea perioadă,
nu putea explica comportamentul observat în unele experimente.
Mulţi oameni de ştiinţă considerǎ teoria haosului alǎturi de teoria relativitǎţii şi mecanica
cuanticǎ, descoperirile teoretice ce au revoluţionat ştiinţa secolului XX. Şi deşi ea poartǎ numele
de “teoria haosului” şi concluzioneazǎ cǎ o variaţie cât de micǎ într-un sistem dinamic neliniar
for j:=1 to 150 do
begin
c1:=-2+4*i/300; c2:=2-4*j/300;
x:=c1;y:=c2; vb:=1;n:=1;
while (n<=30) and(vb=1) do
begin
x1:=x*x-y*y+c1;
y1:=2*x*y+c2;
r:=x1*x1+y1*y1;
if r>4 then vb:=0;
x:=x1;y:=y1; n:=n+1;
end; if vb=1 then
begin
putpixel(i,j,red); putpixel(i,300-j,red);
end; end; readln;end.

24

precum cel meteorologic poate genera o perturbare haoticǎ majorǎ, adepţii acestei teorii încearcǎ
sǎ demonstreze exact contrariul. De fapt nu existǎ haos şi nimic nu e întâmplǎtor. Oricât de
imprevizibile sunt formele şi manifestǎrile ce ne înconjoarǎ, totul se structureaza pe sisteme
liniare, logice, ordonate dar care sunt puse în scenǎ de un set de decizii primare extrem de
sensibile.In toate sistemele nelineare – si avem ca exemplu functia logistica - apărea un număr de
ordine, limita unei succesiuni de numere. Acest număr a fost calculat cu ajutorul mai multor
calculatoare de mare putere şi rezultatul a fost acelaşi:


Cercetătorii au ajuns la concluzia că acest număr este fundamentul haosului şi că el stă la baza
ciclurilor periodice care compun orice fenomen.De fapt, legat de sistemele dinamice mai exista
si o adoua constanta a lui Feigenbaum:
,
Descoperirea de catre Feigenbaum a celor două constante ale Haosului este considerata de mulţi
cea mai mare descoperire a secolului trecut si de o importanta egala cu descoperirea lui π si a lui
e.În 1960, Lorenz lucra la o problemă de prezicere a vremii. Dispunea de un calculator cu
ajutorul căruia rezolva un sistem de 12 ecuaţii care reprezentau un model al evoluţiei
fenomenelor meteorologice.Într-o zi din anul 1961, el a vrut să revadă o anumită secvenţă.
Pentru a câştiga timp a pornit de la mijlocul secvenţei şi nu de la început. A introdus numerele
din documentele printate anterior şi a aşteptat rezultatele. Întorcându-se după o oră, a observat că
secvenţa evoluase altfel sfârşind complet diferit faţă de rezultatul iniţial . Într-un final,a realizat
ce s-a întâmplat. Computerul a stocat numerele până la 6 zecimale în memorie iar el le-a
reintrodus cu numai 3 zecimale. De exemplu, dacă în secvenţa originală numărul era 0,506127 ,
el a introdus numai 0,506.
Conform tuturor ideilor convenţionale ale timpului, rezultatul ar fi trebuit să difere foarte puţin
de secvenţa originală. Lorenz a demonstrat că această idee este greşită şi aecest efect a ajuns să
fie cunoscut sub numele de “Efectul fluturelui”. Diferenţa iniţială între două curbe este atât de
mică încât se poate compara cu un fluture care dă din aripi dovedind o dependenţă senzitivă de
condiţiile iniţiale: ”O mică schimbare în condiţiile inţiale poate schimba drastic
comportamentul unui sistem pe termen lung”. Pornind de la această idee, Lorenz a afirmat că
este imposibil să se prezică vremea cu exactitate.






Realizarea fractalului lui
Lorenz cu pachetul de
programe Fractall

25

5. Arta fractală şi design-ul naturii
- Design-ul naturii- minuni ale lumii microscopice
- Creaţii artistice realizate de Mariacristina Romano

Design-ul naturii
2
- minuni ale lumii microscopice.
Prezenăm in continuare imagini fractale evidențiate cu un microscop polarizant ale unor
substanțe chimice , imagini ce au fost realizate pentru prima oară în 2011

Ca și gheața pe fereastră în timpul
iernii, unii polimeri cristalizează într-
un mod similar, pornind de la un punct
central spre exterior şi dezvoltându -se
în toate direcţiile în forme
aproximativ sferice, şi, prin
urmare, sunt numite spherulites

Dacă te uiţi la ele cu un microscop de
polarizare poate fi văzut un model
de cruce malteză.
Culorile diferite ale luminii pot fi
folosite pentru a furniza informaţii cu
privire la dispunerea spatiala a
cristalelor.


Aranjamentul floral prezentat aici, este
de fapt o imagine realizată cu un
microscop electronic care a captat o
astfel de reorganizare şi a amplificat
imaginea de douăzeci de mii de ori.
Acest tip de stratificare apare în straturi
subţiri de copolimeri bloc
( straturile sunt de zeci de nanometri
grosime – adică de o sută de mii de ori
mai subţire decât o foaie de hârtie)


2
imagini din galeria Ventures in Science Using Art Laboratory

26

Creaţii artistice realizate de Mariacristina Romano

Imaginile următoare au fost create cu UltraFractal 4.3, si mai tarziu editate cu Photoshop CS 4.0,
cu texturi adaugate cu Aphophysis 2.09 (creator de flame fractale).

Supernova
Aceasta este formată din trei fractali diferiti:
- O formulă publică din baza de date a
Ultrafractal, care, odata cu marirea unui
detaliu ale acesteia si schimbarea
unghiului a dat partea cea mai deschisa
la culoare
- Un fractal cu efect circular, care a dat
partile albastre.
- Un fractal spirala (aqua)
Toate cele trei imagini au fost editate si suprapuse
in photoshop cu diverse moduri ale layer-
urilor(“Overlay”,”Color Dodge”, “Lighten” etc).
Partile roscate si oranj ale fractalului au fost
realizate prin overlay cu un degredee rosu-galben.
La final, am adaugat rosu in mijloc, pentru ca
astfel, imaginea imi amintea de supernovele
vezaute in documentare.


Varsarea Cernelii
Aceasta imagine a fost la inceput un fractal
Mandelbrot standard.
Dand zoom pe depresiunea din partea carotida cea
mai mare a fractalului, am gasit o zona cu mai
multe curve. Nefind satisfacuta de cum arata
imagine, am dat zoom iar si am schimbat unghiul,
ceea ce a rezultat in formele din imagine.
Am selectat un degrade alb-negru cu contrast
mare si tonuri subtile de lila, facand imagine sa
arate precum cerneala varsandu-se pe un plan
negru.


Sange de Feriga
Utilizând o formulă publică, am creat fractalul de
bază, ce semană cu o feriga. Am selectat un
degrede oarecare pe verde si albastru.
Am deschis in Photoshop o flama fractală, careia
i-am dat Gaussian Blur, urmat de Overlay, ceea ce
a conferit o textura ca de bokeh.
Am adaugat pete si degradeuri de culoare rosie in
mijlocul celor mai mari structuri de feriga, pentru
contrast de culoare.
Am dublat layer-ele, dupa ce le-am unit, si am dat
Gaussian Blur, dupa aceea Overlay. Aceasta a
facut imagine sa para mai luminoasa, punand in
evidenta rosul.

27



HIV
Structurile bulboase folosite ca baza au fost create
in UltraFractal, cu un degradee adaugat dupa aceea
in Photoshop. Culorile si formatia structurii mi-au
adus aminte de o ilustratie anatomica, asa ca am
adaugat fractalul folosita in “Supernova” ca un
overlay, ca sa arate ca un virus.
Dupa, am adaugat un fractal palmier pentru mai
multa textura, deasupra “celulelor”.
Culorile au fost editate ulteiror cu “Curve” pentru a
parea mai bolnavicioase




Scara spre Ceruri
Acesta este un compozit din trei fractali. Primul
creeaza structura cea mai mare care influenteaza
forma. Al doilea este un fractal in spirala care
creeaza “scarile” luminoase. Al treilea a fost folosit
pentru a adauga texturi luminoase.




Floarea Raului

Acesta este un simplu fractal spirala cu o textura tot
spiralata, peste care au fost puse culori toxice ca
overlay, accentuandu-se forma




Spirala Raiului

Un fractal spirala a fost folosit ca baza. Pentru
efectul de raze a fost folosit un alt fractal, pus sub
modul Lighten. Am dublat partile albastre ale
spiralei si le-am facut culoarea mai intensa.




28


Bibliografie

[1] Michael F.Barnsley – “Fractals every where “ Second Edition, Academic Press Professional,
1993.
[2] Heinz – Otto Peitgen, Harmut Jurgens, Dietmar Saupe – “Chaos and New frontiers of science”
– Springer Verlag 1992.
[3] Robert L.Devamy – „Chaos, Fractals and Dynamics” – Wesley Publishing Company, 1990
[4] Mircea Olteanu-“ Fractali” –curs universitar , Universitatea Politehnica din Bucureşti
[5] Dominica Moise, Brandusa Bogdan, Doina Druta ”Algoritmi, numere si fractali ”, editura
Printech, Bucuresti, 2007
[6] H. Rademacher, O. Toeplitz – “Despre numere şi figuri ”
[7] Florica T. Campan – “Vechi şi nou în matematică”.
[8] Florin Munteanu- “ Introducere în geometria fractală”, articol
[9] Gazeta Matematică
[10] Revista de Matematică dn Timisoara
[11] www.scientia.ro/
[12] www.Eurekalert.org
[13] www.YIC.org
[14] www.unesco.org