Funkcija kompleksne varijable f(zn) promatra se u kompleksnoj ravnini čije su
osi (u, v). Ravnina prikaza (x,
y) je ravnina u kojoj prikazujemo promatranu
kompleksnu funkciju. Prevođenje iz sustava (O u v) u
sustav (O' x y) ovisi o promatranom području u pojedinim sustavima. Neka
je promatrano područje kompleksne funkcije zadano s umax,
u min, v max
i vmin. Područje sustava prikaza neka je
zadano s rezx i rezy
(Slika 10.1).
Slika 10.1. Ravnina kompleksne funkcije i
ravnina prikaza. |
Sustav prikaza je zaslon, pa su vrijednosti na x i y osi diskretne.
Koordinate točke u0 i v0 u kompleksnoj ravnini koje
odgovaraju vrijednostima x0
i y0 su:
(1)
Navedenim izrazima definirano je prevođenje iz jednog u
drugi sustav.
Neka je zadano iterativno preslikavanje:
, (2)
gdje je f(zn) na
primjer , a c je odabrana
točka kompleksne ravnine za koju ispitujemo konvergenciju generiranog niza. Za
ovako definirano iterativno preslikavanje možemo promatrati da li niz koji
generiramo (z0, z1, z2, ..) konvergira ili ne.
Uvjet zaustavljanja u programskoj implementaciji može biti različit. Jedan
primjer kriterija kojim ustanovljavamo da li niz konvergira je ocjena apsolutne
vrijednosti:
Ako iterativno preslikavanje zn+1 = f(z n) nakon n iteracija ne
zadovolji uvjet reći ćemo da niz
konvergira, a inače da divergira. Definirat ćemo “brzinu divergencije” brojem iteracija koje su potrebne da uvjet
bude zadovoljen.
Postupak se provodi tako da se za svaki slikovni element ravnine prikaza (x0,
y 0) odredi pripadna točka kompleksne
ravnine, te za nju ispita konvergencija pripadnog niza. Područje kompleksne
ravnine unutar kojega iterativno preslikavanje generira konvergentne nizove
naziva se Mandelbrot-ov
skup.
Za Julijev skup potrebno je odabrati (točku kompleksne
ravnine), a z0 je točka kompleksne ravnine za koju ispitujemo
konvergenciju niza. Ako se za
odabere točka unutar Mandelbrot-ovog skupa Julijev skup će biti povezan, a inače
nepovezan.
1. Učitati prag epsilon eps i maksimalan
broj iteracija m.
2. Učitati područje kompleksne ravnine koja se promatra (umin, umax),
(v min, vmax).
3. Pročitati razlučivost zaslona x
max, ymax.
4.
Za svaku točku zaslona x0,
y0:
a) odrediti u0,
v0 (prema formuli 1).
a)
Postaviti: k = -1, creal = u 0, cimag
= v 0 , z0 = 0.
b)
Činiti:
k = k + 1 ,
dok je ispunjen uvjet r
< eps i k < m :
5. Na mjestu x0,
y0 iscrtati slikovni element u boji k .
Primjer: eps=100, m=16, (umin, umax) = (-1.5, 0.5), (v
min, vmax)=(-1, 1)
Postupak je sličan prethodnom, a promjene su:
1. Dodatno učitati i kompleksnu konstantu .
a)
Postaviti: k = -1, zreal = u 0, zimag
= v 0.
Primjer: eps=100, m=16, (umin umax)=(-1 1), (v
min vmax)=(-1.2 1.2), (creal cimag)=(0.32
0.043).
Slika 1: Mandelbrotov i Julijev
fraktalni skup.