Top Banner
Raˇ cunarska grafika Geometrijske osnove – nastavak Vesna Marinkovi´ c Vesna Marinkovi´ c Raˇ cunarska grafika Geometrijske osnove – nastavak 1 / 36
36

Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Oct 19, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Racunarska grafikaGeometrijske osnove – nastavak

Vesna Marinkovic

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 1 / 36

Page 2: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Obnavljanje

Cyrus-Backov algoritam za seckanje duzi – obnavljanje

1 Na kakve kliping regione se moze primeniti Cyrus-Backov algoritam?

2 Da bi se tacka preseka klasifikovala kao potencijalno ulazna/izlaznarazmatra se odnos koja dva vektora?

3 Kako se određuje koja od dobijenih vrednosti za t predstavljapocetak, a koja kraj preseka duzi sa kliping regionom?

4 Koje je vremenske slozenosti Cyrus-Backov algoritam?

5 Na kakve kliping regione se moze primeniti Liang-Barsky algoritam?

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 2 / 36

Page 3: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Obnavljanje

Geometrijske osnove – obnavljanje

6 Kako se moze jednostavno utvrditi da li duz P0P1 sece ravan datujednacinom Ax + By + Cz + D = 0?

7 Kako bi se mogla izvesti matrica refleksije u ravni u odnosu na y osunjenim delovanjem na vektore standardne baze?

8 Iz kog razloga se prelazi na rad sa homogenim koordinatama? Navestibar dve razlicite reprezentacije Dekartovske tacke (−3, 2) homogenimkoordinatama.

9 Koja je transformacija inverzna smicanju za faktor a po x osi?

10 Odrediti matricu skaliranja za faktor 5 po obe ose u odnosu na tackusa koordinatama (1,−2). Odrediti matricu njoj inverznetransformacije.

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 3 / 36

Page 4: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 2D transformacije

Efikasnost izracunavanja

Umesto da za svaku tacku primenjujemo mnozenje nizom matrica,racunamo matricu kompozicije

Pokusavamo da iskoristimo specificnu formu matrice kompozicije

Cesto su matrice transformacije u ravni oblika: a b txc d ty0 0 1

pa je umesto mnozenja matrica i rada sa homogenim koordinatamadovoljno koristiti jednakosti:

x ′ = x · a + y · b + tx

y ′ = x · c + y · d + ty

Za transformacije slozenih objekata u realnom vremenu potrebno jevoditi racuna o svakom mnozenju!

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 4 / 36

Page 5: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 2D transformacije

Efikasnost izracunavanja – primer

Formule rotacije u ravni oko koordinatnog pocetka:

x ′ = x · cosϕ− y · sinϕ

y ′ = x · sinϕ+ y · cosϕ

cosϕ se moze aproksimirati vrednoscu 1 ako je ugao ϕ mali:

x ′ = x − y · sinϕ

y ′ = x sinϕ+ y

Da bi se smanjilo nagomilavanje greske, bolje je u drugoj jednakostikoristiti x ′ umesto x :

y ′ = x ′ sinϕ+ y = (x − y · sinϕ) sinϕ+ y = x sinϕ+ y(1− sin2 ϕ)

jer je determinanta ove 2× 2 matrice jednaka 1.

Isplati se uloziti dodatni trud i analizirati dobijenu matricutransformacije; slicno bi vazilo i u 3D prostoru

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 5 / 36

Page 6: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Izometrijske i afine transformacije

Izometrijske transformacije

Matrica je ortogonalna ako vektori koji cine njene kolone predstavljajuortonormiranu bazu:

intenzitet svake kolone jednak je 1skalarni proizvod svake dve kolone jednak je 0

Analogno vazi i za vrste ortogonalne matrice

Izometrijskoj transformaciji odgovara matrica oblika: a b txc d ty0 0 1

gde je njena gornja leva podmatrica 2× 2 ortogonalna, tj. vazi:

a2 + c2 = 1b2 + d2 = 1ab + cd = 0

I obratno, ovakvim matricama odgovaraju izometrijske transformacije

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 6 / 36

Page 7: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Izometrijske i afine transformacije

Izometrijske transformacije – svojstva

Izometrijske transformacije cuvaju uglove i duzine (ponekad se zovu irigid-body transformacije)

U izometrijske transformacije spadaju rotacija, translacija, simetrije(centralna, osna)

Kompozicija dve izometrijske transformacije je izometrijskatransformacija

Proizvoljni niz rotacija/translacija predstavlja izometrijskutransformaciju

Inverzna transformacija izometrijske transformacije je izometrijskatransformacija

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 7 / 36

Page 8: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Izometrijske i afine transformacije

Direktne i indirektne izometrijske transformacije

Izometrijska transformacija ravni je direktna ako cuva orijentacijuravni, tj. svaki trougao te ravni preslikava u trougao iste orijentacije

Izometrijska transformacija ravni je indirektna ako svaki trougao teravni preslikava u trougao suprotne orijentacije

Za utvrđivanje da li je izometrijska transformacija direktna iliindirektna dovoljno je izvrsiti proveru za jedan trougao

Rotacija i translacija spadaju u direktne izometrijske transformacije, aosna refleksija u indirektne

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 8 / 36

Page 9: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Izometrijske i afine transformacije

Afine transformacije

Afine transformacije cuvaju kolinearnost, odnose rastojanja izmeđukolinearnih tacaka i paralelnost, ali ne cuvaju nuzno uglove i duzine

U afine transformacije spadaju translacija, rotacija, skaliranje,smicanje

Translacija i rotacija su i izometrijske, a skaliranje i smicanje nisu

Proizvoljni niz rotacija/translacija/skaliranja/smicanja je afinatransformacija

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 9 / 36

Page 10: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Izometrijske i afine transformacije

Predstavljanje afine transformacije

Rotacija, skaliranje i smicanje su linearne transformacije (i mogu seopisati 2× 2 matricama)

S obzirom na to da se matrica afinih transformacija moze zapisati kao: a b txc d ty0 0 1

=

[T ∗ t∗

0 1

]vazi da se svaka afina transformacija u ravni moze predstaviti kaokompozicija jedne linearne transformacije i jedne translacije:[

x ′

y ′

]= T ∗

[xy

]+ t∗

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 10 / 36

Page 11: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Preslikavanje slike u prozor

Problem preslikavanja slike u prozor

Jedan od standardnih zadataka u racunarskoj grafici je preslikati figuru izjednog koordinatnog sistema u drugi

Primer: preslikati sliku iz nekog koordinatnog sistema u prozor ekrana

Preslikavamo sadrzaj pravougaonika sa levim donjim temenom (xmin, ymin) igornjim desnim temenom (xmax , ymax) u koordinatnom sistemu (x , y) upravougaonik sa levim donjim temenom (umin, vmin) i gornjim desnimtemenom (umax , vmax) u koordinatnom sistemu (u, v)

x

y

x

y

u

v

u

v

translacija Tx skaliranje Sxy translacija Tu

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 11 / 36

Page 12: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Preslikavanje slike u prozor

Reenje problema preslikavanja slike u prozor

Primenjujemo translaciju koja tacku (xmin, ymin) preslikava u (0, 0):

Tx =

1 0 −xmin

0 1 −ymin

0 0 1

Primenjujemo skaliranje u odnosu na (0, 0) koje tacku (xmax , ymax) preslikava utacku (umax , vmax):

Sxu =

umax−uminxmax−xmin

0 0

0 vmax−vminymax−ymin

0

0 0 1

Primenjujemo translaciju koja (0, 0) preslikava u tacku (umin, vmin):

Tu =

1 0 umin

0 1 vmin

0 0 1

Mxu = TuSxuTx

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 12 / 36

Page 13: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Homogene koordinate za 3D prostor

Tacka 3D prostora predstavlja se cetvorkom (x , y , z ,W )

Dve cetvorke predstavljaju istu tacku ako i samo ako je jedna cetvorkaumnozak druge

Cetvorka (0, 0, 0, 0) nije dozvoljena

Standardna reprezentacija za tacku (x , y , z ,W ), W 6= 0, je(x/W , y/W , z/W , 1), a postupak svođenja na standardnureprezentaciju zovemo homogenizacija

Skupu svih trojki kojima odgovara jedna homogena tacka odgovaraprava u 4-dimenzionom prostoru jer sve tacke oblika (tx , ty , tz , tW )(t 6= 0) pripadaju jednoj pravoj 4D prostora

Transformacije su predstavljene matricama dimenzije 4x4

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 13 / 36

Page 14: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Translacija u 3D prostoru

Matrica translacije:x ′

y ′

z ′

1

=

1 0 0 tx0 1 0 ty0 0 1 tz0 0 0 1

·

xyz1

Kompozicija dve translacije je translacija

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 14 / 36

Page 15: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Rotacija u 3D prostoru

U 2D prostoru (ravni) postoji samo rotacija oko tacke

U 3D prostoru se objekat moze rotirati oko proizvoljne prave

Svaka rotacija u 3D moze se predstaviti kao kompozicija tri rotacije:

oko x ose u yz ravni za ugao ϕ1

oko y ose u xz ravni za ugao ϕ2

oko z ose u xy ravni za ugao ϕ3

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 15 / 36

Page 16: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Rotacije oko koordinatnih osa

Rotacija oko z ose:

x ′

y ′

z ′

1

=

cosϕ − sinϕ 0 0sinϕ cosϕ 0 0

0 0 1 00 0 0 1

·

xyz1

Rotacija oko x ose:

x ′

y ′

z ′

1

=

1 0 0 00 cosϕ − sinϕ 00 sinϕ cosϕ 00 0 0 1

·

xyz1

Rotacija oko y ose:

x ′

y ′

z ′

1

=

cosϕ 0 sinϕ 0

0 1 0 0− sinϕ 0 cosϕ 0

0 0 0 1

·

xyz1

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 16 / 36

Page 17: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Rotacije oko proizvoljne ose

Da bismo dobili matricu rotacije oko proizvoljne ose, mozemoiskombinovati matrice transformacije oko koordinatnih osa

Za datu osu u i zadati ugao Ψ, racunanje ova tri ugla za koja trebavrsiti rotaciju nije jednostavno

Problem pojednostavljujemo preslikavanjem ose u na jednu odkoordinatnih osa

1 određujemo ugao Θ za koji treba rotirati osu u oko y ose da bi dosla uravan xy ,

2 određujemo ugao Φ za koji treba rotirati oko z ose da bi se onaporavnala sa x osom,

3 vektor u je poravnat sa x osom te treba izvrsiti rotaciju objekta zaugao Ψ oko x ose,

4 izvodimo inverzne transformacije transformacijama poravnanja(rotacijama)

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 17 / 36

Page 18: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Skaliranje u 3D prostoru

Matrica skaliranja u odnosu na koordinatni pocetak:x ′

y ′

z ′

1

=

sx 0 0 00 sy 0 00 0 sz 00 0 0 1

·

xyz1

Kompozicija dva skaliranja u odnosu na koordinatni pocetak jeskaliranje

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 18 / 36

Page 19: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Smicanje u 3D prostoru

U 3D prostoru smicanje podrazumeva iskosenje objekta u smeruparalelnom nekoj koordinatnoj ravni

Matrica smicanja:

1 shxy shxz 0

shyx 1 shyz 0shzx shzy 1 0

0 0 0 1

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 19 / 36

Page 20: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Smicanje u 3D prostoru

Razmotrimo smicanje kocke u smeru koordinatne ravni Oxy : stranakocke koja lezi u Oxy ravni se ne menja, dok se strana koja lezi uravni z = 1 translira za vektor (a, b)

Koordinatni pocetak i jedinicni vektori u smeru x i y koordinatne osese ne menjaju

Matrica smicanja u smeru Oxy ravni:1 0 a 00 1 b 00 0 1 00 0 0 1

Korisne su za generisanje perspektivnih projekcija (na primer, kakonacrtati 3D kocku na 2D ekranu)

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 20 / 36

Page 21: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Kompozicije transformacija u 3D

Svakoj kompoziciji rotacija, skaliranja, translacija i smicanja u 3Dodgovara matrica oblika:

r11 r12 r13 txr21 r22 r23 tyr31 r32 r33 tz0 0 0 1

=

[R∗ t∗

0 1

]=

gde matrica R∗ opisuje kombinovani efekat rotacija, skaliranja ismicanja, a t∗ vektor koji opisuje kombinovani efekat svih translacija

Umesto koriscenja mnozenja matricom 4× 4, moze se koristitiefikasnije izracunavanje: x ′

y ′

z ′

= R∗

xyz

+ t∗

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 21 / 36

Page 22: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje trojke tacaka u njoj podudarnu trojku

Zadatak: odrediti transformaciju koja preslikava trojku tacaka(P1,P2,P3) u podudarnu trojku tacaka (P ′1,P

′2,P

′3), tako da vazi:

P ′1 je koordinatni pocetak,

duz P ′1P

′2 pripada pozitivnom delu z ose,

duz P ′1P

′3 lezi u delu Oyz ravni u kome je pozitivna vrednost y

koordinate

Ukoliko su tri zadate tacke nekolinearne postoji tacno jedna takvadirektna izometrija

zx

y

P1

P3

P2

zx

y

P1′P3′

P2′

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 22 / 36

Page 23: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje trojke tacaka u njoj podudarnu trojku

Dva pristupa resavanju ovog problema:

kombinovanjem primitivnih rotacija i translacijaneposrednim određivanjem koeficijenata matrice transformacije (koristese svojstva ortogonalnih matrica)

Prvi pristup prati ideju da tezak problem izdelimo na jednostavnijepotprobleme

Zeljena transformacija se moze izvesti u cetiri koraka:

1 translirati P1 u koordinatni pocetak;2 rotirati oko y ose tako da P1P2 pripada (y , z) ravni,3 rotirati oko x ose tako da P1P2 pripada z osi,4 rotirati oko z ose tako da P1P3 pripada (y , z) ravni

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 23 / 36

Page 24: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje trojke tacaka u njoj podudarnu trojku, prvarotacija

Rotacija oko y ose: projekcija duzi P ′1P′2 koja je duzine D1 se obara u

ravan yz

Ugao za koji se vrsi rotacije jednak je −(90o −Θ) = Θ− 90o

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 24 / 36

Page 25: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje trojke tacaka u njoj podudarnu trojku, drugarotacija

Rotacija oko x ose: P ′′1P′′2 se rotira u z osu za pozitivan ugao Φ; D2

je duzina duzi

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 25 / 36

Page 26: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje trojke tacaka u njoj podudarnu trojku, trecarotacija

Rotacija oko z ose: projekcija duzi P ′′′1 P ′′′3 cija je duzina D3 se rotiraza pozitivni ugao α u y osu, dovodeci time samu duz u ravan Oyz

Rezultujuca matrica je oblika:T = Rz(α) · Rx(Φ) · Ry (Θ− 90) · T (−x1,−y1,−z1)

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 26 / 36

Page 27: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove 3D transformacije

Preslikavanje tacaka, pravih i ravni

Matrice transformacija određuju slike pojedinacnih tacaka

Slika prave:

prava određena slikama dve tacke originalne prave

Slika ravni:

ravan određena slikama tri nekolinearne tacke originalne ravnimoze se odrediti i koristeci vektor normale

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 27 / 36

Page 28: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Promena koordinatnog sistema

Transformacije kao promena koordinatnog sistema

Do sada su transformacije koriscene za preslikavanje skupa tacakajednog koordinatnog sistema u isti taj koordinatni sistem – objekat jetransformisan, a koordinatni sistem je ostao isti

Istu transformaciju mozemo opisati kao promenu koordinatnogsistema – objekat se ne transformise, vec se racunaju njegovekoordinate u novom koordinatnom sistemu

Prvi pristup je pogodniji kada se objekat krece; drugi kada viseobjekata u svojim pojedinacnim koordinatnim sistemima trebaobjediniti u jedinstven koordinatni sistem

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 28 / 36

Page 29: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Promena koordinatnog sistema

Primer promene koordinatnog sistema

Tricikl je opisan u jednom koordinatnom sistemu i zelimo da odredimokoordinate jedne tacke na prednjem tocku dok se okrece

Menjamo koordinatni sistem tocka (biramo onaj u kojem je centartocka koordinatni pocetak i u kojem je osa tocka jednaka z osi) i unjemu racunamo nove koordinate tacke

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 29 / 36

Page 30: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Promena koordinatnog sistema

Transformacije kao promena koordinatnog sistema

Za promenu koordinatnog sistema mogu se koristiti iste tehnike kao iza transformacije

Mi←j – matrica transformacije koja prevodi koordinatni sistem j ukoordinatni sistem i

P(i) – reprezentacija tacke P u koordinatnom sistemu i , P(j) usistemu j i P(k) u sistemu k

Vazi:P(i) = Mi←jP

(j) = Mi←jMj←kP(k) = Mi←kP

(k)

iMi←jMj←k = Mi←k

Iz poslednje jednakosti sledi vazno svojstvo: za proizvoljnu promenukoordinatnog sistema dovoljno je imati opis svođenja iz razlicitihsistema na jedan sistem

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 30 / 36

Page 31: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Promena koordinatnog sistema

Transformacije kao promena koordinatnog sistema

M1←2 = T (4, 2)

M2←3 = T (2, 3) · S(0.5, 0.5)

M3←4 = T (6.7, 1.8) · R(45o)

Iz prethodnog vazi: M1←3 = T (4, 2) · T (2, 3) · S(0.5, 0.5)

Matrice Mi←j imaju isti oblik kao i matrice transformacija

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 31 / 36

Page 32: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Graf scene

Graf scene

Objekti su najcesce sacinjeni od komponenti

Graf scene se sastoji iz:

cvorova objekata (kocke, valjci, lopte, . . .) koji su podrazumevanojedinicne velicine i pozicionirani u koordinatnom pocetku,cvorova atributa (boja, tekstura, . . .),cvorova transformacija

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 32 / 36

Page 33: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Graf scene

Format grafa scene

Da bismo pojednostavili format grafa scene pretpostavljamo:

atributi se cuvaju kao komponente cvorova,cvor transformacije deluje na svoje podstablo,graficki elementi se nalaze iskljucivo u listovima,cvor koji nije list niti cvor transformacije je cvor grupisanja

Transformacije se mogu primeniti:

na listove (glava, osnova,. . .)na grupe objekata (gornji i donji deo tela)

Umesto da za svaki novi objekat koji je potreban pravimo novuprimitivu, mozemo primeniti transformaciju na manji skup primitiva

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 33 / 36

Page 34: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Graf scene

Primer grafa scene

Kumulativna matrica transformacije se gradi kako se penjemo uzstablo – transformacije na visem nivou se dodaju na pocetak niza

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 34 / 36

Page 35: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Graf scene

Definisanje grupa u grafu scene

Moguce je ponovo iskoristiti vec definisane grupe objekata (akoimamo vise slicnih komponenti u sceni)

Transformacije definisane u okviru grupe g3 se ne menjaju

Razlicite su kumulativne matrice transformacije za svako koriscenjegrupe g3 kao celine

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 35 / 36

Page 36: Ra cunarska gra ka Geometrijske osnove { nastavakpoincare.matf.bg.ac.rs/~vesnap/grafika/05_geometrijske_osnove_cntd.pdf · Inverzna transformacija izometrijske transformacije je izometrijska

Geometrijske osnove Graf scene

Graf scene

Postoje dve vrste transformacija pri modelovanju:

transformacije instance – koriste se za pozicioniranje, izmenu velicine,orijentacije da bi se ta instanca dobro uklopila u scenuzglobne transformacije – koriste se za simulaciju pokreta u zglobutokom animacije

Ponovno koriscenje je jedan od osnova hijerarhijskog modelovanja

Postoje dva nacina ponovnog koriscenja:

ponovno koriscenje komponenti – ukoliko imamo cvrstu komponentukoja nema unutrasnjih zglobova ona se moze ponovo iskoristiti kaokomponentaponovno koriscenje dizajna – ovde nema ponovnog koriscenjakomponenti jer zelimo da postignemo nezavisnost komponenti

Vesna Marinkovic Racunarska grafika Geometrijske osnove – nastavak 36 / 36