Ce e setul Mandelbrot?
|
|
Setul
Mandelbrot este domeniul de convergenta a seriei contruita de
secventa complexa definita de regula recursiva
Zn = Zn-12 + C.
Cu alte cuvinte folosind un simplu algoritm este posibil sa
impartim punctele din planul complex in doua categorii:
Imaginea urmatoare arata o portiune a planului complex.
Punctele setului Mandelbrot au fost reprezentate cu negru.
|

|
|
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.
|

|
Cum se poate
construi setul Mandelbrot?
|
|
Alegeti un punct din planul complex (sa-i spunem C).
Numarul are forma x + 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.
Haideti sa aruncm o privire asupra algoritmului dintr-un
alt punct de vedere. Sa consideram ca toate puntele sunt
atrase atat de infinit cat si de setul Mandelbrot. Aceasta
face mai usor de inteles de ce:
-
puncte indepartate de setul Mandelbrot se misca rapid
spre infinit;
-
puncte apropiate de setul Mandelbrot scapa greu spre
infinit;
-
puncte din setul Mandelbrot nu ating nicioadata
infinitul.
|
Care e
smecheria?
|
|
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).
Pe de
alta parte, daca punctul apartine setului Mandelbrot, distanta
sa de origine nu va depasi nicioadata valoarea 2, indiferent
de numarul de iteratii efectuate. Chiar daca punctul nu
apartine setului ar putea fi necesare un numar foarte mare de
iteratii pentru a afla acest lucru. In ambele cazuri stabilim
un numar maxim de iteratii, dupa care presupunem ca face parte
din set. Cu cat facem mai multe iteratii cu atat imaginea va
fi mai clara, dar calculele vor fi mai lungi.
|
Exemple
|
|
Sa vedem
cum sa asociem o culoare unui punct din plan. Sa incepem cu un
punct din afara setului Mandelbrot: C = -0.5 + i.
Iterand functia Zn = Zn-12
+ C se vor obtine urmatoarele valor: (imaginea arata
punctele corespunzatoare in planul complex.)
|
|
Pas |
Valoare curenta |
Distanda fata de origine |
| 1 |
-0.5+i |
1.12 |
| 2 |
-1.25 |
1.25 |
| 3 |
1.06+i |
1.46 |
| 4 |
-0.37+i*3.1 |
3.15 |
|
 |
|
La cea de-a treia iteratie, dinstanta de la punct la origine
devine mai mare decat 2. Aceasta inseamna ca punctul initial C
nu apartine setului Mandelbrot. Datorita faptului ca sunt
necesare trei iteratii pentru a stabili apartenenta punctului
C la setul Mandelbrot, vom asocia punctului o anumita culoare.
Toate punctele de aceiasi culoare au nevoie de acelasi numar
de iteratii pentru a stabilii daca sunt sau nu atrase spre
infinit.
Sa
repetam procesul pentru un punct din interiorul setului
Mandelbrot: C = 0.2 + i * 0.5. In acest
caz distanta de la punct la origine nu atinge niciodata
valoarea 2. Cand atingem numarul maxim de iteratii (de exemplu
200) presupunem ca punctul initial C apartine setului
Mandelbrot si il reprezentam cu negru.
|
|
Pas |
Valoare curenta |
Distanta fata de origine |
| 1 |
0.2+i*
0.5 |
0.54
|
| 2 |
-0.01+i*0.7 |
0.7
|
| 3 |
-0.29+i*0.49 |
0.57
|
| 4 |
0.05+i*0.22 |
0.22
|
| 5 |
0.15+i*0.52 |
0.54
|
| 6 |
-0.05+i*0.66 |
0.66
|
| 7 |
-0.23+i*0.44 |
0.48
|
| 8 |
0.06+i*0.3 |
0.3 |
| 9 |
... |
... |
|
 |