Računarska grafika - vežbe 5 Transformacije u 3D grafici
Transformacije u 3D grafici Slično kao i u D grafici, uz razlike: matrice su 4x4 postoji posebna matrica projekcije Konvencije: desni pravougli koordinatni sistem pokretna virtuelna kamera koordinatni sistem vezan za nju pozitivan smer rotacije oko ose koordinatnog sistema: - suprotno od smera kazaljke na satu - posmatrano prema koordinatnom početku 7.3.7, Transformacije u 3D grafici
Zadatak U desnom pravouglom koordinatnom sistemu (X-Y-Z) zadata je piramida temenima: A(,,); B(,,); C(4,,); D(4,,); E(3,,). Ukoliko se koordinatni sistem najpre rotira oko X-ose u suprotnom smeru od kazaljke sata za ugao α=45, zatim translira u pravcu i smeru pozitivne X-ose tako da se tačka E nađe u Y-Z ravni i konačno rotira oko Y ose u smeru kazaljke sata za ugao β=45, odrediti:.kompozitnu matricu transformacije.koordinate svih temena u transformisanom koordinatnom sistemu 3.koordinate projekcija svih temena u perspektivi, ako se posmatrač nalazi u tački P(,,5) 7.3.7, Transformacije u 3D grafici 3
Zadatak rešenje Y A(,,); B(,,); C(4,,); D(4,,); E(3,,) E Z A B C 7.3.7, Transformacije u 3D grafici 4 D X
Y Zadatak rešenje Y. Sistem se rotira oko X-ose u suprotnom smeru od kazaljke za ugao α=45 A(,,); B(,,); C(4,,); D(4,,); E(3,,) E Z A B C Z 7.3.7, Transformacije u 3D grafici 5 D X
Y Y Zadatak rešenje. Sistem se translira u pravcu i smeru pozitivne X-ose tako da se tačka E nađe u Y-Z ravni E A B C Z Z D X 7.3.7, Transformacije u 3D grafici 6
Y Zadatak rešenje 3. Sistem se rotira oko Y ose u smeru kazaljke za ugao β=45 E Z A B D C Z X X 7.3.7, Transformacije u 3D grafici 7
Zadatak rešenje a) Kompozitna matrica transformacije: M=R x *T*R y = = 3 3 3 M b) A' = [ ]*M = (.93,.44,.77) B' = [ ]*M = (-.77,,.77) C' = [4 ]*M = (.77,, -.77) D' = [4 ]*M = (,77,.44,.93) E' = [3 ]*M = (,.44, ) 7.3.7, Transformacije u 3D grafici 8
= Zadatak rešenje Projekcija: posmatrač nalazi u tački P(,,5) A" = A' * P p *(/w) A' * P p = [.93,.44,.77 ]* P p = [.93.44.6586] A" = [.93.44.6586] *(/.6586) P P 5 Projektovane tačke: A" = (.445,.5, ) B" = (-.83,, ) C" = (.6,,) D" = (.84,.5, ) E" = (,.44,) 7.3.7, Transformacije u 3D grafici 9
Zadatak U desnom pravouglom koordinatnom sistemu posmatrani objekti se nalaze u prostoru definisanom kvadrom: x [,5], y [,3], z [-5,] Prostim sažimanjem dati prostor se preslikava na prostor definisan kockom: x [,], y [,], z [-,] a zatim projektuje sa perspektivom na XoY ravan sa centrom projekcije u tački D(,,). 7.3.7, Transformacije u 3D grafici
Zadatak Delove projekcije objekata koji se nalaze u prozoru prikazane ravni definisanom sa x [5,5], y [5,], potrebno je preslikati u prikazni prozor, definisan sl., uređaja sa normalizovanim koordinatama, tako da se stranica prozora y=5 preslika u stranicu prikaznog prozora AB, pričemu se tačka prozora (5,5) preslikava u tačku prikaznog prozora A. Postaviti matričnu jednačinu preslikavanja tačke iz zadatog 3D prostora u dati prikazni prozor. 7.3.7, Transformacije u 3D grafici
Zadatak y b A a B α = 56.3 a =.3 b =. A = (.,.3) α Napomena: potrebno je postaviti sve jednačine koje definišu preslikavanje originalne tačke (3D) u njenu sliku, i u sve matrice elementarnih transformacija uvrstiti konkretne vrednosti elemenata. Nije potrebno množiti matrice. x 7.3.7, Transformacije u 3D grafici
Zadatak rešenje. Translacija koordinatnog sistema u tačku O (,,);. Skaliranje faktorima Sx=.5, Sy=.5, Sz=.; 3. Inverzna traslacija u tačku O(-,-,) 4. Projekcija sa perspektivom iz centra D(,,) 5. Translacija koordinatnog početka u O (5,5) 6. Skaliranje skala faktorima S x =.3/, Sy=./5 7. Rotacija u smeru kazaljke na satu za ugao α = 56.3 8. Translacija koordinatnog početka u tačku O 3 (-., -.3) 7.3.7, Transformacije u 3D grafici 3
Zadatak 3 Pokretna kamera rotira u smeru kretanja kazaljke časovnika oko X-ose desnog pravouglog koordinatnog sistema za ugao α=3, zatim se pomeri u pravcu i smeru negativne X-ose za 5 jedinica dužine i konačno rotira u smeru suprotnom od smera kretanja kazaljke na časovniku oko ose-y za ugao β=5. 7.3.7, Transformacije u 3D grafici 4
Zadatak 3 Smatrajući da je koordinatni sistem realnog sveta vezan za pokretnu kameru i da se ortogonalna projekcija originalne tačke Q(x,y,z) nakon izvršenih transformacija nalazi u prozoru (window) definisanom u X-Y ravni pomoću tačke A(-5,-5) u donjem levom uglu i tačke B(5,5) u gornjem desnom uglu, vrši se preslikavanje date projekcije tačke iz koordinatnog sistema realnog sveta u prikazni prozor (viewport) definisan tačkama A (.,.), B (.5,.5) datim u normalizovanim koordinatama uređaja. 7.3.7, Transformacije u 3D grafici 5
Zadatak 3 Postavljanjem ogledala na pravu x=.6, dobija se konačna slika u ogledalu Q date tačke. Postaviti (jednu) matričnu jednačinu koja definiše sliku Q u funkciji originalne tačke Q. Napomena: nije potrebno izračunavati kompozitnu matricu, već samo uvrstiti konkretne vrednosti elemenata u elementarne matrice. 7.3.7, Transformacije u 3D grafici 6
Zadatak 3 rešenje Q' = Q * transformacije u 3D * ortogonalna projekcija * preslikavanje u prikazni prostor * ogledanje Q' = Q * ( (R X * T X * R Y ) * Po * (T W * S * T VP )* (T X * O Y * T X )) 7.3.7, Transformacije u 3D grafici 7
Q ' = Q Zadatak 3 rešenje cos5 sin5 cos 3 sin 3 sin 3 cos 3 sin5 cos5 5.4 3.5 5 5...6.6 7.3.7, Transformacije u 3D grafici 8
Zadatak 4 Koristeći matrični račun i matrice elementarnih transformacija, odrediti matricu projekcije sa perspektivom na ravan x=5 za posmatrača koji se nalazi u tački P(,,5). Smatrati da se tačka Q(x,y,z) koja se projektuje nalazi u desnom pravouglom koordinatnom sistemu. Koristeći matricu projekcije iz tačke (a) izračunati koordinate projekcije tačke Q(.5, 5,.5). 7.3.7, Transformacije u 3D grafici 9
Zadatak 4 rešenje Matrica projekcije se dobija na sledeći način: T(5,,5) * Ry(-π/) * Pp(,,5) * Ry(π/) * T(-5,,-5) = = 5 5 5 5 5 5 5 7.3.7, Transformacije u 3D grafici
Zadatak 4 rešenje Projekcija tačke Q(x,y,z) je Q' : U slučaju Q(.5, 5,.5), dobija se: Q' = (5,,), w = /5 [ ] [ ] = 5 5 z y x w z y x w w w 7.3.7, Transformacije u 3D grafici = =
Zadatak 5 Postaviti matričnu jednačinu koja određuje projekciju sa perspektivom iz centra projekcije P(,,6) na projekcionu ravan y=5, slike proizvoljne tačke (u desnom 3D koord. sistemu) u ogledalu postavljenom na ravan z=-x+. U sve matrice elementarnih transformacija koje učestvuju u matričnoj jednačini uvrstiti konkretne vrednosti elemenata, ali ne izračunavati kompozitnu matricu. 7.3.7, Transformacije u 3D grafici
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 3
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 4
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 5
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 6
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 7
Zadatak 5 rešenje 7.3.7, Transformacije u 3D grafici 8
Zadatak 5 rešenje Matrica projekcije se dobija na sledeći način: M = T(,,) * Ry(π/4) * Oxy * Ry(-π/4) * T(,,-) * T(,,6) * Rx(π/) * T(,,-5) * Pp(,,5) * T(,,5) *Rx(-π/) * T(,,-6) M = 6 5. 5 6 7.3.7, Transformacije u 3D grafici 9
Zadatak 6 (K 7/8) Postaviti jednu matričnu jednačinu koja određuje projekciju sa perspektivom iz centra projekcije P(,,3) na projekcionu ravan z=5, slike proizvoljne tačke (u desnom 3D koordinatnom sistemu) u ogledalu postavljenom na ravan z=y+4. U sve matice elementarnih transformacija koje učestvuju u matričnoj jednačini uvrstiti konkretne vrednosti. Nije potrebno množiti matrice. 7.3.7, Transformacije u 3D grafici 3
Y Zadatak 6 rešenje Y Y Z Y Y Z 4 X Z 4 X Z Z 5 X -4-4 T(,,4) Rx(-π/4) O ZoX =S(,-,) Rx(π/4) T(,,) 7.3.7, Transformacije u 3D grafici 3
Zadatak 6 rešenje Y Y Y Z Z X 5 Y 3 Z Y 5 X Z 3 Z Z X 5 Y 3 X X X R Y (-π) P P (d=) T3(,,-5) R Y (π) π = π = R( Y ) R( Y ) RP( d = ) = 7.3.7, Transformacije u 3D grafici 3
Zadatak 6 rešenje M = Translacija * Rotacija * Ogledanje_zx * Rotacija * Translacija * Projekcija * Translacija3 Translacija = T(,,4)= 4 Rotacija = Rx(-π/4) = Ogledanje_xz = S(, -, ) = 7.3.7, Transformacije u 3D grafici 33
Zadatak 6 rešenje M = Translacija * Rotacija * Ogledanje_zx * Rotacija * Translacija * Projekcija * Translacija3 Rotacija = Rx(π/4) = Translacija = T(,,)= Projekcija = P P (d=-)= Translacija3 = T(,,-5)= 5 7.3.7, Transformacije u 3D grafici 34