3D그래픽2011. 9. 6. 21:22
▶ 평행이동 (Translation)

T(t)=\left ( \begin{array}{cccc} 1 & 0 & 0 & t_{x}\\ 0 & 1 & 0 & t_{y}\\ 0 & 0 & 1 & t_{z}\\ 0 & 0 & 0 & 1\\ \end{array} \right )

→ 평행이동의 역변환

T^{-1}(t)=T(-t)=\left ( \begin{array}{cccc} 1 & 0 & 0 & -t_{x}\\ 0 & 1 & 0 & -t_{y}\\ 0 & 0 & 1 & -t_{z}\\ 0 & 0 & 0 & 1\\ \end{array} \right )



▶ 회전 (Rotation)

R_{x}(\phi)=\left ( \begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & cos\phi & -sin\phi & 0\\ 0 & sin\phi & cos\phi & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right )
R_{y}(\phi)=\left ( \begin{array}{cccc} cos\phi & 0 & sin\phi & 0\\ 0 & 1 & 0 & 0\\ -sin\phi & 0 & cos\phi & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right )
R_{z}(\phi)=\left ( \begin{array}{cccc} cos\phi & -sin\phi & 0 & 0\\ sin\phi & cos\phi & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right )


→ 모든 3x3 행렬 R에서 대각 원소들의 합 tr(R)은 축과 무관하게 상수값을 가진다.

tr(R)=1+2cos\phi

이 합을 trace라고 부른다.


→ 모든 회전행렬은 직교 행렬이므로

R^{-1}=R^{T}

과 같이, 역행렬은 전치행렬과 같다. 역행렬을 구하는 다른 방법은

R_{i}^{-1}(\phi)=R_{i}(-\phi)

이다.


→ 회전행렬의 판별자는 항상 1개 뿐이다.


→ (예) 특정 점 p를 중심으로 z축을 따라 φ라디안 만큼 물체를 회전시키는 변환 행렬은
(-p) 만큼 평행이동 → z축으로 φ회전 → (p) 만큼 평행이동 시키는 것이다.

X=T(p)R_{z}(\phi)T(-p)



▶ 크기 조정 (Scaling)

S(s)=\left ( \begin{array}{cccc} s_{x} & 0 & 0 & 0\\ 0 & s_{y} & 0 & 0\\ 0 & 0 & s_{z} & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right )

단, s_{x}=s_{y}=s_{z} 인경우 uniform(isotropic)이라 하고, 그렇지 않은경우 non-uniform(anisotropic)이라 한다.

역변환은
S^{-1}(s)=S(\frac{1}{s_{x}}, \frac{1}{s_{y}}, \frac{1}{s_{z}})

특히, uniform이고 동차좌표를 이용하는 경우에는 w 성분을 이용하여 역변환을 표현할 수 있다.

S(s)=\left ( \begin{array}{cccc} s & 0 & 0 & 0\\ 0 & s & 0 & 0\\ 0 & 0 & s & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right )=\left ( \begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & \frac{1}{s}\\ \end{array} \right )

→ 성분들 가운데 하나 또는 세 개가 음수이면 거울 행렬(mirror matrix)이라고도 불리는 반사 행렬(reflection matrix)이 만들어진다. 이렇게 되면 정점들의 감기 순서(winding order)가 반대로 바뀐다.

좌측 상단 3x3 행렬의 판별자의 값이 음수이면 주어진 행렬이 반사 행렬이다.


▶ 변환의 결합

변환의 결합은 순서가 중요하며 다음과 같은 순서로 결합한다.

C=TRS

TRSp=(T(R(Sp)))

'3D그래픽' 카테고리의 다른 글

Phong Shading  (0) 2011.09.10
Bézier, Gouraud, Fresnel 의 발음  (0) 2011.09.08
Goraud shading vs. Phong shading  (0) 2011.09.02
Normal Transform(법선벡터 변환)  (0) 2011.09.02
COLLADA (3D Asset Exchange Schema)  (0) 2011.08.31
Posted by 세월의돌