ra cunarska gra ka reprezentacija...
Post on 24-Mar-2021
1 Views
Preview:
TRANSCRIPT
Racunarska grafikaReprezentacija figura
Vesna Marinkovic
Vesna Marinkovic Racunarska grafika Reprezentacija figura 1 / 45
Obnavljanje
Sinteticki model kamere – obnavljanje
1 Kakav je odnos tackaste kamere i modela sinteticke kamere?
2 Navesti parametre sinteticke kamere kod perspektivnog i paralelnogprojektovanja.
3 Sta se zadaje vektorom pogleda, a sta vektorom nagore? Kakav jenjihov međusobni odnos?
4 Kakav je odnos uglova vidnog polja i stepena perspektivnogiskrivljenja na slici?
5 Zasto su nam potrebne prednja i zadnja ravan odsecanja?
Vesna Marinkovic Racunarska grafika Reprezentacija figura 2 / 45
Obnavljanje
Sinteticki model kamere – obnavljanje
6 Pokazati da se i na sledeci nacin dobija isti (u, v ,w) koordinatni
sistem kamere za zadati vektor pogleda i vektor nagore: −→w = −−−→look
|−−→look|
,
−→t = −→w ×−→vup, −→u =
−→t|−→t |
, −→v = −→u ×−→w .
7 Zasto se vrsi transformacija iz proizvoljne zapremine pogleda ustandardnu zapreminu pogleda?
8 Izvesti jednacinu prednje ravni odsecanja kod standardne perspektivnezapremine pogleda.
9 Zasto se vrsi transformacija iz perspektivne u paralelnu zapreminupogleda?
10 Iz kojih se koraka sastoji prevođenje 3D svetskih koordinata primitivau 2D koordinate uređaja za prikaz?
Vesna Marinkovic Racunarska grafika Reprezentacija figura 3 / 45
Reprezentacija figura Pojam mreze poligona
Poreklo mreze poligona
U prirodi se javljaju u mnogim kontekstima: molekuli, kristali, tkiva
Slozeni oblici opisani su kao kolekcije jednostavnih primitiva
Primitive su uglavnom konveksne, ali su iregularnog oblika
Vesna Marinkovic Racunarska grafika Reprezentacija figura 4 / 45
Reprezentacija figura Pojam mreze poligona
Primer: Shaw center, Otava
Vesna Marinkovic Racunarska grafika Reprezentacija figura 5 / 45
Reprezentacija figura Pojam mreze poligona
Mreze poligona
Mreza poligona je skup (najcesce velikog broja) poligona međusobnopovezanih ivicama koji formiraju povrsPrednosti ove reprezentacije:
(skoro) sve se moze predstaviti poligonimarenderovanje poligona je brzo i jednostavno (npr. paralelne pravezahvataju isti ugao sa svim tackama poligona)konacna reprezentacija
Ipak ovakva reprezentacija nije idealna:uvek predstavlja aproksimaciju zakrivljene povrsimoze biti veoma nestrukturirana
Vesna Marinkovic Racunarska grafika Reprezentacija figura 6 / 45
Reprezentacija figura Pojam mreze poligona
Mreza trouglova
U racunarskoj grafici najcesce se koriste mreze trouglova
Prednosti koriscenja mreza trouglova:
geometrija trougla je veoma jednostavnatrougao lezi uvek u ravni
Elementi mreze trouglova:
temenaivicetrougaone strane
Vesna Marinkovic Racunarska grafika Reprezentacija figura 7 / 45
Reprezentacija figura Pojam mreze poligona
Predstavljanje figura mrezom trouglova
Poliedre transformisemo u mreze trouglova podelom strana natrouglove
Figure koje ne mozemo tacno predstaviti mrezama trouglova,aproksimiramo utvrđivanjem lokacija velikog broja tacaka na figuri ipovezivanjem susednih tacaka
Vesna Marinkovic Racunarska grafika Reprezentacija figura 8 / 45
Reprezentacija figura Pojam mreze poligona
Mreze sa veoma velikim brojem poligona
Vesna Marinkovic Racunarska grafika Reprezentacija figura 9 / 45
Reprezentacija figura Pojam mreze poligona
Koju mrezu smatramo dobrom?
Jednakostranicni trougloviBroj suseda blizak broju 6
Ravnomerno vs. prilagodljivo uzorkovanje ...
Vesna Marinkovic Racunarska grafika Reprezentacija figura 10 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova
Jedna od najznacajnijih osobina mreze trouglova je homogenostOsnovne operacije nad mrezom trouglova su:
podelajedan trougao zamenjuje se sa nekoliko manjih trouglova, da bi semreza ucinila glatkijomuzastopne podele dovode do znacajnog povecanja broja trouglova
pojednostavljivanjemreza se zamenjuje drugom mrezom koja joj je slicna, ali imakompaktniju strukturustize se do jednostavnije reprezentacije iste povrsi
Vesna Marinkovic Racunarska grafika Reprezentacija figura 11 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova
Podela
Pojednostavljivanje i regularizacija
Vesna Marinkovic Racunarska grafika Reprezentacija figura 12 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova – sazimanje ivice
Jedna od standardnih operacija pojednostavljivanja mreze jesazimanje ivice
Ivica se sazima dok joj duzina ne postane 0
Vesna Marinkovic Racunarska grafika Reprezentacija figura 13 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova – sazimanje ivice
Prilikom stapanja dva temena treba izabrati lokaciju za novo teme
Lokacija novog temena zavisi od zeljenog cilja:
ako je cilj minimizovati racun, moze se zadrzati jedno od starih temenaako zelimo da ocuvamo oblik, moze se izabrati srediste duzi određeneovim temenimaako uprosecavanje pomera puno tacaka a to nije pozeljno, nova tackase moze izabrati tako da se minimizuje maksimalno rastojanje tacakastare mreze od nove tacke mreze
Vesna Marinkovic Racunarska grafika Reprezentacija figura 14 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova – zamena ivice
Desava se da se mreza deformise tako da pojedinacni trouglovipostanu dugacki i uski – imaju los “aspect ratio”Aspect ratio se moze definisati kao maksimalni odnos visine i sirinepravougaonika među svim pravougaonicima u kojima je objekatsadrzan i koji dodiruju sve 4 stranice objektaZelimo da iz mreze uklonimo trouglove sa velikom vrednoscu zaaspect ratio
Vesna Marinkovic Racunarska grafika Reprezentacija figura 15 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova – zamena ivice
Ulepsavanje mreze se sastoji u pokusaju da postignemo da se mrezasastoji od trouglova bliskih jednakostranicnim trouglovima
Zamena ivice transformise dva dugacka i uska trougla u dva skorojednakostranicna trougla
Vesna Marinkovic Racunarska grafika Reprezentacija figura 16 / 45
Reprezentacija figura Pojam mreze poligona
Operacije nad mrezom trouglova – ilustracija
Vesna Marinkovic Racunarska grafika Reprezentacija figura 17 / 45
Reprezentacija figura Reprezentacije mreze poligona
Strukture podataka za predstavljanje mreze
Mora biti prostorno efikasna
Ako je potrebno promeniti topologiju mreze potrebno je efikasnoodrediti:
sve cvorove povezane sa datim cvoromsve ivice/cvorove date stranesve strane/ivice oko datog cvoraobe strane/oba temena date ivicestranu sa datim temenima
Vesna Marinkovic Racunarska grafika Reprezentacija figura 18 / 45
Reprezentacija figura Reprezentacije mreze poligona
Razlicite reprezentacije mreze poligona
Eksplicitna reprezentacija
Reprezentacija poligona listom indeksa temena
Reprezentacija poligona listom indeksa ivica
Winged-edge reprezentacija
Lanci povezanih trouglova (triangle fan, triangle strip)
Dvostruko-povezane liste ivica (half-edge structure)
Vesna Marinkovic Racunarska grafika Reprezentacija figura 19 / 45
Reprezentacija figura Reprezentacije mreze poligona
Eksplicitna reprezentacija mreze poligona
Svaki poligon P sa n temena zadat je nizom svojih temena
P = ((x1, y1, z1), (x2, y2, z2), . . . , (xn, yn, zn))
Redosled temena odgovara obilasku temena poligona
Prostorno neefikasno za veci broj poligona, kada temena pripadajurazlicitim poligonima
Ne postoji eksplicitna informacija o zajednickim temenima/ivicama
Provera pripadnosti temena nekom drugom poligonu je skupa i mozebiti nepouzdana zbog greske zaokruzivanja
Prilikom iscrtavanja mreze poligona, svaka ivica se dva puta iscrtava
Vesna Marinkovic Racunarska grafika Reprezentacija figura 20 / 45
Reprezentacija figura Reprezentacije mreze poligona
Reprezentacija poligona listom indeksa temena
Svako teme zapisano je tacno jednom u listi temena
V = (V1,V2, . . . ,Vn) = ((x1, y1, z1), (x2, y2, z2), . . . , (xn, yn, zn))
Svaki poligon predstavljen je listom indeksa temena
P1 = (i , j , k , l ,m),P2 = (u, v ,w), . . .
Ova reprezentacija koristi manje memorijeIspitivanje da li dva poligona imaju zajednicko teme je jednostavnaNe postoji eksplicitna informacija o zajednickim temenima/ivicamaI u ovoj reprezentaciji svaka ivica se crta dva puta
V2
V1
V3
V4
P1P2
V = (V1,V2,V3,V4) = ((x1, y1, z1), . . . , (x4, y4, z4))
P1 = (1, 2, 4)
P2 = (4, 2, 3)
Vesna Marinkovic Racunarska grafika Reprezentacija figura 21 / 45
Reprezentacija figura Reprezentacije mreze poligona
Reprezentacija poligona listom indeksa ivica
Svako teme zapisano je tacno jednom u listi temena
V = (V1,V2, . . . ,Vn) = ((x1, y1, z1), (x2, y2, z2), . . . , (xn, yn, zn))
Svaki poligon predstavljen je listom indeksa ivica
P1 = (Ei ,Ej ,Ek ,El),P2 = (Eu,Ev ,Ew ), . . .
Svaka ivica zadata je spiskom temena i spiskom (jednog ili dva)poligona kojima pripada
E1 = (Vi ,Vj ,Pk , null),E2 = (Vu,Vv ,Pw ,Pz), . . .
Prilikom iscrtavanja mreze, svaka ivica crta se samo jednom
V2
V1
V3
V4
P1P2
E1
E2
E3
E4
E5
V = (V1,V2,V3,V4) = ((x1, y1, z1), . . . , (x4, y4, z4))
E1 = (V1,V2,P1, null)
E2 = (V2,V3,P2, null)
E3 = (V3,V4,P2, null)
E4 = (V4,V2,P1,P2)
E5 = (V4,V1,P1, null)
P1 = (E1,E4,E5)
P2 = (E2,E3,E4)
Vesna Marinkovic Racunarska grafika Reprezentacija figura 22 / 45
Reprezentacija figura Reprezentacije mreze poligona
Winged-edge struktura podataka
Pogodna je za predstavljanje mreza kod kojih strane nisu trougloviIvice se smatraju građanima prvog redaZa svaku ivicu cuvaju se informacije o:
dva temena koje ivica povezujedve strane kojima ivica pripadaprethodnoj i sledecoj ivici prilikom obilaska u pozitivnom smeru leve,odnosno desne strane kojoj ivica pripada
Za svako teme i za svaku stranu cuvaju se informacije o proizvoljnojivici koja im pripada
Vesna Marinkovic Racunarska grafika Reprezentacija figura 23 / 45
Reprezentacija figura Reprezentacije mreze poligona
Winged-edge struktura podataka
Ova reprezentacija omogucava efikasno izvrsavanje narednihoperacija:
za datu stranu f odrediti sva njena temena vza datu ivicu e odrediti obe njene susedne straneza dato teme v odrediti sve susedne ivice/strane
Vesna Marinkovic Racunarska grafika Reprezentacija figura 24 / 45
Reprezentacija figura 1D mreze
Pojam 1D mreze
Mreza u ravni, odnosno jednodimenziona (1D) mreza, sastoji se odkolekcije duzi u ravni
Elementi 1D mreze:temenaivice – duzi koje spajaju temena
1D mreza se moze zadati:tabelom temena, gde je za svako teme zadat njegov indeks i koordinatetabelom ivica, pri cemu je svaka ivica zadata (najcesce uređenim)parom indeksa temena
Vesna Marinkovic Racunarska grafika Reprezentacija figura 25 / 45
Reprezentacija figura 1D mreze
Geometrija vs. topologija mreze
Tabela temena opisuje geometriju mreze, a tabela ivica njenutopologijuMalom izmenom vrednosti u tabeli temena broj povezanihkomponenti se ne menjaDve nesusedne ivice mreze mogu se seci, ali se podesavanjemkoordinata temena ovakav presek moze izbeci
Vesna Marinkovic Racunarska grafika Reprezentacija figura 26 / 45
Reprezentacija figura 1D mreze
Geometrija vs. topologija mreze
Ista geometrija mreze, ali drugacija topologija
Ista topologija mreze, ali drugacija geometrija
Vesna Marinkovic Racunarska grafika Reprezentacija figura 27 / 45
Reprezentacija figura 1D mreze
Vrste 1D mreze
Najcesci slucaj je da svako teme pripada jednoj ili dvema ivicama
Postoje i mreze kod kojih temena pripadaju vecem broju ivica
Postoje i mreze kod kojih se dve ivice presecaju u tacki koja nepripada skupu temena
Mreze u kojima je svaka ivica predstavljena uređenim parom temenanazivamo orijentisanim mrezama, dok one kod kojih je ivicapredstavljena neuređenim parom nazivamo neorijentisanim mrezama
Vesna Marinkovic Racunarska grafika Reprezentacija figura 28 / 45
Reprezentacija figura 1D mreze
Granica 1D orijentisane mreze
Granica ivice (i , j) (od temena i do j) orijentisane mreze jednaka jej − iGranica 1D mreze jednaka je sumi granica ivica te mrezeGranica mreze sa slike ima vrednost
(v2 − v1) + (v3 − v2) + (v4 − v3) + (v5 − v4) + (v1 − v5)
+(v1 − v0) + (v2 − v0) + (v3 − v0) + (v4 − v0) + (v5 − v0)
= v1 + v2 + v3 + v4 + v5 − 5v0
Kada je vrednost granice nula, jednostavno je definisati unutrasnjost ispoljasnjost mreze i ovakvu mrezu nazivamo zatvorenom
Vesna Marinkovic Racunarska grafika Reprezentacija figura 29 / 45
Reprezentacija figura 1D mreze
1D mreza mnogostrukosti
1D mreza je mreza mnogostrukosti (manifold mesh) ako je stepensvakog temena 2
Vesna Marinkovic Racunarska grafika Reprezentacija figura 30 / 45
Reprezentacija figura 1D mreze
Reprezentacija 1D mreze
Pored tabele temena i liste ivica cesto se cuva i tabela susedstva
Tabela susedstva za svako teme sadrzi uređene ciklicne tabele ivicakoje se susticu u tom temenu
U ovakvoj reprezentaciji:
dodavanje novog temena je slozenosti O(1)dodavanje nove ivice je slozenosti O(e)brisanje ivice je slozenosti O(e)izdvajanje ivica koje su susedne nekom temenu je slozenosti O(1)određivanje oba temena date ivice je slozenosti O(1)
Tabele temena i ivica mozemo implementirati koriscenjem statickogniza sa tim da kad se i-ti element niza obrise, on se zamenjuje saposlednjim elementom niza i onda se iz niza brise poslednji element
Vesna Marinkovic Racunarska grafika Reprezentacija figura 31 / 45
Reprezentacija figura 2D mreze
Pojam 2D mreze
Mreza u 3D prostoru, odnosno dvodimenziona (2D) mreza, sastoji seod kolekcije trouglova u 3D prostoruElementi 2D mreze:
temenatrouglovi – strane mreze
Ivice su “građani drugog reda”: ako temena i , j i k formiraju trougao,tada mrezi pripadaju ivice (i , j), (j , k) i (k , i)
2D mreza ne moze imati ivicu koja “visi”, ali moze imati izolovanoteme
Vesna Marinkovic Racunarska grafika Reprezentacija figura 32 / 45
Reprezentacija figura 2D mreze
Reprezentacija 2D mreze
Pored tabele temena i tabele trouglova cesto se cuva i tabelasusedstva
Tabela susedstva za svako teme sadrzi (najcesce neuređenu) tabelususednih trouglova
U ovakvoj reprezentaciji:
dodavanje novog temena je slozenosti O(1)dodavanje novog trougla je slozenosti O(1)brisanje temena je sporo, brze je ukoliko cuvamo tabelu susedstvanije dozvoljeno dodavati novu ivicu u mrezuispitivanje da li je data duz ivica mreze je slozenosti O(T )
Vesna Marinkovic Racunarska grafika Reprezentacija figura 33 / 45
Reprezentacija figura 2D mreze
2D mreza mnogostrukosti
2D mreza je mreza mnogostrukosti ako se sve ivice i trouglovi susednitemenu v mogu poređati u ciklicnom poretku: t1, e1, t2, e2, . . . , tn, enbez ponavljanja tako da je ivica ei stranica trouglova ti i ti+1 (indeksise racunaju po modulu n)Za 2D mrezu mnogostrukosti vazi da svaka ivica pripada tacno dvemastranamaMreze mnogostrukosti mozemo cuvati u istoj strukturi podataka kao iobicne 2D mreze, jedino nisu dozvoljena dodavanja i brisanjatrouglova
Vesna Marinkovic Racunarska grafika Reprezentacija figura 34 / 45
Reprezentacija figura 2D mreze
Mnogostrukosti u topologiji
U topologiji za 1D mnogostrukosti vazi da svaka tacka ima okolinukoja izgleda kao segment prave
U topologiji za 2D mnogostrukosti vazi da svaka tacka ima okolinukoja izgleda kao disk
Vesna Marinkovic Racunarska grafika Reprezentacija figura 35 / 45
Reprezentacija figura 2D mreze
Primeri 2D mreza mnogostrukosti
Vesna Marinkovic Racunarska grafika Reprezentacija figura 36 / 45
Reprezentacija figura 2D mreze
Primeri 2D mreza koje nisu mreze mnogostrukosti
Vesna Marinkovic Racunarska grafika Reprezentacija figura 37 / 45
Reprezentacija figura 2D mreze
Orijentacija trouglova u mrezi
Trouglove u mrezi orijentisemo tako sto za temena trougla i , j i kracunamo vektor normale ravni kojoj pripada taj trougao(j − i)× (k − i)
Ako dva susedna trougla imaju konzistentno orijentisane vektorenormala, onda ce se ivica koju dele javiti kao (i , j) u jednom trouglu,a kao (j , i) u drugom
Vesna Marinkovic Racunarska grafika Reprezentacija figura 38 / 45
Reprezentacija figura 2D mreze
Mreze mnogostrukosti sa granicom
Dozvoljavamo da se unutar mreze mnogostrukosti javi granicno temei granicna ivica
Za granicno teme vazi da ivice i strane kojima to teme pripada neobrazuju ciklus, vec lanac
Za prvi i poslednji trougao u ovom lancu vazi da se ivice koje sugranicne ne sadrze ni u jednom drugom trouglu osim u ovimDakle, za mreze mnogostrukosti sa granicom vazi:
svaka ivica je sadrzana u jednom ili dva trouglasvako teme je sadrzano u jednom lancu trouglova povezanih stranicama
Vesna Marinkovic Racunarska grafika Reprezentacija figura 39 / 45
Reprezentacija figura 2D mreze
Granica 2D mreze
Granica orijentisanog trougla sa temenima i , j i k u 2D mrezi jednakaje sumi ivica (i , j) + (j , k) + (k , i)
Granica 2D mreze jednaka je sumi granica njenih trouglova
Za orijentisane mreze mnogostrukosti vrednost granice je 0
Za orijentisane mreze mnogostrukosti sa granicom, granica ce sesastojati od tacno onih ivica koje smo identifikovali kao granicne
Orijentisanu mrezu mnogostrukosti bez granicnih ivica nazivamo izatvorenom
Vesna Marinkovic Racunarska grafika Reprezentacija figura 40 / 45
Reprezentacija figura 2D mreze
Ojlerova formula
Za proveru da li je zatvorena povrs dobro definisana koristi seOjlerova formula
Ojlerova formula za povrs koja nema “rupa” glasi
V − E + F = 2
gde je V broj temena, E broj ivica, a F broj strana povrsi
Ukoliko povrs ima G “rupa” formula glasi
V − E + F = 2− 2G
Vesna Marinkovic Racunarska grafika Reprezentacija figura 41 / 45
Reprezentacija figura 2D mreze
Ojlerova formula za mrezu trouglova
Pretpostavimo da je mreza trouglova zatvorena i da svako temepripada nekom trouglu
S obzirom na to da svaki trougao ima tri ivice i svaku ivicu dele dvatrougla, broj ivica je E = 3/2T
Ojlerova formula za mrezu trouglova glasi:
V − 1/2T = 2− 2G
gde je sa T oznacen broj trouglova
Vesna Marinkovic Racunarska grafika Reprezentacija figura 42 / 45
Reprezentacija figura 2D mreze
Memorijski zahtevi za predstavljanje mreze trouglova
Za mreze koje predstavljaju zatvorene povrsi vazi:V − 1/2T = 2− 2G
Za povrsi sa malim brojem rupa koje su predstavljene velikimmrezama vrednosti sa desne strane znaka jednakosti su zanemarljive
Dakle, broj trouglova priblizno je jednak dvostrukom broju temena
Vazi odnos: T : E : V = 2 : 3 : 1
Pretpostavimo da i cele i realne brojeve predstavljamo sa po 4 bajta
Za reprezentaciju mreze koriscenjem tabele temena i tabele trouglova,potrebno je 12V + 12T ≈ 18T bajtova
Za winged-edge reprezentaciju svako teme zauzima 16 bajtova, svakastrana 4 bajta, a ivica 32 bajta (4 reference na ivice, 2 reference nastrane, 2 reference na temena)
Pod pretpostavkom trouglastih strana, za winged-edge reprezentacijupotrebno je 16V + 32E + 4T ≈ 8T + 323
2T + 4T = 60T bajtova
Vesna Marinkovic Racunarska grafika Reprezentacija figura 43 / 45
Reprezentacija figura Reprezentacija objekata kretanjem
Reprezentacija objekata kretanjem
Razmotrimo situaciju kada se temena krecu
Pracenjem putanje tacke koja se pravolinijski krece dobija se duz(dodata je prva dimenzija objekta)
Pracenjem putanje temena duzi koja se krece upravno na sebe dobijase pravougaonik (dodata je druga dimenzija objekta)
Pracenjem putanje temena pravougaonika koji se krece upravno nasebe dobija se kvadar (dodata je treca dimenzija objekta)
Pracenjem putanja tacke koja se nalazi na fiksiranom rastojanju odcentalne tacke dobija se krug
Vesna Marinkovic Racunarska grafika Reprezentacija figura 44 / 45
Reprezentacija figura Reprezentacija objekata kretanjem
Reprezentacija objekata kretanjem
Kretanje nekog objekta duz neke putanje u prostoru određuje teloNajjednostavnija tela ove vrste su definisana 2D oblascu koja se kreceduz linearne putanje upravne na ravan oblasti – to su translaciona telaTela dobijena rotacijom 2D oblasti oko ose nazivaju se rotaciona tela
Prosirenja ove reprezentacije dozvoljavaju da se objekat koji se kreceskalira tokom kretanja (i slicna uopstenja)
Vesna Marinkovic Racunarska grafika Reprezentacija figura 45 / 45
top related