Mandelbrotov skup
Tehničke napomene
- Zumiranje slike u okolini neke točke odvija se dolaskom miša na željenu poziciju i zatim se drži pritisnuta lijeva tipka miša.
- Odzumiranje slike u okolini neke točke odvija se dolaskom miša na željenu poziciju i zatim se drži pritisnuta desna tipka miša.
- Translatiranje slike obavlja se micanjem miša uz pritisnutu srednju tipku miša.
- Klikom na tipku Refresh možemo se brzo vratiti na početnu nezumiranu sliku.
- Zbog jednostruke preciznosti realnih brojeva u shaderu nakon određenog koraka zumiranje više nije moguće obaviti, slika postane previše zrnata. To možete primijetiti tako da pratite vrijednosti gornjih i donjih granica za
x
i y
koordinate na kojima je slika prikazana u canvas elementu. U samom javascript programu se koristi dvostruka preciznost, ali prilikom prosljeđivanja tih brojeva shaderu, oni se pretvaraju u jednostruku preciznost (pamti se svega približno 7 značajnih decimalnih znamenki).
- Uočite da se problem zrnate slike počinje lagano javljati kada se gornja i donja granica za
x
i y
koordinate podudaraju na prve 4 decimale jer operacije zbrajanja i množenja koje se obavljaju u fragment shaderu još dodatno povećavaju grešku, a to je sve zbog jednostruke preciznosti u shader programu.
- Možete odabrati između tri različita načina bojanja piksela. Svako bojanje daje određeni vizualni doživljaj prilikom zumiranja.
Nekoliko kratkih natuknica iz teorije
- Promatramo kompleksnu funkciju kompleksne varijable \(f:\mathbb{C}\to\mathbb{C},\ f(z)=z^2+c\).
- Za fiksni \(c\in\mathbb{C}\) promatramo niz kompleksnih brojeva zadan rekurzivno sa \(z_0=0,\ z_{n+1}=f(z_n)\).
- Mandelbrotov skup \(M\) sastoji se od svih brojeva \(c\in\mathbb{C}\) za koje pripadni niz kompleksnih brojeva ne divergira u beskonačno. Ukratko, za svaki \(c\in\mathbb{C}\) promatramo što se događa s orbitama od nule. Ako su orbite od nule omeđene, pripadni kompleksni broj \(c\) pripada Mandelbrotovom skupu.
- Mandelbrotov skup \(M\) je povezani skup, iako se zumiranjem slike to ne može naslutiti.
- Mandelbrotov skup je fraktal jer je kvazi samoslični skup, tj. sadrži male kopije sebe samog koje se pojavljuju u iskrivljenom obliku. Uvjerite se u to zumiranjem slike na različitim pozicijama.