trudio sam se da sve 'magične brojeve' - tipa veličina stepa - deklarišem na početku koda, da se kasnije ne bi izgubili
nacrtaj.m: učitava niz zrakova (intenzitet, polozaj, kvector) iz input.txt i pokreće zrak() dok god se svi zraci ne izsimuliraju
zrak.m: za jedan zrak, simulira i plotuje njegovu putanju, i vraća dva nova zraka kada se zrak prelomi/odbije
propagate.m: uzima parametre zraka, simulira jedan korak zraka runge-kutom 4, i vraća novu trojku
setup.m: samo iscrtava krugove kao granice na kojima se menja indeks prelamanja
permittivity_old.m: stara funkcija koja vraća dielektričnu i dijamagnetnu permitivnost (ako se tako kaže uopšte, uvek zaboravim), 99% nam više neće trebati
permittivity.m: ovako se ranije zvala funkcija, pa ova samo preusmerava na permittivity_sigmoid.m jer me je mrzelo da menjam svaki poziv u kodu
permittivity_sigmoid.m: funkcija za permitivnost koja na granicama između oblasti vraća sigmoidnu funkciju, da bi se lepše izintegralilo
test_numerika: samo plotuje kako zavisi kosinus refraktovanog od y pozicije sa koje se pušta zrak, i kakvu zavisnost predviđa Snelov zakon
Optimizacija.m: ne znam šta radi, trebalo bi da bude interfejs za korišćenje fmincon()
TO-DO: 1)Dinamički step (bitno je zbog vremena izvršavanja simulacije) 2)Iskucati fju koja poziva zrak() 20tak puta, i sabira intenzitet koji izlazi (računa efikasnost) 3)Pustiti simulaciju :)
Spisak parametara: 1)tolerance 2)min_step 3)