Mulțimea Mandelbrot este o mulțime de numere complexe c, astfel încât dacă iterăm funcția z=z^2+c, aceasta nu merge la infinit (începând cu z=0).
Mulțimea Mandelbrot se calculează astfel:
– pentru fiecare pixel c, începând cu z=0, se repetă z=z^2+c de N ori
– aceasta va eșua dacă magnitudinea lui z devine tot mai mare
– daca s-a terminat iterația, punctul probabil se află în interiorul mulțimii Mandelbrot; în caz contrar, punctul se află în exterior și va fi colorat în funcție de cât de multe iterații au fost efectuate
– Se eșuează dacă |z|>2, și ecuația va duce la infinit
– Numărul maxim de iterații, N, poate fi ales cât se dorește, de exemplu 100; cu cât N este mai mare, cu atât graficul va fi mai detaliat, dar va lua mai mult timp pentru a fi trasat.
De ce se începe cu z=0 ?
Zero este punctul critic a ecuației z^2+c, un punct unde d/dz (z^2+c) = 0. Dacă înlocuim z^2+c cu o altă funcție, valoarea de start va trebui să fie modificată. De ex. pentru z->z^2+z+c, punctul critic este dat de 2z+1, deci se va începe cu z=-1/2. Punctele critice sunt importante pentru că orice ciclu de atracție pentru o funcție polinomială sau rațională atrage cel puțin un punct de atracție. Deci testând punctele critice se arată dacă există orice ciclu de atracție stabil.
Care sunt marginile mulțimii ? Când diverg acestea ?
Mulțimea Mandelbrot se obține pentru valoare |z|<=2.
Daca |z| depășește 2, ecuația va diverge.
(daca |z|>2, atunci |z^2+c|>= |z^2|-|c|> 2|z|-|c|. Daca |z|>=|c|, atunci 2|z|-|c|> |z|; deci , daca |z|>2 si |z|>=c, |z^2+c|>|z|, astfel secvența crește)
Cum se realizează desenul?
Pentru a obține o imagine bidimensionala nu sunt dificultăți deoarece numerele complexe sunt bidimensionale. Ele constau din doua părți: una reală și una imaginară. Numerele complexe sunt desenate într-un sistem de coordonate cartezian, unde pe axa x este reprezentată partea reală a numărului, iar pe axa y partea imaginară a numărului. Aceasta se face atunci când se desenează mulțimea Mandelbrot. Desenăm numerele complexe într-un sistem de coordonate cartezian: daca c aparține mulțimii, desenăm punctul (în culoare neagră), la locația respectivă, în caz contrar nu (sau cu o altă culoare, în funcție de numărul de iterații).
Implementare
|
|
Rezultat: