Sunteți pe pagina 1din 29

Introducere

„Se pare că nimeni nu este indiferent faţă de fractali. De fapt, mulţi privesc prima lor întâlnire
cu geometria fractală ca o experienţă cu totul nouă, atât din punct de vedere estetic, cât şi ştiinţific.”

Benoit Mandelbrot – „Frumuseţea fractalilor”, 1986


Rigla şi compasul au constituit pentru matematicienii antici principalele unelte utilizate în studiul
geometriei, al cărei părinte este considerat şi în ziua de azi Euclid din Alexandria, încă din secolul IV î. Hr.
Ştim cu toţii că geometria euclidiană este un ansamblu de leme, corolare, teoreme şi demonstraţii, care
foloseşte doar patru noţiuni fundamentale: punct, dreaptă, plan şi spaţiu, şi care se bazează pe cele cinci
axiome, enunţate de Euclid în cartea sa „Elementele”. Orice obiect al muncii omului era scufundat şi
reprezentat în spaţiul 1D, 2D, 3D. Dar Natura, în imensa ei complexitate, nu s-a limitat la a construi corpuri
geometrice doar în acest spaţiu atât de particular, a cărui măsură este un număr întreg şi mai mic decât 3.
Privind în natură, observăm imagini imposibil de îndesat într-o viziune euclidiană, precum conturul
coastei Normadiei, al crestei munţilor, al norilor, chiar şi brocolli şi conopida, care nu pot fi construite şi
definite geometric la fel de uşor.
Apariţia calculatorului a permis pătrunderea în acest univers în care rigla şi compasul nu mai
sunt suficiente pentru reprezentarea unor obiecte prea complexe pentru a putea fi integrate într-o lume
geometrică. Acesta este universul fractalilor, definit in 1975 odată cu apariţia primei cărţi a lui Mandelbrot:
"Les objects fractales, forme, hasard et dimension".
Fiind primele forme geometrice nebazate pe linii drepte sau liniarizabile, fractalii au fost considerate
ciudăţenii şi abandonate de matematicieni căci erau dezordonat de complexe. Neliniari, deci imposibil de
construit prin linii neîntrerupte, este nevoie de calculator pentru a fi trasaţi.
Mandelbrot, considerat „Părintele geometriei fractale”, a inventat şi numele de „fractal”, care vine din
latinescul „frangere” – a sparge în fragmente neregulate. El nota patetic: „Deoarece „algebra” derivă din
cuvântul arab „jabara” (a lega împreună), între cuvintele „fractal” şi „algebră” este o contradicţie
etimologică.”
Din nefericire pentru aceia dintre noi cărora le place să controleze lucrurile, mare parte din lumea
naturală nu se conformează cu uşurinţă ecuaţiilor liniare. Formele neliniare, „fractale”, sunt mai degrabă
regulă decât excepţie. Aşa cum spunea Benoit Mandelbrot în cartea sa „Geometria fractală a naturii”: „Norii
nu sunt sfere, munţii nu sunt conuri, liniile de coastă nu sunt cercuri, iar scoarţa copacilor nu e netedă...”.
Tehnicile noastre matematice au repurtat un mare succes în prezicerea fenomenelor excepţionale, care sunt
aproape liniare, cum ar fi traiectoriile pro 10110h71k iectilelor, planetelor şi particulelor. Subiecte mai haotice
(şi imediat folositoare) cum ar fi vremea, cutremurele, curgerea fluidelor şi dinamica formativă au înşelat
constant previziunile.
Fractalii nu oferă în mod neapărat speranţa că putem controla aceste fenomene înşelătoare. Din
contră, începem să înţelegem că haosul şi imprevizibilul sunt mult mai puternic incluse în natură decât ne-am
imaginat vreodată. Oricum, fractalii ne oferă instrumente puternice pentru modelarea şi vizualizarea
sistemelor neliniare. În majoritatea cazurilor, cu ajutorul fractalilor putem modela aspectul şi structura lumii
reale mult mai uşor şi mai succint decât cu formele liniare.

1
Capitolul 1
Ce sunt fractalii?
„În ochii minţii, un fractal este un mod de a vedea infinitul.”
James Glick, „Haos”, 1986

1.1. Scurt istoric


Aşa cum am menţionat mai sus, Euclid a construit o geometrie bazată pe logică şi pe nişte adevăruri
intuitive. El a dezvoltat astfel un set de reguli logice pentru a descrie punctul, dreapta şi planul (axiome):
Prin oricare două puncte distincte trece o dreaptă şi numai una;
Orice segment de dreaptă poate fi prelungit la infinit (sub forma unei drepte);
Dat fiind un segment de dreaptă, se poate construi un cerc cu centrul la unul din capetele segmentului
şi care are segmentul drept rază;
Toate unghiurile drepte sunt congruente;
Printr-un punct exterior unei drepte se poate trasa o singură paralelă la acea dreaptă.
În geometria euclidiană, trei puncte necoliniare determină un plan şi numai unul, iar patru puncte
necoplanare determină un spaţiu. Simplu şi logic. Observaţiile nu au avut nici un rol în gândirea euclidiană.
Aproape două milenii mai târziu, în 1600, Rene Decartes a zguduit geometria euclidiană, sugerând că
spaţiul fizic poate fi disecat şi măsurat cu ajutorul a trei axe perpendiculare, localizând astfel fiecare punct din
spaţiu prin trei dimensiuni liniare. Ideea că Universul poate fi imaginat ca o multitudine de cuburi mici a
format fundamentul ştiinţei moderne asupra lumii.
Un secol mai târziu, Gottfried Wilhelm Von Leibniz şi Sir Isaac Newton au dus lucrurile mai departe,
făcând o presupunere periculoasă şi revoluţionară, pe care nu au putut-o demonstra matematic iniţial, şi anume
că orice curbă este de fapt un număr infinit de segmente de dreaptă (numite tangente). Astfel, ei au inventat
calculul diferenţial. Ideea de bază a acestuia este că orice curbă mărită la infinit se aseamănă din ce în ce mai
mult cu o dreaptă, iar limita acestui proces este tocmai linia cu care ar semăna curba la infinit. Leibniz nu a
putut să îşi explice însă de ce teoria lui dădea rezultate în majoritatea cazurilor, dar uneori ducea la nepotriviri
neaşteptate. Deşi chiar el a abandonat ideea segmentului de dreaptă infinitezimal, ea a rămas în folosinţă dând
rezultate în majoritatea cazurilor. Presupunerea că, la infinit, curbele de fapt sunt similare dreptelor, rămâne
în picioare, deşi apariţia iminentă a unor forme imposibil de supus liniarităţii avea să zguduie iar matematica.

Fig. 1.1. – Aproximarea curbelor cu linii tangente


Totul a început în 1875 când marele matematician german Karl Waierstrass a descris o curbă continuă
care nu putea fi diferenţiată, deci nu părea să aibă nici o tangentă. O mulţime de curbe ciudate au început să
apară, denumite „Galerie de monştri”.
2
1.2. Primii fractali faimoşi
Triunghiul lui Sierpinski
Polonezul Waclav Sierpinski a pornit de la un triunghi pe care l-a divizat în patru părţi egale. Apoi a
divizat cele trei părţi marginale în acelaşi mod, continuând procesul la infinit. Figura obţinută este numită
„Triunghiul lui Sierpinski”.

Fig. 1.2. – Triunghiul lui Sierpinski


Un alt mod de construcţie a aceleiaşi forme porneşte de la un triunghi plin, în care „decupăm” găuri
identice, în loc de a trasa linii. Rezultatul este acelaşi deşi este numit în această manieră „Sita lui Sierpinski”.

Fig. 1.3. – Sita lui Sierpinski


„Covorul lui Sierpinski” este o altă formă care a nedumerit matematicienii, format la fel, prin ambele
variate:

Fig. 1.4. – Covorul lui Sierpinski 1

Fig. 1.5. – Covorul lui Sierpinski 2


Principala problemă era legată de aria acestor figuri. Din moment ce ele erau alcătuite din segmente de
dreaptă, care, matematic, nu au nici arie, nici lăţime, matematicienii au convenit că aria figurilor este 0, mai
mult însă deoarece nu puteau spune cât este aria, dacă nu ar fi 0.
Matematicianul italian Giueppe Peano, „profesor extraordinar de calcul infinitezimal” la Universitatea
din Torino, folosindu-se de Covorul lui Sierpinski, a demonstrat că o curbă continuă, fără lăţime (şi deci fără
arie), poate umple o porţiune de spaţiu, deoarece la infinit, între linii nu va mai rămâne deloc spaţiu gol (curba
de umplere a spaţiului). Curba va avea aşadar aria pătratului care o mărgineşte, deşi este alcătuită în
continuare din segmente de dreaptă.
Praful lui Cantor
Matematicianul german Georg Cantor, cel care a dezvoltat singur teoria seriilor, a creat în 1877 o formă
denumită „Praful lui Cantor”. Ea este construită din fragmentarea segmentelor de dreaptă unidimensionale,
conţinând la sfârşit doar puncte de dimensiune 0, deşi este în continuare alcătuită din segmente de dreaptă.
3
Fig. 1.6. – Praful lui Cantor
Curba lui Koch
Matematicianul suedez Helge Von Koch, fascinat de infinit ca toţi colegii săi în timpul marii crize din
matematică, a construit „curba liniei de coastă”. El a pornit de la o dreaptă pe care a desenat un triunghi
exterior. Pe fiecare segment de dreaptă al aceleiaşi forme a desenat câte un triunghi, ş.a.m.d. Asemănător, se
poate crea Curba liniei de coasta Koch şi pornind de la un pătrat, sau de la un triunghi echilateral pe laturile
căruia desenăm triunghiuri echilaterale.

Fig. 1.7. – Curba lui Koch

Fig. 1.8. – Fulgul de zăpadă Koch


Curba lui Koch dă naştere la un paradox interesant. De fiecare dată când un nou triunghi este adăugat
figurii 12, lungimea liniei evident creşte. Totuşi, aria interioară a curbei lui Koch rămâne mai mică decât aria
cercului care trece prin vârfurile triunghiului iniţial. O linie de lungime infinită care înconjoară o arie finită.
Lungimea curbelor este diferită, pornind de la tipul de generare. La primul nivel, lungimea curbei din
figura 11 va fi de patru treimi din segmentul de dreaptă, iar lungimea curbei similare generate cu un pătrat va
fi de cinci treimi, adică 133, respectiv 166, dacă lungimea segmentului iniţial este de 100. Pentru a rezolva
această dificultate, matematicienii au inventat dimensiunea fractală, prezentată în cele ce urmează.
La începutul secolului al XX-lea, cercetarea în domeniul acestor curbe complexe s-a lovit de o mare
piedică: calculul laborios. Matematicienii trudeau zile şi chiar luni, calculând şi desenând pentru a produce
nişte aproximaţii foarte inexacte şi sărace în detalii ale curbelor neliniare infinit detaliate. Din 1925 până în
1960, limitele calculului manual au împiedicat orice proces serios în geometria complexităţii şi infinitului.
Apoi au apărut calculatoarele. La început, nimeni nu s-a gândit să folosească aceste maşini scumpe,
construite pentru calcule contabile sau pentru utilizări militare, în cercetarea matematică. Apoi, calculatoarele
au început să atragă atenţia matematicienilor, prin furnizarea sutelor de zecimale ale numerelor п, e, sau ale
rădăcinii pătrate din 2. Dar matematicienii erau încă neliniştiţi de bazarea calculelor pe „aproximări”. Primul
care a îndrăznit să folosească simularea pe calculator a fost un biolog: Aristid Lindenmayer, care a introdus
ideea „automatelor celulare” pentru a modela dezvoltarea organismelor vii. El era în special interesat de
dezvoltarea celulei şi de modele ramificate ale plantelor.
1.3. Definiţie
Fractalii sunt reprezentări ale planului complex, într-o manieră recursivă. Un obiect fractal este mai
dificil de surprins în complexitatea sa, el necesită din partea observatorului un efort imaginativ, o participare
4
mentală de natura unui proces nesfârşit, care este însăşi esenţa fractalilor - ei îşi păstrează forma, indiferent cât
de mult am mări o reprezentare. În termenii cei mai generali, un fractal demonstrează o limită; obiectul fractal
este chiar limita acestui proces cu număr infinit de operaţii.
Fractalii pot părea foarte complicaţi faţă de formele geometrice clasice. Liniile drepte, arcele graţioase,
curbele, poligoanele, etc., au un lucru în comun: chiar dacă unele nu sunt drepte, ele sunt considerate liniare,
datorită diferenţierii (mărind la infinit frontiera lor, obţinem tangenta). În cazul formelor neliniare, mărind la
infinit imaginea lor, obţinem în continuare detalii complexe.
Însă, ei sunt de obicei nişte procese foarte simple care produc rezultate complicate. Această proprietate
se transferă şi asupra Teoriei Haosului. Dacă ceva are rezultate complicate, nu înseamnă neapărat că a avut şi
un input complicat. Este posibil ca haosul să se fi strecurat în proces, producând rezultate complicate.
Fractalii sunt forme auto-similare, aceasta însemnând că structura întregului sistem e deseori reflectată
în fiecare porţiune a sa. Un sistem va arăta auto-similar când forţe asemănătoare acţionează la mai multe
nivele ale scării. Natura abundă în forme auto-similare, cum ar fi liniile de coastă, ramurile care se aseamănă
cu copacii, vârful munţilor care are aceeaşi formă ca întregul munte, valurile şi norii mici sunt o replică a celor
mai mari. şi astfel putem caracteriza într-un mod nou mediul înconjurător.
1.4. Dimensiunea fractală
O noţiune elementară când discutăm despre fractali este dimensiunea fractală. Formal, spunem că un set
este n-dimensional dacă avem nevoie de n variabile pentru a descrie vecinătatea unui punct. Această noţiune a
dimensiunii este numită dimensiunea topologică a setului.
Uneori apar confuzii cu privire la dimensiunea unei figuri. Evident, o linie are dimensiunea 1, un plan
dimensiunea 2, un cub dimensiunea 3. Deseori se crede însă că o sferă are dimensiunea 3, ea neputând exista
decât în spaţiu, nu şi în plan. Dar sfera este bidimensională: fiecare părticică a ei arată ca o porţiune din plan şi
într-o porţiune aşa mică, este nevoie doar de două coordonate pentru a reprezenta un punct.
Într-o exprimare liberă, dimensiunea fractală este o măsura a cât de „complicată” este o figură auto-
similară. Există mai multe definiţii şi metode de a determina dimensiunea fractală a unei figuri.
În1919, matematicianul Hausdorff, a introdus o nouă dimensiune, dimensiunea fractală sau dimensiunea
Hausdorff. Această dimensiune, măsoară numărul de mulţimi de diametre mai mici, necesare pentru a acoperi
o figură. Dacă acest număr este întreg, atunci dimensiunea este topologică, altfel, dimensiunea este fractală.
Besicovitch, dezvoltând lucrările anterioare ale lui Hausdorff, a afirmat că formele ar putea avea
întradevăr dimensiuni fracţionare cum ar fi 1,3 sau 2,5. Curbe precum cele ale lui Sierpinski şi ale lui Koch ar
putea fi explicate cu ajutorul aceste dimensiuni.
În mod concret, dimensiunea Hausdorff/Besicovitch este definită ca raportul dintre logaritmul numărului
de copii şi logaritmul mărimii seminţei corespunzătoare fiecărei copii. Pentru linia de coasta Koch
triunghiulară vom găsi dimensiunea fractală log4/log3=1,2618, deoarece sunt patru copii şi fiecare este o
treime din mărimea seminţei, iar pentru linia de coasta pătrată: log5/log3=1,46.
Dimensiunea fractală a prafului lui Cantor este log2/log3=0.63, deci acest obiect are dimensiunea mai
mare decât punctul (0) şi mai mică decât linia (1).
Dimensiunea fractală a triunghiului lui Sierpinski este log(3)/log(2) = 1.585.
Pentru a fi clasificată oficial ca fractal, o formă trebuie să aibă dimensiunea Hausdorff-Besicovitch mai
mare ca dimensiunea sa topologică tradiţională.

5
Munţii, norii, copacii, florile au dimensiuni între 2 şi 3, şi putem deduce multe doar din dimensiunea
unui corp. Dimensiunea fractală, aşa cum a denumit-o mai târziu Mandelbrot, a devenit un instrument nou de
măsurare a spaţiului.

6
Capitolul 2
Aplicaţii curente ale fractalilor
„...Întotdeauna au existat zone mari ale ştiinţei în care metodele analitice simple puteau fi cu greu
aplicate. Fenomenele naturale erau prea complexe. În legătură cu ele, oamenii ridicau din umeri a
zădărnicie şi enunţau teorii calitative sau aproximaţii grosolane, sau nu emiteau nici o părere. Acestea sunt
domeniile în care fractalii îşi găsesc o mulţime de aplicaţii.”
D.E. Thomsen, Science News, 1987

2.1. Avantajele utilizării fractalilor


Fractalii prezintă anumite avantaje datorită cărora sunt larg folosiţi în modelarea aspectului şi
comportamentului unor sistemelor naturale:
 Fractalii pot reprezenta cu uşurinţă forţe similare acţionând la mai multe niveluri ale scării, în timp ce
geometria liniară nu poate.
 Fractalii oferă deseori o metodă mai compactă de înregistrare a imaginilor şi datelor complexe decât
vectorii liniari.
 Cu ajutorul fractalilor, se pot găsi curbe fractale care să aproximeze un set de date (precum
temperaturi înregistrate într-o anumită perioadă de timp, preţurile unei acţiuni la bursă într-un interval de timp,
etc.)
 Fractalii pot fi folosiţi pentru a construi modele folositoare ale unor sisteme imprevizibile şi haotice,
unde ecuaţiile liniare dau greş.
Fractalii sunt folosiţi în diverse discipline, precum: economie, astronomie, fizică şi dinamica fluidelor,
chimie, cardiologie, ornitologie, etc.
2.2. Economie
Benoit Mandelbrot şi-a întemeiat geometria fractală bazându-se în principal pe simularea sa încununată
de succes a tendinţei preţurilor bunurilor de consum, iar analiza pieţei rămâne una dintre cele mai atrăgătoare
aplicaţii ale geometriei fractale.
În economie, probabil cel mai important lucru este prezicerea într-un mod cât mai sigur a ceea ce se va
întâmpla pe piaţă după o perioadă de timp. Până recent, teoria dominantă folosită în acest scop era Teoria
Portofoliului. Conform acesteia, probabilitatea schimbărilor de pe piaţă puteau fi modelate prin clopotul lui
Gauss:

Fig. 2.1. - Probabilitatea schimbărilor de pe piaţă


Presupunând că această teorie este corectă, putem conchide că schimbările foarte mici sunt şi cele mai
frecvente, iar schimbări foarte mari au loc extrem de rar. Acest lucru nu este însă adevărat în practică. Pe

7
această curbă, putem observa probabilitatea schimbărilor rapide apropiindu-se de 0, schimbări care pot fi
văzute lunar pe piaţă. Recent, la 20 de ani de la descoperirea fractalilor, Benoit Mandelbrot introduce o nouă
teorie fractală care poate fi folosită mai eficient decât Teoria Portofoliului în analiza pieţei.
Considerăm un an de activitate de piaţă şi reprezentarea grafică a preţului în fiecare lună. Vom obţine o
linie frântă cu suişuri şi coborâşuri. Dacă luăm una din aceste luni şi realizăm un grafic mai detaliat pe fiecare
săptămână, vom obţine o linie foarte similară, cu suişuri şi coborâşuri. Dacă detaliem curba din ce în ce mai
mult, pe fiecare zi, ora, chiar minut sau secundă, vom obţine aceleaşi, numai că mai mici, suişuri şi coborâşuri.
Aceasta este auto-similaritatea Browniană.
Mandelbrot a definit o metodă de a crea fractali pe baza descrierii de mai sus. El a bazat-o pe o iteraţie
cu generator şi a creat fractali care pot modela piaţa. În Februarie 1999 el a publicat în Scientific American
câţiva dintre aceşti fractali, alături de grafice ale pieţei, arătând cât de asemănători sunt.
În această metodă, se porneşte de la o formă, numită generator. Generatorul trebuie să fie compus din 3
segmente de dreaptă, pentru a obţine şi creşterea şi scăderea preţului. De exemplu, luam o linie frântă, şi
înlocuim fiecare segment cu linia frânta iniţială, obţinând după un număr de paşi următorul grafic:

Fig. 2.2.a

Fig. 2.2.b

Fig. 2.2.c – Grafic fractal de modelare a pieţei


comparativ cu un model al teoriei de portofoliu:

Fig. 2.3. – Grafic de modelare a pieţei (Teoria de Portofoliu)


Una din revelaţiile majore ale analizei fractale a pieţei este memoria sau persistenţa pe piaţă. Modele
economice tradiţionale iau în considerare un consumator care trăieşte totdeauna în prezent, care ia decizii pe
baza preţurilor curente ale pieţei şi pe dorinţa perfect raţională de a obţine profit în orice moment. Însă piaţa
are atât memorie pe termen lung, cât şi pe termen scurt şi este persistentă la fiecare scară posibilă, de la ore la

8
secole. Adevăratul participant la economie îşi aduce aminte şi când a obţinut profit maxim, şi când şi-a pierdut
bunicul ferma.
În domeniul pieţei, ca şi în alte domenii în care fractalii şi haosul dau rezultate, rareori se dovedesc atât
de folositori pentru prezicere, pe cât sunt pentru simulare. Simularea fractală poate modela şi prezice natura
general statistică a unui sistem, fără a îi prezice comportarea într-un anumit moment.
Preţul bumbacului era subiectul preferat al lui Mandelbrot, deoarece existau date disponibile de-a lungul
a sute de ani de comerţ. El prezenta însă o constanţă ciudată: aceeaşi variaţie într-o perioada de secole, ca şi
într-o perioadă de zeci de ani sau de câţiva ani. El a numit acest lucru invarianţa de scară. Deşi valoarea
varianţei din scară rămâne constantă, aceasta este imposibil de prezis în orice moment şi la orice mărime a
scării. Simulările lui asupra preţului bumbacului in 1953 continuă să prezică cu exactitate cantitatea de
variaţie din preţul bumbacului, atât lunar cât şi anual, dar nu pot pretinde că indică preţul bumbacului din iulie
2008.
2.3. Astronomie
Unul dintre cei mai frumoşi fractali matematici a fost inventat de un astronom. La începutul anilor 1960,
Michel Henon de la observatorul din Nisa din Franţa a observat o comportare tulburătoare într-un simplu
model al stelelor care orbitează într-o galaxie. Câteva dintre orbite erau line şi stabile, în timp ce altele păreau
aproape aleatoare. La început, a ignorat orbitele anormale, crezând ca ele apar datorită unor erori de calcul
inexplicabile.
În cele din urmă, Henon a descoperit că acest tip de comportare haotică era o parte esenţială a dinamicii
orbitelor stelare. Planetele, ca orice obiect din Univers, se supun legii gravitaţionale a lui Newton. Însă deşi
legea lui Newon pare relativ simplă, poate fi greu de pus în practică, deoarece într-un univers real, atracţiile
gravitaţionale ale altor planete şi stele fac ca orbita planetei analizate să fie mai puţin previzibilă. Folosind
aproximaţii, astronomii pot prezice care va fi traiectoria orbitelor corpilor cereşti din sistemul nostru solar
săptămâna viitoare sau peste douăzeci de ani; unii dintre ei cred însă că nu putem afirma sigur unde se vor afla
ele peste un milion de ani.
Trebuie specificat însă că orbitele planetelor nu sunt fractali; ele se apropie sensibil de elipse perfecte.
Dacă plasăm însă poziţia planetei noastre sub anumite condiţii, descoperim că se încadrează în limitele unei
curbe numite bazin de atracţie. Acesta, de cele mai multe ori, este un fractal.
Henon, după ce a studiat modele care explicau comportarea turbulentă a fenomenelor terestre, a elaborat
un model şi pentru orbitele planetare. Deşi în trecut nu era folosit, denumim acum acel tip de modele pe care
Henon l-a folosit atractori stranii. Spre deosebire de modelele liniare clasice, care par să prezică pentru
totdeauna traiectoria fiecărui corp ceresc, ei oferă un amestec de comportări nesigure. Vechile modele îşi
păstrează capacitatea de a previziona pe termen scurt, dar cercetări recente au arătat că, pe termen lung, modul
de comportare al sistemului nostru solar este cel puţin incert.
2.4 Meteorologie
Meteorologii, ca şi economiştii, investesc o cantitate enormă de efort, bani şi energie încercând să
prezică ce se va întâmpla mâine şi săptămâna următoare. Ambele categorii fac sute de previziuni zilnic,
folosind teorii binecunoscute, bazate pe secole de calcule şi cercetări, dar dau greş, previziunile economice şi
cele meteorologice fiind cunoscute pentru inexactitatea lor. Vremea poate fi previzionată suficient de bine

9
pentru cel mult două zile, dar dincolo de aceasta, predicţiile sunt slabe. Fractalii nu au fost de mare ajutor în
jocul previziunii meteorologice, dar au ajutat explicând de ce aceasta nu dă rezultate.
Înregistrările pe termen lung ale datelor climaterice deseori prezintă cicluri auto-reflectoare: valuri de
arşiţă care durează câţiva ani, un deceniu sau chiar secole de căldură. Înregistrările făcute pe fluviul Nil
dezvăluie perioade uscate de un mileniu. Viaţa de zi cu zi ne sugerează că ciclurile neregulate de temperatură
au loc şi în perioade de o lună, sau o săptămână. Figura următoare confirmă acest lucru.

Fig. 2.4. – Înregistrările pe o perioadă de 600 de zile ale temperaturilor


din Middlesex, statul Vermont
Acest tip de date este greu de caracterizat prin metodele liniare tradiţionale. Modelarea printr-un val
sinusoidal ar pierde aparenţa de cicluri îmbinate unul în altul, şi acesta este tocmai aspectul cel mai interesant
de modelat. Acest lucru se poate face aproximând datele cu o curbă fractală, nu în scopuri anticipative,
predictive, ci pentru a sugera caracterul esenţial al curbei.

Fig. 2.5. – Aproximare fractală a figurii 2.4


În 1961, Eduard Lorentz, meteorolog şi matematician la MIT, pasionat de studiul vremii, a descoperit şi
a introdus în istorie, pornind de la modelarea vremii pe calculator, „efectul fluturelui” şi atractorul Lorentz,
prezentate în capitolul următor.
Graficele fractale sunt cele mai adecvate reprezentări ale formelor neregulate ciclice, prezente în seriile
de date complexe, privind evoluţia în timp a fenomenelor naturale şi economice. Cutremurele evidenţiază de
asemenea prin seismograma lor complexitate şi forme auto-similare, deoarece undele de avertizare şi replicile
10
lui sunt nişte cutremure în miniatură, iar cutremurul principal este o perioadă de activitate intensă constituită
din subperioade similare. Activitatea seismică este greu de modelat cu ajutorul curbelor tradiţionale.
Alte fenomene uşor de modelat cu ajutorul fractalilor sunt debitele râurilor, evoluţia preţului unei acţiuni
la bursă, cursul valutar, etc.
2.5. Dinamica fluidelor şi chimia
Turbulenţa în dinamica fluidelor reprezintă starea de mişcare a unui fluid, caracterizată de schimbări
haotice şi stohastice. Aceasta include difuzii, convecţii şi variaţii rapide ale presiunii şi vitezei în timp şi
spaţiu. Turbulenţa reprezintă încă un domeniu incontrolabil de savanţi, ea rezistând tuturor aproximărilor
liniare şi consumând foarte mult timp calculatoarelor.
Lorentz a fost unul dintre cei mai înverşunaţi exploratori ai analizei neliniare a fluidelor, prin atractorul
Lorenz, prezentat în Capitolul 3. Sistemul de ecuaţii din care a derivat Atractorul Lorentz este nonlinear,
tridimensional, şi deterministic. În dinamica fluidelor, atractorul Lorentz este un model realist al „climei”
turbulente dintr-un cilindru mic de fluid închis, pe măsură ce i se aplică o încălzire continuă la partea
inferioară a cilindrului. Cele trei variabile ale sistemului corespund vitezei fluidului, temperaturii şi vitezei de
modificare a temperaturii.
O metodă de simulare a mai multe fenomene diferite din fizică, chimie şi electricitate este agregarea
limitată de difuzie. La începutul simulării pe calculator, se plasează în centrul unui cerc o bucată mică de
materie artificială. Apoi calculatorul lansează aleator, una după alta, particule din jurul cercului care rătăcesc
la întâmplare, până ies din cerc sau aderă la altă particulă întâlnită. Treptat, particulele virtuale formează
dendrite fractale orientate din centrul cercului spre circumferinţă. Acestea prezintă trei proprietăţi de bază ale
fractalilor: auto-similaritate, dimensiune fractală şi lacune. Ele pierd din densitate pe măsură ce cresc în
dimensiune.

Fig.2.6. – Dendrite fractale formate prin agregarea limitată de difuzie


Procese fizice care dau naştere la astfel de forme sunt agregarea cenuşii în coşuri, depunerea zincului în
celulele electrolitice, difuzia bulelor de gaz prin lichidele vâscoase şi descărcările electrice în atmosferă.
Aceste sisteme sunt departe de echilibru, ele primind şi disipând cantităţi importante de energie. Simularea pe
calculator întoarce cumva procesul real pe dos, particulele artificiale deplasându-se lent din exterior spre
interior, în timp ce structura dendritică reală se formează rapid din interior spre exterior.
2.6. Fizică
Există patru clase fundamentale de sisteme fizice:
- sisteme liniare conservative (pendul fără frecări care oscilează liber)
- sisteme neliniare conservative (pendul fără frecări, împins)
11
- sisteme liniare disipative (pendul care oscilează liber într-o atmosferă care îi opune rezistenţă)
- sisteme neliniare disipitave (pendul împins într-o atmosferă care îi opune rezistenţă).
Sistemele neliniare au fost mereu considerate ciudate şi mai puţin importante. Sistemele neliniare
disipative sunt chiar iremediabile. Dar lumea reală este alcătuită tocmai din astfel de sisteme, iar modelarea
acestora se face tocmai prin atractori fractali haotici. Fizicienii au ajuns la concluzia că o gamă largă de
comportări complexe, unele de o mare regularitate, răsar acum din ceea ce înainte era doar haos. Multe
sisteme fizice şi chimice fluctuează printr-o serie de schimbări majore de la ordinea liniară la complexitatea
haotică şi înapoi. A doua lege a termodinamicii are şi o faţetă surprinzătoare: multe sisteme se auto-
organizează şi creează spontan o ordine proprie acolo unde nu era nici un fel de ordine.
2.7. Grafica pe calculator
Domeniul cel mai larg în care sunt folosiţi fractalii astăzi este grafica pe calculator. Multe scheme de
comprimare a imaginilor folosesc algoritmi fractali pentru a comprima fişiere grafice la mai puţin de un sfert
din dimensiunea originală. Artişti ai graficii pe calculator folosesc forme fractale pentru a crea peisaje şi
modele intrinseci; producţii cinematografice importante îi folosesc pentru efecte speciale.

Fig. 2.7. – Peisaj fractal


Ştiinţa, matematica şi tehnologia nu mai sunt domeniile plictisitoare, inestetice şi rigide, ci capătă o
frumuseţe care face competiţie artei.

Capitolul 3
Tehnici de reprezentare a fractalilor
12
„Pentru imaginaţie, calculatorul poate fi un prieten foarte puternic. Ca şi matematicile, el nu numai că
lărgeşte orizontul imaginaţiei, dar o şi disciplinează şi o controlează.”

Richard Dawkins, „Ceasornicul Orb”


În ultimii ani, interesul în teoria haosului şi geometria fractală s-a intensificat, pe măsură ce oamenii de
ştiinţă au descoperit pas cu pas că multe dintre procesele din Univers pot fi descrise utilizând aceste teorii.
Industria graficii pe calculator încorporează rapid aceste tehnici pentru a genera imagini uimitor de frumoase,
precum şi structuri naturale realiste. Algoritmii variaţi şi rezultate lor afişează o mare diversitate. O completă
apreciere a graficii fractale pe calculator necesită în prealabil prezentarea conceptelor matematice care stau la
baza geometriei fractale şi o cunoaştere a aplicaţiilor ştiinţifice a acestora, aspecte prezentate în capitolele
precedente.
Formele fractale sunt aproape imposibil de trasat fără ajutorul calculatorului. Formulele care
generează fractalii sunt de multe ori relativ simple, dar trebuie calculate repetat, fiecare iteraţie utilizând
rezultatul precedentei. Rezultatele cele mai precise sunt atinse cu ajutorul calculatorului. Grafica pe calculator
facilitează de asemenea comparaţiile între formele naturale şi imitaţiile lor computerizate.
Majoritatea fractalilor sunt generaţi luând un set de date şi introducându-le ca date de intrare
într-o ecuaţie. Rezultatul acestei ecuaţii este apoi furnizat ecuaţiei din nou, acest feedback repetându-se de un
număr dorit de paşi sau până când comportamentul valorilor de intrare este determinat. Criteriile de oprire a
procesului sunt diferite în funcţie de tipul de fractal.
Există mai multe tehnici de reprezentare (atractorii stranii, pentru sisteme haotice, metoda Newton-
Raphson, care se bazează pe găsirea soluţiei unei ecuaţii polinomiale, agregarea limitată de difuzie, etc.), IFS,
Sisteme-L.
3.1. Sistemul funcţiei iterative (IFS)
Codurile IFS (Iterated Function System) sunt utilizate pentru a descrie fractalii liniari (un nume mai
corect ar fi fractali afini, datorită transformărilor afine pe care le folosesc). Un fractal liniar este o imagine
care poate fi definită prin copii ale ei înseşi create prin transformări afine. Există şi alte tipuri de fractali care
conţin forme auto-similare, cum ar fi binecunoscutul set Mandelbrot.
IFS înlocuieşte un poligon cu alte poligoane, pe baza unui generator. La fiecare iteraţie, fiecare poligon
este înlocuit cu o versiune scalată, rotită şi translatată a poligonului în generator.
Matematica din spatele fractalilor liniari este surprinzător de simplă, necesitând doar cunoştinţe de
transformări liniare. Un astfel de sistem de funcţie iterativă este compus dintr-un set de transformări, care pot
fi orice transformare afină normală. Singura restricţie impusă este contracţia transformării, adică
transformarea aduce două puncte mai aproape unul de altul.
Fiecare transformare are asociată o anumita probabilitate de alegere, p; suma acestora este 1.
Modul de funcţionare a sistemului este următorul: se alege un punct iniţial, şi la fiecare iteraţie este aleasă o
anumită transformare pe baza probabilităţilor asignate, iar punctele rezultate sunt desenate pe foaie/ecran.
Practic, pentru a crea un IFS pentru o imagine dorită, procedeul este simplu. Luăm imaginea unei
frunze, spre exemplu, o scalăm, rotim şi translatăm până când această versiune micşorată a imaginii iniţiale
este cuprinsă în interiorul imaginii mari. Aceasta va fi prima transformare a setului de transformări, w1. În
pasul următor, se va lua din nou imaginea iniţială, se va scala, roti, translata astfel încât să ocupe un spaţiu din

13
forma iniţială, neacoperit de transformarea precedentă. Suprapunerea este de preferat să fie cât mai mică. Se
repetă acest procedeu până când toată suprafaţa imaginii este acoperită de copii micşorate ale ei înseşi. Setul
de transformări utilizate devine setul de transformări IFS pentru reprezentarea fractală a imaginii dorite.
3.1.1. Jocul pisicii
Dick Oliver propune în cartea sa „Fractali” un joc practic bazat pe primele cercetări asupra
fractalilor pentru a înţelege cum funcţionează calculatorul.
Pentru aceasta este nevoie de câteva foi de hârtie, un creion, o riglă şi o mână sigură pentru a
crea un fractal aspectuos. Paşii sunt următorii:
1. Desenaţi ceva, de exemplu, o pisică, în mijlocul unei foi de hârtie.
2. Desenaţi trei copii cu dimensiunile jumătate din cele ale primului desen.
3. Desenaţi trei copii în jurul acestora, în exact acelaşi aranjament.
4. Continuaţi.
Pe măsură ce copiile devin tot mai mici, ele devin doar puncte. Dacă desenul este precis, aceste
puncte formează binecunoscutul fractal „Triunghiul lui Sierpinski”. Jocul pisicii găseşte fractalul
desenând aproximaţii din ce în ce mai apropiate de el. Destul de adecvat, această tehnică este denumită
aproximare succesivă.

Fig. 3.1. Jocul pisicii

3.1.2. Jocul haosului


Acest joc, uneori numit algoritmul iteraţiei aleatoare, este unul dintre un set de algoritmi care pot
fi folosiţi pentru a genera fractali liniari. A fost inventat de Michael Barnsley la Georgia Tech. Este deseori
referit ca un generator pentru Sita lui Sierpinski, dar jocul haosului poate genera orice fractal liniar.
Etapele jocului haosului sunt:
Încercuiţi trei puncte oarecare de pe o foaie de hârtie şi în mijloc desenaţi un punct.

14
Alegeţi la întâmplare unul din punctele încercuite şi desenaţi un punct la jumătatea distanţei dintre
ultimul punct pe care l-aţi desenat şi acest punct.
Repetaţi pasul doi pentru foarte mult timp. Dacă măsuraţi jumătăţile distanţelor cu o precizie
considerabilă s-ar putea ca în cele din urmă să vedeţi din nou Triunghiul lui Sierpinski.
Jocul haosului găseşte fractalul sărind aleator printre părţile lui, scoţând la iveală fractalul punct cu
punct, pe măsură ce jocul avansează. Aceasta este denumită iteraţia aleatoare. Ambele tehnici folosesc
relaţiile geometrice dintre părţi pentru a defini un fractal.
Jocul haosului este un exemplu de proces aleator care duce la un rezultat predeterminat.
Astăzi, înţelesul jocul haosului a fost generalizat şi se referă acum la un mod de a genera atractorul, sau
punctul fix, al unui sistem de funcţie iterativă. Începând cu un punct X0, iteraţii succesive sunt formate:
Xk+1=fk(Xk), unde fk este o funcţie din setul IFS, selectată aleator pentru fiecare iteraţie. Iteraţiile converg
către punctul fix din IFS. Dacă X0 aparţine atractorului IFS, toate iteraţiile rămân în interiorul atractorului şi
cu probabilitate 1, formează un set dens în acesta.

Fig. 3.2. Jocul haosului

3.2. Sisteme Lindenmayer (L-Systems)


3.2.1. Scurt istoric
În 1968, Aristid Lindenmayer, biolog la Universitatea din Utrecht, Olanda, a introdus o metodă nouă de
modelare a dezvoltării plantelor. Acum numită L-Sistem, metoda lui Lindenmayer este un tip de sistem
recursiv, un instrument general de construire a unor obiecte complexe pornind de la un obiect simplu şi
înlocuind părţi din acesta conform instrucţiunilor furnizate de un set de reguli de rescriere.

15
Reprezentări grafice ale Sistemelor Lindenmayer au fost publicate prima oară în 1974 de Frijters şi
Lindenmayer, şi de Hogeweg şi Hosper. Potenţialul Sistemelor-L de a crea imagini realiste ale plantelor a fost
demonstrat în 1978 de Smith. În 1979, Szilard şi Quinton au arătat că Sistemele Lindenmayer pot genera
curbe fractale. În 1982, Dekking a găsit dimensiunea pentru câteva curbe generate de Sisteme-L. În 1986
Prusinkiewicz a creat mai mute exemple de fractali şi plante generate astfel, obţinând versiuni tridimensionale
de Sisteme-L.
3.2.2. Descrierea procesului
În versiunea cea mai simplă, un Sistem-L constă dintr-un alfabet, un set de simboluri, o axiomă,
un string (şir) de simboluri din alfabet şi un set de reguli de producţie, care atribuie fiecărei litere a din alfabet
un string P(a) de litere din alfabet. Stringul P(a) este numit succesorul lui a.
Vom descrie procesul folosind următorul set de figuri. Pornim cu o linie, pe care matematicienii
o numesc axiomă.

În continuare, trebuie definită o transformare, numită regulă de producţie de către matematicieni.


Vom ridica pe centrul liniei un pătrat, cu lungimea laturilor egală cu o treime din lungimea liniei noastre
iniţiale.

Repetăm acest proces pentru fiecare dintre cele cinci linii şi obţinem următoarea figură:

Privind la această iteraţie, poate fi greu de observat care este axioma şi regula de producţie, dar ştim din
Capitolul 1 ca aceasta este Curba lui Koch dreptunghiulară. Matematicienilor le place să exprime aceste idei
folosind simboluri, caractere normale cu înţelesuri speciale. Acest lucru este folositor mai ales când se ajunge
la implementarea acestora pe calculator. Lucrul util în cazul sistemelor-L este că foloseşte puţine simboluri
pentru a descrie şi axioma şi regulile de producţie. Un exemplu de alfabet poate fi:
Simbol Înţeles
F Desenează o linie
+ Spre dreapta cu un anumit unghi
- Spre stânga cu un anumit unghi
f Mergi mai departe fără a desena o linie
Fig. 3.3. – Alfabet L-Sistem
Pentru a descrie Curba lui Koch printr-un L-Sistem trebuie să stabilim condiţiile iniţiale, axioma şi
regula de producţie.

16
Componentă Descriere textuală Descriere matematică
Condiţii iniţiale 1) lungimea liniei 1 1) inch L = 1
2) unghiul de 90 de
2) grade
A = 90
o
3) direcţia iniţială dreapta 3) AI = 0
Axiomă Desenează o linie. F
Regulă de producţieÎnlocuieşte fiecare linie cu o linie cu unNewpătrat L = L/3
ridicat in centru, latura lui fiind de oF -> treime
F-F+F+F-F
din
lungimea liniei.
Fig. 3.4. – L-Sistem pentru Curba lui Koch
Regula spune să înlocuim fiecare linie (sau fiecare F) cu următoarea secvenţă de simboluri: F-F+F+F-F.
Să arătăm matematic cum creşte fractalul lui Koch:
Imaginea
fractală
Iteraţie Şirul descriptor
Axiomă F

Prima
F-F+F+F-F
iteraţie

A doua
F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F
iteraţie

F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-

A treia
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
iteraţie F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F
A patra F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-
iteraţie
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-

17
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-
F+F+F-F+F-F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F-F-
F+F+F-F-F-F+F+F-F+F-F+F+F-F+F-F+F+F-F-F-F+F+F-F
Fig. 3.5.- Desfăşurarea procesului L-Sistem pentru Curba lui Koch

Capitolul 4
Realizarea aplicaţiei
„În plus faţă de utilitatea ei în descrierea complexităţii lucrurilor naturale, geometria fractală oferă o
binevenită ocazie pentru revitalizarea educaţiei matematice. Conceptele geometriei fractale sunt vizuale şi
intuitive. Formele implicate au o atractivitate estetica mare şi o mare diversitate a aplicaţiilor. De aceea,
geometria fractală ne poate ajuta să ne opunem impresiei că matematica este aridă şi inaccesibilă şi îi poate
motiva pe studenţi să înveţe despre acest uimitor şi captivant domeniu de studiu.”
Hartmut Jurgens, H.O. Peitgen şi Dietmar Saupe, „Limbajul Fractalilor”, Scientific American, 1990

Subiectul acestei lucrări îl reprezintă fractalii şi aplicaţiile lor curente şi practice în domenii specifice ale
ştiinţei, aspecte detaliate în capitolele precedente.

18
Scopul aplicaţiei curente este de a implementa şi prezenta vizual fractalul rezultat in urma aplicari
functiei f(x)=z3-1 , in limbajul de programare C , folosindu-se de convergenta sirului, ea fiind reprezentata
printr-un cod de culori.
Programul contine o interfata a utilizatorului in care ne este prezentat un meniu cu tastele active in
timpul programului.

Cod sursa in C:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include <complex.h>

int x0=320,y0=240,unit,g;
complex z1,z2,z3,p[101],rez;

void init_grafica()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "c:\\tclite\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Eroare la initializare grafica: %s\n", grapherrormsg(errorcode));
printf("Apasati orice tasta pentru iesire:");
getch();
exit(1);
}
}

void xoy()
{
int i,j;

setcolor(WHITE);
line(x0,0,x0,480);

line(0,y0,640,y0);

settextstyle(SMALL_FONT,HORIZ_DIR,6);

19
outtextxy(x0-10,y0+2,"0");
outtextxy(620,y0+12,"X");
outtextxy(x0+15,10,"Y");

//sageata de pe OX

line(640,y0,640-unit/5,y0-unit/10);
line(640,y0,640-unit/5,y0+unit/10);

//sageata de pe OY

line(x0,0,x0+unit/10,unit/5);
line(x0,0,x0-unit/10,unit/5);

//afiseaza liniile mici care indica unitatea de masura


for(i=1;i<=(640-x0)/unit;i++)
line(x0+i*unit,y0-unit/10-1,x0+i*unit,y0+unit/10+1);

for(i=1;i<=y0/unit;i++)
line(x0-unit/10-1,y0-(i*unit),x0+unit/10+1,y0-(i*unit));

for(i=1;i<=x0/unit;i++)
line(x0-i*unit,y0-unit/10-1,x0-i*unit,y0+unit/10+1);

for(i=1;i<=(480-y0)/unit;i++)
line(x0-unit/10-1,y0+(i*unit),x0+unit/10+1,y0+(i*unit));

//va afisa un punct la intersectia liniilor ce trec prin numere intregi de pe x cu liniile de pe y ce
trec prin numere intregi

if(g)
{
//cadranul 1
for(i=1;i<=(640-x0)/unit;i++)
for(j=1;j<=y0/unit;j++)
{
putpixel(x0+i*unit,y0-j*unit,WHITE);
}

20
//cadranul 2
for(i=1;i<=x0/unit;i++)
for(j=1;j<=y0/unit;j++)
{
putpixel(x0-i*unit,y0-j*unit,WHITE);
}

//cadranul 3
for(i=1;i<=x0/unit;i++)
for(j=1;j<=(480-y0)/unit;j++)
{
putpixel(x0-i*unit,y0+j*unit,WHITE);
}

//cadranul 4
for(i=1;i<=(640-x0)/unit;i++)
for(j=1;j<=(480-y0)/unit;j++)
{
putpixel(x0+i*unit,y0+j*unit,WHITE);
}
}
}

char ajutor()
{
char opt,i;
clrscr();
gotoxy(36,2);
printf("Fractali");

printf("\n\n\n\t Taste active in timpul programului:\n");


printf("\n\t a - afisare grafic");
printf("\n\t p - mareste imaginea");
printf("\n\t l - micsoreaza imaginea" );
printf("\n\t a - translateaza imaginea spre dreapta");
printf("\n\t d - translateaza imaginea spre stanga");
printf("\n\t s - translateaza imaginea in sus");
printf("\n\t w - translateaza imaginea in jos");
printf("\n\t g - afiseaza o retea de puncte (grid)");
printf("\n\t h - afiseaza meniul de ajutor");

21
printf("\n\t q - incheiere program");

printf("\n\n\t Codul culorilor");


textcolor(4);
printf("\n\n\t ");
cprintf("1 puncte convergente la z1");

textcolor(2);
printf("\n\t ");
cprintf("2 puncte convergente la z2");

textcolor(1);
printf("\n\t ");
cprintf("3 puncte convergente la z3");

textcolor(6);
printf("\n\t ");
cprintf("4 puncte neconvergente");

do
{
fflush(stdin);
opt=getch();
}while(opt!='q' && opt!='a' && opt!='i');
return(opt);
}

void calc_frac()
{
complex numa,numi;
double prec,t1,t2,dist;
short i,j,k,maxr,minr,maxi,mini,u;
//maxr,minr,maxi,mini - limitele de calcul al graficului (r - real, i- imaginar)

maxr=640-x0;
minr=-x0;
maxi=y0;

22
mini=-(480-y0);

prec=0.6/2.5;

//prec - precizia cu care se calculeaza distanta dintre 2 termeni consecutivi


//ai sirului de convergenta al fiecarui punct din plan catre una din solutii

//solutiile pentru functia z^3-1

z1=complex(1,0);

z2=complex(-0.5,sqrt(3)/2);

z3=complex(-0.5,-sqrt(3)/2);

for(i=minr;i<maxr;i++)
for(j=mini;j<maxi;j++)
{

k=-1;

p[0]=complex(double(i)/unit,double(j)/unit);

u=0;

do
{
k++;
numa=p[k]*p[k]*p[k]-complex(1);
numi=complex(3)*p[k]*p[k];
if(numi!=0)
p[k+1]=p[k]+numa/numi;
t1=real(p[k+1])-real(p[k]);
t2=imag(p[k+1])-imag(p[k]);
dist=sqrt(t1*t1+t2*t2);
}while(dist>prec && k<5);

23
/* if(k>=5)
{
putpixel(x0+i,y0-j,BROWN);
}
*/
if(dist<=prec)
{
t1=real(z1)-real(p[k+1]);
t2=imag(z1)-imag(p[k+1]);
dist=sqrt(t1*t1+t2*t2);
if(dist<=prec*2.5)
putpixel(x0+i,y0-j,RED);
else
{
t1=real(z2)-real(p[k+1]);
t2=imag(z2)-imag(p[k+1]);
dist=sqrt(t1*t1+t2*t2);
if(dist<=prec*2.5)
putpixel(x0+i,y0-j,GREEN);

else
{
t1=real(z3)-real(p[k+1]);
t2=imag(z3)-imag(p[k+1]);
dist=sqrt(t1*t1+t2*t2);
if(dist<=prec*2.5)
putpixel(x0+i,y0-j,BLUE);
// else
// putpixel(x0+i,y0-
j,LIGHTBLUE);
}
}

}
}

putpixel(x0+(int)(real(z1)*(double)unit),y0-int(imag(z1)*(double)unit),BLACK);
putpixel(x0+(int)(real(z2)*(double)unit),y0-int(imag(z2)*(double)unit),BLACK);
putpixel(x0+(int)(real(z3)*(double)unit),y0-int(imag(z3)*(double)unit),BLACK);

24
}

void grafic()
{
cleardevice();
calc_frac();
xoy();
}

char meniu_grafic()
{
char opt;

init_grafica();

grafic();
do
{
opt=getch();
fflush(stdin);
switch(opt)
{
case 'p':if(unit<10000)
{
unit+=50;
grafic();
};break;
case 'l':if(unit>51)
{
unit-=50;
grafic();
};break;
case 'o':if(unit<300)
{
unit+=1;
grafic();
};break;
case 'k':if(unit>2)
{
unit-=1;

25
grafic();
};break;

case 'd':if(x0>-640)
{
x0-=unit;
grafic();
};break;
case 'a':if(x0<1240)
{
x0+=unit;
grafic();
};break;
case 'w':if(y0<960)
{
y0+=unit;
grafic();
};break;
case 's':if(y0>-480)
{
y0-=unit;
grafic();
};break;
case 'g':if(g==0)
g=1;
else
g=0;
grafic();
break;
case 'z':unit=100;
grafic();
break;
case 'x':x0=320;y0=240;
grafic();
break;
case 'h':closegraph();
break;
}

}while(opt!='q' && opt!='h' && opt!='t');

26
return(opt);
}

void main()
{
char opt;
unit=200;
opt='h';
do
{
switch(opt)
{
case 'h':opt=ajutor();
break;
case 'a':opt=meniu_grafic();
break;
case 'q':break;
}
}while(opt!='q');
closegraph();
}

Concluzii
„Geometria fractală vă va face să vedeţi totul diferit. Riscaţi să pierdeţi imaginea din copilărie a
norilor, pădurilor, galaxiilor, frunzelor, pietrelor, torentelor, covoarelor, cărămizilor şi a multor alte
lucruri.”

Michael Barnsley, „Fractali pretutindeni”, 1988


Geometria fractală este fără îndoială “una dintre marile evoluţii a matematicii secolului al 20-lea. Ea
oferă oamenilor de ştiinţă un model matematic care îmbrăţişează neregularităţile din natură. Numărul mare al
fractalilor din natură este suficient pentru a justifica studiul fractalilor. Recunoaşterea unui obiect ca fractal
poate ajuta înţelegerii comportamentului său. Multe fenomene naturale pot fi descrise prin conceptele

27
geometriei fractale. Prin urmare, fractalii au devenit din ce în ce mai importanţi. Ceea ce a început ca un pur
concept matematic are acum numeroase aplicaţii în ştiinţă.
Fractalii au o largă plajă de modele vizuale fascinante, dintre care multe au aplicaţii ştiinţifice practice.
Unele sunt referite drept „curbe ale dragonului”, în timp ce altele imită exact lanţuri de munţi. Fractalii pot
imita suişurile şi coborâşurile pieţei bunurilor şi serviciilor şi bursei de valori, mişcările neregulate ale
particulelor moleculare, activităţile seismice, traiectoriile corpilor cereşti, temperaturile pe o perioada
îndelungată de timp, sau creşterea plantelor. Şi-au găsit aplicabilitatea în domenii diverse, precum fizica,
biologie, sociologie, meteorologie, astronomie, teoria haosului şi mai ales, economie. Mandelbrot a folosit
geometria fractală chiar în studiul transmisiei acustice a zgomotelor şi a grupurilor galactice.
Multe dintre tehnicile matematice au găsit un teren solid în industria graficii computerizate pentru
crearea unor imagini uimitoare, precum şi a unor structuri care imită fidel realitatea. Din anii 1990 fractalii
sunt larg folosiţi, şi cel mai mult în ştiinţa informaticii. Producţii cinematografice importante îi folosesc pentru
efecte speciale, sistemele de redare grafică pe calculator îi folosesc pentru a crea structuri naturale, oamenilor
de ştiinţă şi matematicienilor le sunt indispensabili.
Interesul crescând în grafica fractală a fost de asemenea influenţat de proliferarea microcalculatoarelor
puternice. Numeroase articole despre fractali au apărut în publicaţii tehnologice. Parte din acest interes
porneşte din natura imprevizibilă a anumitor fractali; un pasionat poate petrece ore în şir explorând varietatea
formelor pe care le poate crea un singur program.
Ştiinţa, matematica şi tehnologia nu mai sunt domeniile plictisitoare, inestetice şi rigide, ci capătă o
frumuseţe care face competiţie artei.

28
Bibliografie :

• Totul despre C si C++, Dr. Kris Jamsa şi Lars Klander, Editura Teora 2005

• www.wikipedia.org

• Motorul de cautare www.google.ro

• Dick Oliver – „Fractali”, editura Teora, 1996

• Benoit Mandelbrot – „Frumuseţea fractalilor”, 1986

• Niculae Vişinoiu – „Statistica formelor economice. Teoria catastrofelor, fractalilor şi


haosului”, editura Lumina Lex, 2001

29

S-ar putea să vă placă și