35
Raˇ cunarska grafika Sintetiˇ cki model kamere Vesna Marinkovi´ c Vesna Marinkovi´ c Raˇ cunarska grafika Sintetiˇ cki model kamere 1 / 35

Ra cunarska gra ka Sinteti cki model kamerepoincare.matf.bg.ac.rs/~vesnap/grafika/07_sinteticki_model_kamere.pdf · u slu caju oka je zarubljena kupa aproksimiramo je zarubljenom

  • 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

Sinteticki model kamereIzgradnja matrica transformacija na osnovu zadatih parametara

kamere

Graficka protocna obrada

Vesna Marinkovic Racunarska grafika Sinteticki model kamere 35 / 35