Professional Documents
Culture Documents
Kompjuterska Grafika 3
Kompjuterska Grafika 3
Koordinatni sistem
y
T(x,y,z)
x z
PROSTE TRANSFORMACIJE
SKALIRANJE ROTACIJA TRANSLACIJA PRESLIKAVANJE
SKALIRANJE
Skaliranje je transformacija kojom se vektor poloaja take mnoi sklaranom veliinom. Pri tome se samo povedava ili smanjuje intenzitet vektora. Skaliranje moe biti uniformno i neuniformno. Uniformno skaliranje podrazumeva da se jednako uvedava i x, y i z koordinata.
X y z =
xyz
a 0 0 0 a 0 0 0 a
1 0 0 0
0 1 0 0
0 0 1 0
0 0 s
3D TRANSFORMACIJE
DISTORZIJA (smicanje) Distorzija je transformacija koja deformie objekte skalirajui jednu koordinatu drugom. Primer distorzije u ravni xy : 1 b 0 a 1 0 0 0 1
M=
Neka je vektor pravca prave n(n1,n2,n3) i neka prava prolazi kroz koordinatni pocetak. Ako taku T zarotiramo za ugao oko date prave, taka e prei u polaaj T. Taaka T je odreena vektorom poloaja T a taka T vektorom poloaja T. Taka se prilikom rotacije kree po krunici koja lei u ravcni koja je upravna na datu pravu. Vektor normale te ravni se poklapa sa vektorom pravca prave a rastojanje ravni od koordinatnog poetka je d. Neka je tacka P taka prodora prave kroz ravan u kojoj se vrsi rotacija i neka je vektor n jedinini vektor. Neka je ugao izmedju vektora poloaja take T i vektora prave ugao .
y
n
P S P
T T T T
Posmatrajui datu sliku mogu se uspostaviti sledee vektorske jednaine: T = P + PT T = P + PT PT = PT PS = PT cos = T P cos PT = PS + ST ST = PT sin = T P sin
3D TRANSFORMACIJE
u=
ST = |ST| u ST = |T P| sin
ST = (n x T) sin
T = P + (T P) cos + (n x T) sin
|x y z| = |x y z
n12 + (1-2n12) cos n1n2(1-cos )+n3sin R = n1n2(1-cos) n3sin n22 + (1-n22) cos n1n3(1-cos) +n2sin n2n3(1-cos) n1sin Rotacija oko z-ose: n1 = 0, n2 = 0, n3 = 1 cos Rz = -sin 0 Rotacija oko x-ose: n1 = 1, n2 = 0, n3 = 0 sin cos 0 0 0 1
Rx =
1 0 0
Ry =
3D TRANSFORMACIJE
TRANSLACIJA
y
t T T
3D TRANSFORMACIJE
PRESLIKAVANJE U ODNOSU NA DATU RAVAN Neka je data ravan, cija je normala n (n1,n2,n3) i udaljenost od koordinatnog pocetka d. Preslikajmo taku T(x,y,z) u odnosu na datu ravan. Taka T se preslikala u taku T(x,y,z). y
n n S d T T T
x z
Oznaimo boldovano vektorski oblik datih veliina. Sa slike sledi vektorska jednaina: T = T TT n Apsolutna vrednost vektora TT se moe iskazati kao dvostruka apsolutna vrednost vetora TS ili dvostruka apsolutna vrednost vektora ST . Taka T je slika take T ako je ravan ogledalo. To ima za posledicu da je du TS jednaka dui ST. Nadalje sa slike se mogu uspostaviti sledee relacije: T = T 2 [ TS ] [TS] = T n - d T = T - 2 (T n) n n + 2d n
Gore data vektorska jednaina se moe napisati u matrinom obliku kao : [ x y z ] = [ x y z ] - 2 [ x y z ] n1 [ n1 n2 n3 ] + 2d [ n1 n2 n3] n2 n3
[ x y z] = [ x y z ] - 2 [ x y z ]
3D TRANSFORMACIJE
[ x y z]
= [x y z ]
+ 2d [ n1 n2 n3 ]
Isti rezultat emo dobiti ako ovu jednainu napiemo u homogenim koordinatama u obliku: [ x y z 1] = [x y z 1] (1-2n12) -2n1n2 -2n1n3 -2n1n2 (1-2 n22) -2n2n3 -2n1n2 -2n2n3 (1-2n32) 2dn1 2dn2 2dn3
0 0 0 1
Transormaciona matrica preslikavanja u odnosu na datu ravan ima oblik: (1-2n12) -2n1n2 -2n1n2 (1-2 n22) -2n1n2 -2n2n3 2dn1 2dn2 -2n1n3 -2n2n3 (1-2n32) 2dn3 0 0 0 1
T=
T=
T=
1 0 0 0
0 0 -1 0 0 1 0 0
0 0 0 1
T=