You are on page 1of 6

3D TRANSFORMACIJE

Koordinatni sistem
y

T(x,y,z)

x z

PROSTE TRANSFORMACIJE
SKALIRANJE ROTACIJA TRANSLACIJA PRESLIKAVANJE

Transformaciona matrica: x y z = x y z x = ax + dy +gz y = bx + ey + hz z = cx + fy + iz a b c d e f g h i = (ax +dy+gz) (bx+ey+hz) (cx+fy+iz)

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

x = ax , y = ay, z = az a > 1 uveanje 0<a<1 umanjenje

Skaliranje u homogenim koordinatama:


M=

1 0 0 0

0 1 0 0

0 0 1 0

0 0 s

x = x/s, y = y/s, z = z/s 0 < s < 1 uveanje s >1 umanjenje

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=

ROTACIJA OKO PRAVE KOJA PROLAZI KROZ KOORDINATNI POETAK

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=

nxT |n x T| nxT |T| sin

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

n1 |n1 n2 n3| (1-cos) + |x y z|cos + |x y z| 0 n3 n2 sin n2 -n3 0 n1 n3 n2 n1 0

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

n1n3(1-cos ) n2sin n2n3(1-cos) + n1sin n32 + (1-n32)cos

Rx =

1 0 0

0 0 cos sin -sin cos

Rotacija oko y-ose: n1 = 0, n2 = 1, n3 = 0 cos 0 sin 0 1 0 -sin 0 cos

Ry =

3D TRANSFORMACIJE
TRANSLACIJA
y

t T T

z T(x,y,z) t (l,m,n) T = T + t x = x + l, y = y + m, z = z + n U homogenim koordinatama: |x y z 1| = |x y z 1| 1 0 0 0 0 1 0 0 1 0 1 0 l m n 1

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 ]

n12 n1n2 n1n3 + 2d [ n1 n2 n3 ] n1n2 n22 n2n3 n1n3 n2n3 n32

3D TRANSFORMACIJE

[ x y z]

= [x y z ]

(1 2n12) -2n1n2 -2n1n3 2 -2n1n2 (1 2n2 ) -2n2n3 -2n1n3 -2n2n3 (1 n32 )

+ 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=

Preslikavanje u odnosu na ravan xy (z=0): 1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 1

T=

Preslikavanje u odnosu na ravan xz (y=0):

T=

1 0 0 0

0 0 -1 0 0 1 0 0

0 0 0 1

Preslikavanje u odnosu na ravan yz (x=0): -1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1

T=

You might also like