Hrvatski matematički elektronski časopis math.e | |
http://www.math.hr/~mathe/ |
Galerija fraktala
Vlatka Antončić, Andro Galinović
Pojam fraktala uveo je Benoit Mandelbrot 1970. godine. Fraktal ima svojstvo da svaki njegov dio sadrži istu strukturu kao i cijeli objekt, tj. uvećana slika dijela fraktala između bilo koje dvije točke bit će identična izgledu samog fraktala.
Neka je C skup kompleksnih brojeva.
Za zadanu funkciju f :
C
C , f n označava n-terostruku kompoziciju (f o f o ... o f).
Za z
C gledamo niz kompleksnih brojeva
z1 = f(z0),
z2 = f 2(z0) =
f(z1), z3 = f 3(z0) = f(z2), ... .
Taj niz zovemo orbita nelinearnog procesa
.
Skup zovemo "odbojni skup"
(engl. espace set) danog
procesa. To je skup svih onih početnih
z0 kojima su orbite neograničene.
Granica ovog skupa zove se "Juliaov skup"
danog procesa. Naziv je dobila u čast francuskog matematičara
Gastona Julia (čitaj Žuliá).
Za kvadratni proces pripadni Juliaov skup za svaki konkretni dani kompleksni broj c obilježavamo s Jc, dok odbojni skup obilježavamo s Ec.
Naprimjer, izračunajmo neke točke iz
odbojnog skupa Ec
i njegovog komplementa za c = -0.5
+ 0.5i
|
Orbita1 | Orbita
2 |
Orbita
3 |
x |
y |
x |
y |
x |
y |
|
z0 |
0.000 |
0.000 |
0.500 |
-0.250 |
-0.250 |
-0.500 |
z1 | -0.500 | 0.500 | -0.313 |
0.250 |
-0.688 |
0.250 |
z2 | -0.500 | 0.000 |
-0.465 |
0.344 |
-0.090 |
0.156 |
z3 | -0.250 |
-0.500 | -0.402 |
0.180 |
-0.516 |
0.472 |
z4 | -0.688 |
0.250 | -0.371 |
0.355 |
-0.456 |
0.013 |
z5 | -0.090 | 0.156 | -0.488 | 0.237 | -0.292 | 0.488 |
z100 | -0.473 |
0.291 |
-0.393 |
0.290 |
-0.438 |
0.217 |
z200 | -0.349 |
0.279 |
-0.411 |
0.271 |
-0.409 |
0.290 |
z300 | -0.411 | 0.273 |
-0.409 |
0.276 |
-0.407 |
0.272 |
z400 | -0.408 | 0.276 | -0.409 | 0.275 | -0.409 | 0.276 |
z500 | -0.409 | 0.275 | -0.409 | 0.275 | -0.409 | 0.275 |
Slika 1. Točke iz komplementa odbojnog
skupa za c = -0.5 + 0.5i
Slika
2. Juliaov skup za c=-0.5+0.5i |
Slika
3. Juliaov skup za c=-1 |
Slika
4. Juliaov skup za c=-0.049733-0.667582i |
Slika
5. Juliaov skup za c=-0.555468+0.494062i |
|
Mandelbrotov skup M, po definiciji,
sadrži sve kompleksne
brojeve c za koje je pripadni Juliaov
skup Jc kvadratnog procesa
povezan, odnosno: |
Slika
6. Mandelbrotov skup |
Može se dokazati da je skup Jc povezan
ako i samo ako je orbita početne točke
|
||
Slika 7. Povezani Juliaov skup | Slika 8. Nepovezani Juliaov skup |
Slika 9. | Slika 10.
|
Slika 11. | Slika 12. |
Slika 13. Cantorova prašina – konstrukcija
Neka je F Cantorov skup konstruiran kao presjek
zatvorenih skupova E0, E1, E2 , ... .
Skup E0 je interval [0, 1]. E1 se
dobiva iz E0
uklanjanjem srednje trećine (otvoreni skup (1/3, 2/3)), E2 se
dobiva iz E1 uklanjanjem srednjih trećina (otvorenih
skupova (1/9, 2/9) i (7/9, 8/9)) ... .
F sadrži beskonačan niz "unutrašnjih rubnih točkaka" od intervala
dobivenih u svakom koraku, odnosno .
Cantorov skup je neprebrojiv, odnosno ne postoji način numeracije svih
točaka od F. Preciznije vrijedi:
Ovaj važan skup uveo je njemački matematičar Georg Cantor.
Slika 14. Cantorova prašina
(gredice)
Primjer:
Neka je zadan trokut ABC. Slučajno biramo početnu točku x0 iz unutrašnjosti trokuta. Nasumično odaberemo jedan od vrhova trokuta ABC s oznakom random(ABC) te izaberemo još jednu točku unutar trokuta koja je na pola puta između x0 i random(ABC)... i tako dalje : xn+1 = (xn + random(ABC))/2.
Slika 15. Igra kaosa – početak
500 točaka | 1000 točaka | 1500 točaka |
Slika 16. Igra kaosa - međurezultati
Na sličan način možemo dobiti i razne druge oblike kao npr. grančicu.
|
|
||
500 točaka | 1000 točaka | 4000 točaka | krajnji rezultat |
Slika17. Igra kaosa – nastanak grančice
|
|
|
1 iteracija |
2 iteracija |
3 iteracija |
Slika 19. Pitagorino stablo -
konačan
rezultat |
Slika 20. Pitagorino drvo (gornji kut 120o,
lijevi kut 30o ) |
|
|
Slika 21. Pitagorino stablo (brokula) (gornji kut 90o, lijevi kut 30o ) |
Slika 22. Pitagorino stablo (brokula) (gornji kut 120o, lijevi kut 40o ) |
|
|
Slika 23. Kochova krivulja – nastanak | Slika 24. Kochova pahuljica – nastanak |
|
|
Slika 25. Zvjezdica | Slika
26. Vlak u snijegu |
Sierpinskijev trokut uveo je poljski matematičar Waclaw
Sierpinski.
Fraktalna dimenzija Sierpinskijevog trokuta iznosi
Slika 27. Sierpinskijev trokut – konstrukcija otkidanjem trokuta
Slika 28. Sierpinskijev trokut – konstrukcija krivuljama
|
Slika 29. Sierpinskijev trokut – konstrukcija krivuljama |
Program Galerija ULTIMATE (300KB) je pisan u programskom jeziku C# za čiji je rad potreban .NET framework koji se može naći na CD-ovima nekih informatičkih časopisa (npr. mrež@, BUG, VIDI, ... ) ili s adrese http://msdn.microsoft.com/netframework/technologyinfo/howtoget/default.aspx, treba "skinuti" "Microsoft .NET Framework 1.1 Redistributable".
Kao što je gore navedeno, program je pisan u programskom jeziku C# u MS Visual Studio .NET okruženju. Program se sastoji od niza razreda od kojih svaki sadrži implementaciju jednog ili jedne skupine algoritama za prikaz fraktala u ravnini. Klikom na sličicu fraktala na osnovnoj formi (strogo uređen prozor) stvara se (instancira) novi primjerak objekta dotičnog razreda zaduženog za prikaz željenog fraktala. Ovo svojstvo omogućava "otvaranje" više primjeraka istog prozora. Svi prozori omogućavaju skoro po volji skaliranje. Velik prozor će možda povećati užitak gledanja fraktala, ali će ujedno usporiti njihovo iscrtavanje.
Mandelbrotov i Juliaov skup se
iscrtavaju tako
da se svaka točka zaslona (dijela zaslona namijenjenog za prikaz slike
fraktala) preslika u kompleksnu ravninu u kojoj je definiran gore
naveden kvadratni proces, te numerički
ispituje "brzina konvergencije" niza kompleksnih brojeva z0, z1,
z2,
... . Ovisno o brzini konvergencije određuje se boja točke na zaslonu.
Za detaljnije upute o implementaciji pogledajte : http://www.zemris.fer.hr/predmeti/rg/labosi/vj9.htm.