Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Racunarska grafikaSinteticki model kamere
Vesna Marinkovic
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 1 / 35
Obnavljanje
Projektovanje – obnavljanje
1 Skicirati klasifikaciju 3D planarnih projekcija i za svaku podelu navestina osnovu cega se vrsi.
2 Koje paralelne prave se seku kod perspektivne projekcije? Kakozovemo tacku u kojoj se one seku i koliko moze biti takvih tacaka?
3 Kod koje projekcije je ravan projekcije upravna na koordinatnu osu:(a) ortografska projekcija (b) izometrijska projekcija (c) cavalierprojekcija?
4 Kod koje projekcije je ravan projekcije upravna na pravac projekcije:(a) aksonometrijska projekcija (b) ortografska projekcija (c) cabinetprojekcija?
5 Kod koje projekcije normala ravni projekcije zahvata jednak ugao sasve tri koordinatne ose? (a) kod aksonometrijske (b) kod izometrijske(c) kod trimetrijske projekcije
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 2 / 35
Sinteticki model kamere Osnovni pojmovi
Kamera i scena
Sta radi fotoaparat?
Prihvata na ulazu 3D scenuSmesta (tj. projektuje) scenu na 2D medijum, kao sto je filmska rolna(analogna fotografija) ili niz piksela (digitalna fotografija)
Sinteticka kamera (fotoaparat) je nacin na koji programer modelujeprojektovanje 3D scene na ekran nalik onom od strane fotoaparata
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 3 / 35
Sinteticki model kamere Osnovni pojmovi
Vidno polje
Covekovo vidno polje je 180◦
Bez perifernog vida oko 120◦
Racunarski monitor na ugodnoj distanci 25◦–30◦
Ekran telefona samo par stepeni
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 4 / 35
Sinteticki model kamere Osnovni pojmovi
Zapremina pogleda i oblast prikaza
Zapremina pogleda (eng. view volume) ogranicava deo 3D prostorakoji ce biti renderovan na slici
u slucaju oka je zarubljena kupau slucaju kamere aproksimiramo je zarubljenom piramidom
Oblast prikaza (eng. viewport) je pravougaona oblast ekrana u kojojse renderuje scena (u terminima koordinata ekrana)
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 5 / 35
Sinteticki model kamere Perspektivno projektovanje
Parametri kamere kod perspektivnog projektovanja
Pozicija kamere
Vektor pogleda i vektor nagore
Rastojanje prednje i zadnje ravni odsecanja
Vidno polje
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 6 / 35
Sinteticki model kamere Perspektivno projektovanje
Parametri kamere kod perspektivnog projektovanja
Pozicija kamere (tacka)
Vektor pogleda i vektor nagore (dva vektora)
Rastojanje prednje i zadnje ravni odsecanja (dva skalara)
Vidno polje (dva ugla)
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 7 / 35
Sinteticki model kamere Perspektivno projektovanje
Dodatni parametri realne kamere
Zizna daljina – rastojanje do tacaka koje su u fokusu
Dubina vidnog polja – koliko daleko ispred i iza zizne daljine suobjekti u fokusu
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 8 / 35
Sinteticki model kamere Perspektivno projektovanje
Pozicija kamere
Sinteticka kamera je nalik “tackastoj” (eng. pinhole) kameriTackasta kamera (camera obscura)
umesto sociva ima malu rupu kroz koju ulaze zraciravan slike je iza rupeslika scene je obrnuta
Sinteticka kamerapozicija kamere predstavlja centar projekcijekamera se nalazi iza ravni projektovanja u odnosu na objekat koji seprojektuje
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 9 / 35
Sinteticki model kamere Perspektivno projektovanje
Orijentacija kamere: vektor pogleda i vektor nagore
Vektor pogleda (look)
zadaje smer u kojem je kamera usmerenamoze biti proizvoljan vektor u 3D prostoru
Vektor nagore (up)određuje kako se kamera rotira oko vektora pogledavektor nagore ne sme biti kolinearan sa vektorom pogleda, ali ne morabiti upravan na vektor pogledaorijentacija kamere se utvrđuje jedinicnim vektorom v upravnim navektor pogleda u ravni određenoj vektorom pogleda i vektorom nagore
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 10 / 35
Sinteticki model kamere Perspektivno projektovanje
Uglovi vidnog polja
Uglovi vidnog polja opisuju do kog ugla gledano u odnosu na vektorpogleda, izrazeno u stepenima, kamera moze da vidi
Slika dobijena sintetickom kamerom moze biti:
kvadratna – potrebno je zadati samo jedan ugao vidnog poljapravougaona – potrebno je zadati posebno horizontalno, a posebnovertikalno vidno polje
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 11 / 35
Sinteticki model kamere Perspektivno projektovanje
Uglovi vidnog polja
Ponekad se zadaje horizontalno vidno polje i odnos sirine i visine(engl. aspect ratio) prozora prikaza (1:1, 4:3, 16:9)
Dobra praksa je da odnos sirine i visine bude isti za prozor pogleda ioblast prikaza da ne bi doslo do istezanja ili suzenja slike
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 12 / 35
Sinteticki model kamere Perspektivno projektovanje
Uglovi vidnog polja
Odabir ugla vidnog polja odgovara procesu kada fotograf bira tipsociva
Vidno polje određuje koji deo scene ce stati u zapreminu pogleda
Ovim parametrom se zadaje kolicina perspektivnog iskrivljenja na slici
nula – kod paralelne projekcijevelika vrednost (kod sirokougaonog objektiva)
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 13 / 35
Sinteticki model kamere Perspektivno projektovanje
Uglovi vidnog polja
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 14 / 35
Sinteticki model kamere Perspektivno projektovanje
Prednja i zadnja ravan odsecanja
Do sad smo definisali 4 zraka koja se pruzaju u beskonacnost i njimasu zadate strane tekuce zapremine pogledaPrednja i zadnja ravan odsecanja su paralelne ravni projektovanja izadaju se njihovim rastojanjem od pozicije kamereIsecaju zarubljenu cetvorostranu piramidu pogleda (engl. frustum)Objekti koji se nalaze u okviru ove oblasti bice prikazani na slici,objekti van ove oblasti nece, a za objekte koji presecaju strane oveoblasti radi se odsecanje
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 15 / 35
Sinteticki model kamere Perspektivno projektovanje
Prednja i zadnja ravan odsecanja
Razlozi za uvođenje prednje ravni odsecanjaNe zelimo da renderujemo objekte koji su preblizu kameri
blokiraju ostatak scene (primer: zrno prasine blizu oka)imali bi visok stepen iskrivljenja
Ne zelimo da renderujemo objekte iza kamere
ne ocekujemo da vidimo objekte iza kamerezbog perspektivnog preslikavanja bili bi okrenuti naopacke
Razlozi za uvođenje zadnje ravni odsecanjaNe zelimo da renderujemo objekte koji su predaleko od kamere
daleki objekti nisu vizuelno znacajni, a uzimaju vreme za renderovanjerazliciti delovi objekta se mogu preslikavati u jedan isti piksel
Potrebno je dobro postaviti ove dve ravni odsecanja (ni preblizu nipredaleko od kamere)
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 16 / 35
Sinteticki model kamere Perspektivno projektovanje
Prednja i zadnja ravan odsecanja u industriji igara
Problem: Dok se tokom igre pomeramo unapred udaljeni objekat seodjednom pojavljuje u pozadini
Resenje ranije: objekti u pozadini se renderuju koriscenjem pozadinskemagle i postepeno se pojavljuju prilikom prilaska objektu
Resenje danas: udaljeni objekti se renderuju sa manjim nivoomdetaljnosti
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 17 / 35
Sinteticki model kamere Paralelno projektovanje
Zapremina pogleda kod paralelnog projektovanja
Svi parametri sinteticke kamere su isti, jedino je umesto uglovavidnog polja potrebno zadati visinu i sirinu zapremine pogleda
Paralelna zapremina pogleda je paralelopiped (ne nuzno kvadar)
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 18 / 35
Sinteticki model kamere Paralelno projektovanje
Zapremina pogleda kod paralelnog projektovanja
Objekti se prikazuju u istoj velicini koliko god bili udaljeni od kamerejer su svi projektivni zraci međusobno paralelni
Skracenje je uniformno i zavisi od ugla koji zraci projekcije zahvatajusa ravni projekcije
Prednosti rada sa paralelnom zapreminom pogleda
jednostavnije odsecanjejednostavniji testovi vidljivostijednostavnije je projektovati 3D scenu u 2D ravan projekcije jer nemaperspektivnog skracenja
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 19 / 35
Sinteticki model kamere Paralelno projektovanje
Nacini modelovanja kamere
U opstem slucaju i kamera i objekti na sceni mogu se nezavisnotransformisati, tj. pomerati
U restriktivnijem modelu kamera ostaje fiksirana na jednoj poziciji –da bismo “transformisali kameru” potrebno je primeniti inverznetransformacije na objekte na sceni
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 20 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Izgradnja koordinatnog sistema kamere
Zadatak: na osnovu pozicije kamere, vektora pogleda i vektora nagoreizgraditi ortonormirani koordinatni sistem kamere uvw sakoordinatnim pocetkom u poziciji kamere, tako da vazi:
vektor pogleda lezi duz negativne w ose (w osa je uperena kaposmatracu)osa v se definise kao vektor upravan na vektor pogleda u ravnidefinisanoj vektorima pogleda i nagoreosa u je upravna na vektore v i w i dobija se pravilom desne ruke
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 21 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Izgradnja koordinatnog sistema kamere
Vektor nagore oznacicemo sa −→up, a vektor pogleda sa−−→look
−→w =−−−→look
||−−→look||
Vektor −→v konstruisemo na sledeci nacin:racunamo projekciju vektora −→up na ravan upravnu na vektor −→wnormiramo dobijeni vektor
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 22 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Izgradnja koordinatnog sistema kamere
−→w ′ = proj−→w
−→up,−→v ′ = −→up −
−→w ′,
−→w ′ = (−→up · −→w )−→w
−→v ′ = −→up − (−→up · −→w )−→w
−→v =
−→v ′
||−→v ′ ||
, −→u = −→v ×−→w
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 23 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Određivanje koordinata tacaka na zapremini pogleda
Izracunajmo koordinate tacaka A, B i C na zadnjoj ravni odsecanjaperspektivne zapremine pogleda
Neka je P pozicija kamere
A se nalazi u smeru vektora −−→w na rastojanju f od tacke P
−→PA = −f · −→w
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 24 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Određivanje koordinata tacaka na zapremini pogleda
AB je naspram polovine ugla horizontalnog vidnog polja Θh iz P i narastojanju je f od P, stoga vazi:
tanΘh
2=|AB|f
, Θh = HorizontalnoVidnoPoljeπ
180
|AB| = f · tanΘh
2|AC | se analogno formulise kao funkcija vertikalnog vidnog polja Θv
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 25 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Određivanje koordinata tacaka na zapremini pogleda
P = PozicijaKamere
A = P − f · −→wB = A + f · tan Θh
2−→u = P + f · tan Θh
2−→u − f · −→w
C = A + f · tan Θv2−→v = P + f · tan Θv
2−→v − f · −→w
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 26 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Standardna perspektivna zapremina pogleda
Standardna (kanonska) perspektivna zapremina pogleda je piramidakoja ima granice od -1 do 1 po x i y osi i od 0 do -1 po z osi
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 27 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Transformacija proizvoljne perspektivne zapremine pogledau standardnu perspektivnu zapreminu pogleda
Koristimo tacke P,A,B i C za transformisanje proizvoljneperspektivne zapremine pogleda u standardnu zapreminu pogleda:
P slikamo u koordinatni pocetak (0, 0, 0)A u (0, 0,−1)B u (1, 0,−1)C u (0, 1,−1)
Transformacijom proizvoljne u standardnu perspektivnu zapreminupogleda tacke zadnje ravni odsecanja transformisu se u ravan z = −1
Rastojanja duz zraka iz P do A transformisu se linearno te vazi:n : f = z : −1
Dakle tacke sa prednje ravni odsecanja transformisu se u ravanz = −n/fNa ovaj nacin sve sto se dalje radi je nezavisno od parametara kamere
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 28 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Standardna paralelna zapremina pogleda
Standardna (kanonska) paralelna zapremina pogleda je pravougaoniparalelopiped cije granice idu od -1 do 1 po x i y osi i od 0 do -1 po zosi
Prednja ravan odsecanja ima jednacinu z = 0, a zadnja ravanodsecanja z = −1
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 29 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Transformacija standardne perspektivne zapremine pogledau standardnu paralelnu zapreminu pogleda
Cilj: transformisati deo standardne perspektivne zapremine pogleda izmeđuprednje i zadnje ravni odsecanja (z = −n/f i z = −1) u standardnuparalelnu zapreminu pogleda
Koristimo projektivnu transformaciju u kojoj se zraci koji prolaze krozperspektivnu zapreminu pogleda ka koordinatnom pocetku transformisu uzrake koji prolaze kroz paralelnu zapreminu pogleda ka xy ravni u smeru zose i to njenog pozitivnog dela
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 30 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Transformacija standardne perspektivne zapremine pogledau standardnu paralelnu zapreminu pogleda
Perspektivno projektovanje pre date transformacije je oblika:(x , y , z)→ (x/z , y/z , 1)Paralelno projektovanje nakon date transformacije je oblika:(x , y , z)→ (x , y , 1)Finalni rezultat projektovanja na ova dva nacina je isti. Intuicija:
I tacka B i tacka B ′ su zaklonjene blizom ivicom kvadrata/trapezaProjekcija kvadrata u oba slucaja zauzima sredisnju polovinuProjekcioni zraci slikaju se u projekcione zrake
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 31 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Matrica transformacije standardne perspektivne zapreminepogleda u standardnu paralelnu zapreminu pogleda
Oznacimo sa c = −n/f z-koordinatu prednje ravni odsecanjastandardne perspektivne zapremine pogledaMatrica Mpp transformacije standardne perspektivne u standardnuparalelnu zapreminu pogleda u homogenim koordinatama ima oblik:
Mpp =
1 0 0 00 1 0 00 0 1/(1 + c) −c/(1 + c)0 0 −1 0
=
1 0 0 00 1 0 00 0 f /(f − n) n/(f − n)0 0 −1 0
S obzirom na to da cemo u nekom trenutku homogenizovatikoordinate, mozemo sve elemente matrice pomnoziti sa f − n:
Mpp =
f − n 0 0 0
0 f − n 0 00 0 f n0 0 −(f − n) 0
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 32 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Provera matrice transformacije
Razmotrimo gornje desno prednje teme zarubljene piramide koje imakoordinate (−c ,−c , c)
Mpp =
f − n 0 0 0
0 f − n 0 00 0 f n0 0 −(f − n) 0
·
−c−cc1
=
−c(f − n)−c(f − n)cf + n
−(f − n)c
Nakon homogenizacije dobija se:
11
cf +n−(f−n)c
1
=
1101
Dakle, slika gornjeg desnog prednjeg temena standardne perspektivnezapremine pogleda je gornje desno prednje teme standardne paralelnezapremine pogleda
Slicno vazi za ostala temena
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 33 / 35
Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara
kamere
Prednosti razmatranja standardnih zapremina pogleda
Umesto da se vrsi odsecanje svetskih koordinata u odnosu na proizvoljnuzapreminu pogleda kamere, svetske koordinate se transformisu u standardnuzapreminu pogleda u kojoj su odsecanja jednostavnija:
u odnosu na ravan z = −1u odnosu na jednostavne ravni oblika x = z , y = −z
Projekcija na ravan slike nije projekcija na proizvoljnu ravan u 3D prostoru,vec na ravan određenu standardnom paralelnom zapreminom pogleda, te jejedino potrebno zaboraviti z koordinatu
Nakon primene matrice Mpp, a pre homogenizacije vrsimo odsecanjeobjekata kod kojih je z < 0, jer s obzirom da vazi w < 0 on sehomogenizacijom transformise u objekat za koji vazi z > 0 i w = 1
Vesna Marinkovic Racunarska grafika Sinteticki model kamere 34 / 35