Julia skupovi
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.
- Pomoću slidera možete birati \(c\in\mathbb{C}\) za vizualizaciju Julia skupa \(J_c\). Kompleksni broj \(c\) je zapisan u trigonometrijskom obliku \(c=r(\cos{\varphi}+i\sin{\varphi}).\)
- Nakon klika na odgovarajući slider, pomoću lijeve i desne strelice na tastaturi možete lakše namjestiti određene vrijednosti od \(r\) ili \(\varphi\). Također, na taj način možete dobiti sporije i finije promjene na samoj slici.
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}\) Julija skup \(J_c\) sastoji se od svih kompleksnih brojeva \(z\in\mathbb{C}\) čije su orbite pod djelovanjem funkcije \(f\) omeđene.
- Julija skup \(J_c\) je povezani skup jedino ako je \(c\in M\) pri čemu je \(M\) Mandelbrotov skup.