Documente Academic
Documente Profesional
Documente Cultură
Introducere
Capitolul 1 Teoria fractalilor
1.1 Scurt istoric
1.2 Definitie
1.3 Proprietati ale fractalilor
Capitolul 2 Recunoasterea formelor si aplicatii
2.1Triunghiul lui Sierpinski
2.2 Covorul lui Sierpinski
2.3 Curba lui Koch
2.4Steaua lui Koch
2.5 Praful lui Cantor
3.Dimensiunea fractala
3.1 Dimensiunea auto-similaritatii
3.2Dimensiunea calcularii casutelor
Capitolul 3 Algoritmi inspirati din natura
1.Sistem-L
1.1 Figuri geometrice
1.2 Paranteze in Sisteme –L si arhitecturi de plante
1.3 Sisteme-L si algoritmi genetici
2 Sisteme IFS
2.1 Bazele unui IFS
2.2 Generarea unei imagini cu IFS
2.3 Haos si Intamplare in generarea IFS
2.4 Jocul Haosului
3. Generarea fractalilor prin numere complexe –consideratii matematice
3.1 Setul Mandelbrot
3.2 Setul Julia
Capitolul 4 Metode de generare a curbelor si suprafetelor
Capitolul 5 Compresia fractala
1. Istoric
2. IFS
2.1Imagini binare
3. Extinderi in tonuri de gri
4. Codificare
5. Caracteristici
6. Rezolutia independenta si scalarea fractala
7. Interpolarea fractala
Capitolul 6 Inteligenta artificiala in proiectarea sistemelor de e-learning
Concluzii
Bibliografie
1
Introducere
Ce este un fractal?
2
suprafetele fractale au lungime, respectiv arie, infinite, dar închid o arie finita, respectiv
un volum finit. Dependenta de scala, respectiv autosimilaritatea formelor fractale este
descrisa printr-o marime denumita dimensiune fractala, D. Dimensiunea fractala este o
caracteristica globala (adica nu se refera la un singur punct) a suprafetei. Totusi ea se
bazeaza si reflecta proprietatile locale ale suprafetei. D este o masura a iregularitatii prin
comparatie cu o forma fixata, dar rezultatul nu depinde de forma aleasa.
Fara a intra în detalii vom trece în revista unele aplicatii ale analizei si ale structurilor
fractale.
Capitolul 1
Teoria fractalilor si aplicatii in informatica
Matematica tipica fractala isi are inceputurile in secolul 17 in teoriile filosofice ale lui
Gottfried Leibniz ce trateaza autosimilaritatea ca si recursiva insa doar in 1872 a aparut
primul fractal demonstrat de catre Karl Weistrass ca si functie continua dar
nediferentiabila.
In anul 1875 odata cu apartitia unei lucrari de renume a matematicianului Benoit
Mandelbrot numita “O teorie a seriilor fractale” care se extinde mai apoi in cartea de
manifest “Geometria fractala a naturii” apar teorii sustinute despre fractali.
In anul 1904 Helge von Koch da o definitie geometrica a unei fuctii similare si da
nastere asa numitului “fulg al lui Koch”.In 1915 si 1916 sant creati “Triunghiul lui
Sierpinski” si “Covorul lui Sierpinski” de catre Waclaw Sierpinski.Alaturi de acesti
inventatori apare si Georg Cantor care introduce notiunea de Multime Cantor ca si
submultimi ale axei reale.
La inceputul secolului 20 sant ilustrate functiile iterate in planul complex de catre
cercetatori ce renume ca Gaston Julia si mai apoi in 1960 Benoit Mandelbrot care
introduce termenul de Dimensiune Hausdorff-Besicovitch pentru un fractal si studiaza
pentru acestia autosimilaritatea satatica si dimensiunea fractala.
Cuvantul “fractal”provine din limba latina “fractus”
care inseamna spart sau fracturat a fost pentru prima data utilizat de catre Mandelbrot \
1.2 Definitie
3
Cuvantul “fractal”provine din limba latina “fractus” care inseamna spart sau fracturat a
fost pentru prima data utilizat de catre Mandelbrot ca si Curbă sau formă foarte
neregulată pentru care orice parte aleasă în mod convenabil devine similară ca formă cu o
alta mai mare sau mai mică în momentul în care cea dintâi este mărită, respectiv redusă la
dimensiunea celei de-a doua. (cf. engl. fractal, fr. fractale, din lat. fractus = spart,
neregulat (part. al lui frangere = a sparge)
Deoarece par identici la orice nivel de magnificare, fractalii sunt de obicei consideraţi ca
fiind infinit complecşi (în termeni informali). Printre obiectele naturale care aproximează
fractalii până la un anumit nivel se numără norii, lanţurile montane, arcele de fulger,
liniile de coastă şi fulgii de zăpadă. Totuşi, nu toate obiectele autosimilare sunt fractali—
de exemplu, linia reală (o linie dreaptă Euclidiană) este autosimilară, dar nu îndeplineşte
celelalte caracteristici.
Capitolul 2
Recunoasterea formelor
1 Descrierea fractalilor
Probabil cel mai cunoscut fractal al tuturor timpurilor este aºa-numitul triunghi al lui
Sierpinski.
Modul de realizare al acestui fractal este foarte simplu:
-la început se deseneazã un triunghi pe care îl vom diviza în patru pãrþi egale, iar trei
dintre ele (cele din exterior) vor fi si ele divizate (folosind acelasi procedeu), procesul
continuând la infinit pentru toate triunghiurile formate.
.O altã modalitate de realizare a acestui fractal este urmãtoarea: se porneste de la un
triunghi plin în care se "decupeazã" triunghiuri egale cu un sfert din triunghiul initial.
Dacã repetãm la infinit acest proces, atunci vom obtine un fractal identic cu triunghiul lui
4
Sierpinski (uneori,când este realizat prin aceastã tehnicã el se mai numeste garnitura lui
Sierpinski.
Problema a apãrut atunci când Sierpinski a încercat sã determine aria pe care o ocupã
acest fractal. Pe de o parte am putea crede cã aria este zero, deoarece un numãr infinit de
gãuri acoperã în cele din urmã orice suprafaþã plinã din triunghi. Pe de altã parte însã, la
un moment dat, îndepãrtãm doar un sfert din aria rãmasã,lãsând mare parte încã acoperitã
si, deci, oricât de mult am repeta aceastã operaþiune, întotdeauna va rãmâne mai mult
decât s-a luat. Deci aria nu ajunge niciodatã zero.
Implementarea in Matlab
function sierpinski(size)
if nargin ~= 1 %
size = 9;
end
clf;
dim = 2^size;
axis square;
hold on;
for y = 1:dim
for x = 1:y
if bitand((x-1),(y-x)) == 0
plot(x-.5*x,dim-y);
end
end
end
O altã formã imaginatã de acelasi matematician este covorul lui Sierpinski. Forma
geometricã de la care se porneste este un segment de dreaptã care este apoi înlocuit
cu alte opt segmente de dreaptã . Fiecare segment este înlocuit cu forma întreagã si
procesul continuã la infinit. Asemãnându-se foarte tarecu triunghiul lui Sierpinski ºi
putând fi obþinut prin metoda prezentatã mai sus, dar si prin decuparea de gãuri
într-un pãtrat plin, s-ar putea ivi si aici aceea si controversã legatã de aria formei.
Implementarea in Matlab
function carpet(i);
5
% CARPET uses n = 5.
%default setting
switch nargin
case 0
i=5;
end
tic;
M = 0;
% creaza o matrice M formata din zero si unu
% indica punctele covorului
for k=1:i
M = [M, M, M;
M, ones(3^(k-1)), M;
M, M, M];
end
% plot settings
imagesc(M);
colormap(gray);
axis equal;
axis off;
toc
Curba lui Koch este un alt exemplu de fractal clasic. Algoritmul este relativ
simplu:
• un segment de dreapta cu lungime finita, se imparte in trei segmente egale
• cel din mijloc va constitui baza unui triunghi echilateral, dupa care se va elimina
• se repeta procesul pentru segmentele nou create
Se poate observa cu usurinta ca lungimea curbei lui Koch este infinita,deoarece la fiecare
iteratie, pasii de mai sus se aplica fiecarui segment, numarul acestora multiplicandu-se de
patru ori, lungimea fiecaruia fiind 1/3 din lungimea segmentelor de la pasul anterior.
Astfel , lungimea creste cu 1/3,iar la a n-a iteratie,aceasta va fi (4/3)^n,deci tinzand spre
infinit.
Dimensiunea fractala a curbei Koch este egala cu lg4/lg3 adica aproximativ 1.26. Oricat
de mult am micsora scara, oricat de mult am inainta cu privirea in interiorul figurii,
imaginea pe care o vom observa va fi identica cu cea de la care am pornit. Acesta este un
6
exemplu de autosimilaritate perfecta, ce se gaseste doar la fractalii matematici, natura
folosindu-se de o autosimilaritate relativa, sau statistica.
Steaua lui Koch este un alt exemplu de fractal, in care putem observa un paradox
interesant. Algoritmul pentru realizarea acestui fractal este asemanator celui de mai
inainte, cu exceptia ca se porneste nu de la un segment de dreapta, ci de la un triunghi
echilateral, caruia I se aplica algoritmul folosit pentru construirea curbei lui Koch. Ce
vom obtine? Dupa prima iteratie se va obtine o figura asemanatoare stelei lui David, cu
lungimea mai mare decat a primei figuri. Continuand iteratiile la nesfarsit, vom ajunge in
situatia in care lungimea stelei lui Koch va fi infinita, insa va delimita o arie finita,egala
cu 8/3 din aria triunghiului initial.
Implementare in Matlab
function sierpinski(size)
if nargin ~= 1 %
size = 9;
end
clf;
dim = 2^size;
axis square;
hold on;
for y = 1:dim
for x = 1:y
if bitand((x-1),(y-x)) == 0
plot(x-.5*x,dim-y);
end
end
end
Mulţimea lui Cantor (sau discontinuul lui Cantor sau praful lui Cantor) este un
concept în cadrul topologiei atribuit matematicianului Georg Cantor.
O alta varianta la fel de cunoscuta in lumea fractalilor este praful lui Cantor. Ideea de
generare este aceeasi:
- Se porneste de la un initiator ce este si in acest caz un segment de dreapta.
- Legea de generare presupune doar indepartarea treimii din mijloc a segmentului.
In acest mod, prin repetarea la nesfarsit a legii, se obtine o structura alcatuita
7
dintr-un set de puncte, structura caracterizata printr-o dimensiune data de
relatia:
Df = Ln(2) / Ln(3) = 0.63092.....
Din nou o structura particulara, cu dimensiune intermediara cazurilor cunoscute de
geometria euclidiana.
Nici de dimensiune zero, specifica punctului, dar nici de dimensiune 1, specifica liniei, ci
0.63092... Un mic "monstru" matematic, scufundat intr-o linie, dar care are identitate
doar in spatiul 0.63092...
Oare cate fenomene fizice ce se desfasoara in jurul nostru ar putea fi descrise,
caracterizate prin acest model al prafului lui Cantor.. Aşadar, mulţimea lui Cantor are
următoarele proprietăţi:
Dimensiunea Hausdorff a mulţimii nu este număr întreg, deci mulţimea lui Cantor
este un fractal.
2. Dimensinea fractalã
Este arhicunoscut faptul cã orice formã are o anumitã dimensiune. Astfel:
· punctul are dimensiunea 0;
· dreapta are dimensiunea 1;
· planele si suprafetelele au dimensiunea 2;
· spatiul are dimensiunea 3.
Aceste dimensiuni au fost mai apoi extinse, ajun-
gându-se la asa-numitele spatii n-dimensionale. În aceste spatii, obiectele vor avea n-
dimensiuni..
Noile descoperiri din matematicã, realizate la începutul secolului al XX-lea, au dus
inevitabil la necesitatea unui mod cu totul nou de mãsurare a spaþiului si a dimen-
siunii. Rãspunsul a fost dat de cãtre matematicienii Felix
Haussdorff si Abram S. Besicovitch care au descoperit (în sensul strict al cuvântului)
dimensiuni noi, dar au si redefinit cu adevãrat dimensiunea în sine.
În urma studierii si dezvoltãrii lucrãrilor lui Haussdorff, Besicovitch a afirmat cã
formele pot avea dimensiuni fractionare. Astfel, curbe cum ar fi cele ale lui Sierpinski sau
Koch, ar cãdea între dimensiunile normale si astfel s-ar putea explica comportarea lor
ciudatã. Dimensiunea Haussdorff-Besicovitch a fost calculatã pe baza masurãtorilor de la
8
aproximãrile simple ale unei curbe. Mai exact ea este definitã ca fiind raportul dintre
logaritmul numãrului de copii si logaritmul mãrimii "semintei" co-
respunzãtoare fiecãrei copii.
De exemplu, pentru linia de coastã Koch triunghiularã, vom avea log 4 / log 3
~1.2618 deoarece sunt patru copii ºi fiecare reprezintã o treime din
mãrimea seminþei. Ideea dimensiunilor fracþionare s-a dovedit pânã la urmã mult mai
puternicã decât si-au imaginat creatorii ei, deoarece natura abundã de forme auto-reflec-
tive (cum ar fi liniile de coastã) putând astfel caracteriza dupã acest criteriu o mare parte
din mediul înconjurãtor. Mai târziu, Benoit Mandelbrot a dat dimensiunii Haus-
sdorff-Besicovitch numele de dimensiune fractalã. Aceastã
dimensiune fractalã a avut o deosebitã valoare pentru
matematicieni, acestia fiind capabili acum sã mãsoare un adevãrat univers de forme care
înainte nu putea fi mãsurat.
Dimensiunea fractala permite masurarea gradului de complexitate prin evaluarea
rapiditatii cresterii sau descresterii masuratorilor cu cat scara de evaluare devine mai
mica sau mare.
Exista multe tipuri de dimensiuni dintre care amintim dimensiunea
topologica,dimensiunea Hausdorff si dimensiunea euclidiana.
Vom discuta despre doua tipuri de dimensiuni:dimensiunea auto-similaritatii si
dimensiunea numararii casutelor.
Dar inainte de a explica algoritmii de masurare a dimensiunii trebuie sa explicam cum
lucreaza o lege de putere.In mod esential datele se comporta cu o lege de putere can sent
definite de urmatoarea ecuatie:
y = c * x^ d
Unde c este constant.Apoi determinam daca se incadreaza regulii prin reprezentarea
grafica a lui log(y) versus log(x).Daca graficul este o linie dreapta atunci va fi o lege de
putere cu gradient d.
De exemplu:
1 Daca o linie este rupta in 3 bucati fiecare va fi o treime din lungimea celei
originale.Astfel a=3,s=1/3,D=1;
2 daca un patrat este rupt in patru parti ,fiecare parte va fi jumatate din lungimea partii
originale. Astfel a=4,s=1/2,D=2.
3 Pentru Triunghiul lui Sierpinski,triunghiul original este taiat in doua si vor rezulta trei
parti.Astfel a=3.s=1/2,D=1,5850.
9
2.2 Dimensiunea calcularii casutelor
Capitolul 3
Algoritmi inspirati din natura
10
set de producţii, un L-sistem generează în mod iterativ un anumit şir de cuvinte plecând
de la un cuvânt iniţial.
Formal, un L-sistem este un triplet format dintr-un alfabet, un set de producţii şi o
axiomă. Prin alfabet înţelegem o mulţime finită de caractere (de litere, de simboluri, etc)
cu ajutorul cărora formăm succesiuni finite de caractere numite stringuri (sau cuvinte).
Fiecare caracter are asociată câte o regulă de substituţie (de generare, de derivare, de
producţie, etc) prin care el este înlocuit cu un anumit string. Oricare două stringuri
formează un alt string prin simpla lor alăturare, adică prin concatenare. Numim axiomă
stringul iniţial cu care pornim procesul de generare în care, la fiecare pas, înlocuim
fiecare caracter al stringului vechi cu stringul corespunzător lui din regulile de substituţie,
obţinând astfel prin concatenare noul string.
Mulţi fractali (sau cel puţin aproximaţiile lor finite) sunt alcătuiţi din secvenţe de figuri
elementare Aceaste secvenţe pot fi descrise de
stringuri generate de L-sisteme dacă dăm fiecărui caracter din alfabet cate o interpretare
geometrică.
Sisteme de Lindenmayer au fost concepute ca o teorie matematică de dezvoltare. Astfel,
aspecte geometrice au fost dincolo de sfera de aplicare a teoriei. Ulterior, mai multe
interpretarea geometrică a sistemelor de L-au fost propuse pentru a le transforma într-un
instrument versatil pentru modelarea fractal şi a plantelor.
Multi fractali (sau cel puţin aproximările lor finite) pot fi gânditi ca secvenţe de
segmente primitive gen elemente-line. Pentru a produce fractali, sirurile de caractere
generate de L-sisteme trebuie să conţină informaţiile necesare despre geometrie figura. O
interpretare grafică de siruri de caractere, bazate pe geometria broască ţestoasă, este
descrisă de Prusinkiewicz et al. (1989), (1990). Această interpretare poate fi folosit
pentru a produce imagini. O stare de broască ţestoasă este definit ca un triplet (x, y, a), în
cazul în coordonate carteziene (x, y) reprezinta broasca testoasa poziţia, şi
unghiul a, numit titlul, este interpretat ca directia in care broasca testoasa se
confruntă. Având în vedere dimensiunea pas d şi b unghiul de creştere, broasca testoasa
poate răspunde la comenzile reprezentate de următoarele simboluri:
11
- Viraj stânga de unghi b. Starea următoare a
Turtle este (x, y, ab).
w: F + F + F + F
P: F -> F + FF-FF + F + FF
12
1.3 L-sisteme şi algoritmi genetici
2 Sisteme 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 inseş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 inlocuieşte un poligon cu alte poligoane, pe baza unui generator. La fiecare
iteraţie, fiecare poligon este inlocuit cu o versiune scalată, rotită şi translatată a
poligonului in generator.
Matematica din spatele fractalilor liniari este surprinzător de simplă, necesitand
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 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 pană cand
această versiune micşorată a imaginii iniţiale este cuprinsă in interiorul imaginii mari.
Aceasta va fi prima transformare a setului de transformări, w1. In pasul următor, se va lua
din nou imaginea iniţială, se va scala, roti, translata astfel incat să ocupe un spaţiu din
forma iniţială, neacoperit de transformarea precedentă. Suprapunerea este de preferat să
fie cat mai mică. Se repetă acest procedeu pană cand toată suprafaţa imaginii este
acoperită de copii micşorate ale ei inseşi. Setul de transformări utilizate devine setul de
transformări IFS pentru reprezentarea fractală a imaginii dorite.
Un sistem IFS este format dintrun set de transformari w1 , w2 ,... wn .Fiecare din
aceste transformari pot fi facute in cazul oricarei transformari afine.Singura restrictie este
13
aceea ca trebuie sa fie o transformare de contractie ceea ce insemna ca daca aplici
transformarea aceasta va muta mai aproapae 2 puncte.
Transformarea poate fi scrisa in notatie matriceala astfel:
|x| |a b||x| |e|
w| |=| || |+| |
|y| |c d||y| |f|
Fiecare din aceste transfomari w1,w2,...wn are o valoare repetitiva p1,p2,...pn care
reprezinta probabilitatea ca o anumita transformare sa ales. Suma dintre p1,p2,..pn trebuie
sa valoreze 1.
| x | | r*cos(a) -s*sin(b) | | x | | h |
| y | | r*sin(a) s*cos(b) | | y | | k |
14
4 alege un punct aleator pe care il vei nhumi a
5 Genereaza un numar intreg aleator intre 1 si n
6 aplica tranzitia etichetata cu numarul aleator a generand un nou punct a.
7 plot a.
8 mergi la pasul 5 repetand de i ori.
Jocul Haosului este numit si algoritmul iteratei aleatoare si poate fi folosit in generarea
oricarui algoritm linear.Ca exemplu avem generarea Sitei lui Sierpinski in care se va
utiliza jocul haosului cu trei atractori pozitionati in trei varfuri ale unui triunghi
echilateral Cand se va misca pozitia curenta catre un atractor ,nultimea miscata reprezinta
intotdeauna jumatate din distanta dintrea punctul curent si varful selectat.
Pasii in crearea fractalului sant urmatorii:
-defineste cele trei puncte
- selecteaza un punct de strat
- selecteaz aleator unul dintre cei trei atractori
- muta pozitia curenta la jumatatea distantei fata de atractorul selectat si reprezinta grafic
un punct
-intoarce-te la pasul 3
15
Este posibil sa asociem o culoare cu un punct din afara setului Mandelbrot. Culoare
punctelor depinde de numarul de iteratii necesare pentru a determina daca fac sau nu
parte din setul Mandelbrot, si poate fi interpretata ca distanta fata de setul Mandelbrot.
Alegeti un punct din planul complex (sa-i spunem C). Numarul are formax + i*y.
Calculati valoarea expresiei Z2 + C, zu Z = 0, la inceput. Rezultatul e in mod evident C.
Dati lui Z valoarea obtinuta si repetati calculul: acum rezultatul este numarul
complex C2+C. Dati aceasta valoare lui Z si repetati calculul. In termeni matematici
aceata este iterarea functiei Zn = Zn-12 + C. Ce se va intampla cu punctul in urma iterarii?
Va ramane langa origine sau se va indeparta de aceasta? Daca ramane in apropierea
originii spunem ca puntul C apartine setului Mandelbrot. In caz contrar spunem ca
punctul se indeparteaza spre infinit si nu apartine setului Mandelbrot.
16
• puncte apropiate de setul Mandelbrot scapa greu spre infinit;
• puncte din setul Mandelbrot nu ating nicioadata infinitul.
Dupa cum se observa e imposibil de aplicat procesul descris mai sus pentru ca nu putem
itera la infinit pentru a vedea daca un punct va ajunge sau nu la infinit. Este usor de
demonstrat insa ca daca distanta de la punct la origine devine mai mare decat 2, va ajunge
la infinit. Tinand cont de aceasta in momentul in care distanta de la punct la origine
depaseste valoarea 2 putem sa oprim calculul pentru ca stim ca punctul va migra spre
infinit. In plus putem asocia o culoare cu numarul de iteratii efectuate (un mic numar de
iteratii inseamna ca punctul migreaza rapid spre infinit).
Implementarea in matlab
function Mandelbrot(iter,pixel)
% implicit
switch nargin
case 0
iter=23;
pixel=400;
end
17
% decompose x- and y-axis according to the chosen
% proportion of r = 3:4.
r = 3/4;
x = linspace(-2.5,1.5,pixel);
y = linspace(-1.5,1.5,round(pixel*r))';
[Re,Im] = meshgrid(x,y);
C = Re + i * Im;
B = zeros(round(pixel*r),pixel);
Cn = B; % C_0 = 0+0i
for l = 1:iter
end;
18
imagesc(B);
colormap(jet);
axis equal
axis off
Seturile Julia sunt legate in mod strict de setul Mandelbrot. Functia iterativa
utilizata pentru a obtine setul Julia este Zn+1 = Z2n + C. Ceea de difera este modul in care
aceasta formula este utilizata. Pentru a obtine un fractal Mandelbrot, iteram formula
pentru fiecare punct C din planul complex si incepem intotdeauna cu Z0 = 0. Cand
construim un fractal Julia, C ramane fix pe tot timpul iterarii, in timp ce Z0variaza.
Valoare lui C determina forma setului Julia: cu alte cuvinte fiecare punct din planul
complex este asociat cu un set Julia particular.
Cum se poate construi un set Julia?
Alegeti un punct din planul complex (sa-i spunem C). Numarul complex corespunzator
are forma x + i*y. Urmatorul algoritm genereaza setul Julia asociat acestui punct C: fiind
dat un punct generic Z din planul complex, se poate stabili daca acesta apartine setului
Julia, asociat cu C, si implicit culoarea care trebuie sa i se asocieze. Pentru a vedea daca
Z apartine sau nu setului, trebuie sa iteram functiaZn+1 = Z2n + C cu Z0 = Z. Ce se intampla
cu punctul initial Z cand formula este iterata? Va ramane langa origine sau se va
indeparta de ea spre infinit? In primul caz punctul apartine setului Julia. In cel de-al
doilea caz se deplaseaza spre infinit si ii asociem o culoare punctului Z, in functie de
viteza cu care se deplaseaza spre infinit. Pentru a putea genera o imagine a intregului set
Julia asociat punctului C, trebuie sa repetam acest proces pentru toate punctele Z ale
caror coordonate sunt incluse in plaja: -2 < x < 2, -1.5 < y < 1.5
Trebuie remarcat ca in timp ce Setul Mandelbrot este conex , un set Julia este conex doar
daca este asociat cu un punct din setul Mandelbrot. Acesta e doar un exemplu al legaturii
dintre setul Julia si setul Mandelbrot.
Exemplu: setul Julia asociat punctului C1 este conex. Setul Julia asociat punctului C2 nu
este conex. (vezi imaginea de mai jos)
19
Metoda de obtinere a unui set Julia este aceeasi cu cea utilizata pentru a obtine un set
Mandelbrot. Daca distanta fata de origine devine mai mare decat 2 putem fi siguri ca va
ajunge la infinit. Astfel ne putem opri si asociat o anumita culoare in functie de numarul
de iteratii efectuate. Daca punctul apartine setului Julia distanta sa fata de origine nu va
depasi nicioadata valoarea 2, indiferent de numarul de iteratii efectuate. Chiar daca
punctul nu apartine setului Julia pot fi necesare un numar mare de iteratii pentru a afla
acest lucru. In ambele cazuri stabilim un numar maxim de iteratii, dupa care presupunem
ca punctul face parte din set (si il vom desena cu negru).
Implementarea in Matlab
function Julia(c,k,v)
20
A = ones(v,1)*d+i*(ones(v,1)*d)';
% iteratii
for s = 1:k
B = B+(abs(A)<=r);
% harta
A = A.*A+ones(v,v).*c;
end;
% setarile graficului
imagesc(B);
colormap(jet);
hold off;
axis equal;
axis off;
Capitol 4
Introducere
21
Dimensiunea fractala a mai multo entitati poate fi obtinuta prin ecuatia 1 sau 2(Laurini si
Thompson 2002):
1)
lo gn
d=
( r)
lo g 1
2) d =
logn
logs
Unde:
n = numarul de parti repetitive
r =ratia self-similaritatii
d=dimensiunea fractala
Pentru a intelege mai bine acest concept descriem pasii producerii unui fulg de nea:
Pas1
-Se ia un triunghi
-impartim fiecare parte a triunghiului in 3 parti si inlocuim partea din mijloc cu 2 parti
egale
-va fi generat un poligon cu 12 parti.
Pas 2
Se reia algoritmul
Se genereaza un poligon cu 48 de parti.
• la fiecare pas numarul de parti este multiplicat de 4 ori.
1 Miscarea Browniana
Mişcare browniană este cel mai popular model folosit pentru a efectua
interpolari fractale dintr-un set de probe.
Definitie
Mişcare browniană,observate prima data de Robert Brown în 1827, este mişcarea de mici
particule cauzate de bombardament continuu de către alte
particule vecine. Brown a constatat că distribuţia
pozitiei particulelor este întotdeauna Gaussiana cu o variaţie dependentă
numai pe durata de timp a observaţiei mişcării.
(Laurini Thompson şi 2002).
Mişcare browniană de fracţionare (FBM), poate fi folosita pentru simularea suprafetelor
22
topografice
FBM oferă o metodă de generare a neregularitatilor, suprafete auto similare care
seamana cu topografia si care au cunoscut dimensiunea fractala.
Funtiile FBm pot fi categorisite prin numeroase grafice care simuleaza fenomenul
variatiei impotriva distantei spatiale dintre 2 puncte prin ecuatia data de Felgueiras si
Goodchild 1995:
[( )] 2
(
E z i − z j = K * Di , j)2H
Unde:
E=asteptare statistica
Z i , Z j =inaltimile suprafetei in punctele i si j;
d i , j =distanta spatiala dintre aceste puncte
K=constanta proportionalitatii
H=parametru in intervalul 0 la 1
H controleaza suprafata si duritatea si are o relatie cu dimensiunea fractala D dupa cum
se observa di urmatoarea ecuatie:
D=3-H
Cum H este 0,5 vom obtine o miscare Browniana.Cu cat este mai mic H cu atat este mai
mare D.
23
z ale acestor puncte de mijloc sant definite de catre o linie fractala poligonala .Un nou
triunghi Tc care contine puncte Pi este ales dintre cele 4 triunghiuri mai mici
.Subdiviziunea continua pana cand punctul Pi se afla in cadrul unui criteriu de
proximitate ale unuia dintre vrfurile triunghiului Tc .Cand proximitatea este satisfacuta
putem defini z i = z pentru acest varf.
Capitol 5
Compresia fractala
Compresia fractala reprezinta o metoda de compresie a imaginii utilizand
fractali.Aceasta metoda este potrivita pentru texturi si imagini naturale pe baza faptului
ca parti ale imaginii seamana cu alte parti ale aceleasi imagini.Algoritmii fractali
convertec aceste parti in date matematice numite “coduri fractale” care snt folosite pentru
recrearea imaginii codate.Compresia fractala difera de compresiile bazate pe pixeli cum
ar fi: JPEG,GIF, MPEG,atunci cand nu sant salvati pixeli.Odata ce o imagine a fost
convertita in cod fractal ,imaginea poate fi recreata pentru a umple orice marime de
ecran fara a pierde din definirea care apare in schemele de compresie conventionale.
Istoric
Michael Barnsley a condus dezvoltarea compresiei fractale în 1987, şi i-au fost acordate
mai multe brevete pe tehnologie. Studentul lui Barnsley absolventul Arnaud Jacquin a
implementat automat primului algoritm în software-ul în 1992. Toate metodele se
bazează pe transformarea fracatala folosind sistemele iterative. . Michael Barnsley şi
Alan Sloan format Systems Inc în 1987, care a fost acordat peste 20 de patente
suplimentare legate de compresie fractal.
24
comercial. În timpul anilor 1990 Systems Inc şi partenerii cheltuie resurse considerabile
pentru a aduce la video compresia fractala. În timp ce rezultatele de compresie au fost
promiţătoare, hardware din acea vreme nu a avut puterea de procesare pentru ca
compresia video fractala să fie practic dincolo de uzantele selectari de pana atunici. Până
la 15 de ore au fost necesare pentru a comprima un minut de video.
1 IFS
Imaginea fractala poate fi descrisa matematic ca o functie al unui sistem iterativ.
Conform acestor funcţii de cartografiere, IFS descrie un set S dimensional două ca punct
fix al operatorului Hutchinson
S set este auto-similare, deoarece H (S) = S implică faptul că S este o uniune de copii
mapate de sine:
25
3 Codificarea
O problemă provocatoare de cercetare în curs de desfăşurare în reprezentarea imaginii
fractale cum de a alege ƒ ƒ 1 ,..., N astfel încât punct fix sa apropie imaginea de intrare, şi
cum să facă acest lucru eficient. O abordare simplă [1] pentru a face acest lucru este
următoarea:
În a doua etapă, este important de a găsi un bloc similar, astfel încât IFS reprezintă cu
exactitate imaginea de intrare, astfel încât un număr suficient de blocuri candidat
pentru D am nevoie pentru a fi luate în considerare. Pe de altă parte, o căutare de mare
având în vedere mai multe blocuri de calcul este costisitoare. Acest gâtuire de căutare
pentru blocuri similare este aceea codare fractala este mult mai lent decât, de
exemplu DCT şi wavelet imagine bazate pe reprezentări.
Caracteristici
26
4 Rezoluţia independenţa şi scalarea fractala
O trăsătură inerentă de compresie fractala este că imaginile devin independente de
rezoluţie [7] după ce a fost convertit la codul fractal.Acest lucru se datorează faptului că
sistemele de reiterată în funcţia de scară fişier comprimat pe termen nelimitat. Această
proprietate scalarea nedeterminată un fractal este cunoscut sub numele de "scalarea
fractal".
5 Interpolare Fractala
Independenţa rezoluţiei unei imagini fractal-codificate poate fi utilizată pentru a creşte
rezoluţia de afişare a unei imagini. Acest proces este, de asemenea, cunoscut sub numele
de "interpolare fractala". În interpolarea fractala, o imagine este codificata în coduri
fractale prin compresie fractală, şi ulterior decomprimat la o rezoluţie mai
mare. Rezultatul este o imagine-eşantion în care sistemele de funcţia reiterat au fost
folosite ca interpolant . Interpolare Fractala susţine foarte bine detaliul geometric
comparativ cu metodele tradiţionale, cum ar fi interpolare interpolare
biliniară şi interpolare bicubica .
Capitolul 5
Concluzii
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ă decat excepţie. Aşa cum spunea Benoit Mandelbrot in 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 in 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 inşelat
constant previziunile.
27
Fractalii nu oferă in mod neapărat speranţa că putem controla aceste fenomene
inşelătoare. Din contră, incepem să inţelegem că haosul şi imprevizibilul sunt mult mai
puternic incluse in natură decat ne-am
imaginat vreodată. Oricum, fractalii ne oferă instrumente puternice pentru modelarea şi
vizualizarea sistemelor neliniare. In majoritatea cazurilor, cu ajutorul fractalilor putem
modela aspectul şi structura lumii reale mult mai uşor şi mai succint decat cu formele
liniare.Interesul crescand in grafica fractală a fost de asemenea influenţat de proliferarea
microcalculatoarelor puternice.
Bibliografie
28