# 3 - Transformations
# Outline
- 2์ฐจ์ ๋ณํ
- Scaling, Rotation, Shearing, Reflection
- Translation
- ๋ณํ์ ์ข ๋ฅ
- ๋ณํ์ ํฉ์ฑ๊ณผ Homogeneous Coordinates
- ๋ ๊ฐ์ง 3์ฐจ์ ์ง๊ต ์ขํ๊ณ
- 3์ฐจ์ Affine ๋ณํ
# What is Transformation?
- Geometric Transformation
- ๊ธฐํํ์ object์ ์์น, ๋ฐฉํฅ, ํฌ๊ธฐ ๋๋ ํํ๋ฅผ ์ํ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ณผ์
โ โ์ ๋ค์ ์งํฉ์ ์ด๋์ํค๋ ๊ฒโ - ๋ณต์กํ ์ฅ๋ฉด๊ณผ ์ ๋๋ฉ์ด์ ์์ฑ์ ๊ฐ๋ฅํ๊ฒ ํจ
- Computer graphics์์ ํ์์ ์
- ๊ธฐํํ์ object์ ์์น, ๋ฐฉํฅ, ํฌ๊ธฐ ๋๋ ํํ๋ฅผ ์ํ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ณผ์
- ์์:
- Translate
- Rotate
- Scale
- Shear
- Reflect
# Transformation
- โ์ ๋ค์ ์งํฉ์ ์ด๋์ํค๋ ๊ฒโ
- Transformation T๋ ๋ฒกํฐ ๊ณต๊ฐ S์ ์๋ ์์์ ์ ๋ ฅ ๋ฒกํฐ v๋ฅผ T(v)๋ก ์ฌ์(ๅฏซๅ)ํจ
- ์์ ํํ: $S \rightarrow \{~ T(v) \mid v \in S ~\}$
# Linear Transformation
- ํ๋ ฌ ๊ณฑ์ ํตํด Transformation์ ์ ์ํ ์ ์์ $$ T(\mathbf{v}) = M\mathbf{v} $$
- ์ด๋ ํ๋ ฌ ๊ณฑ์
์ด ์ ํ ์ฌ์(ๅฏซๅ)์ ๋ํ๋ด๊ฒ ๋๋ฏ๋ก
linear transformation์ด๋ผ ๋ถ๋ฆ - Linear transformation์ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํจ: $$ T(\mathbf{v}_1 + \mathbf{v}_2) \\ = T(\mathbf{v}_1) + T(\mathbf{v}_2), \quad T(c\mathbf{v}) \\ = cT(\mathbf{v}) $$
- ํ๋ ฌ $M$ ๋ํ ๋์ผํ *์ ํ์ฑ(linearity)*์ ๋ง์กฑ: $$ M(\mathbf{v}_1 + \mathbf{v}_2) \\ = M\mathbf{v}_1 + M\mathbf{v}_2, \quad M(c\mathbf{v}) \\ = c(M\mathbf{v}) $$
# 2D Linear Transformations
- 2ร2 ํ๋ ฌ์ ๋ค์๊ณผ ๊ฐ์ 2์ฐจ์ linear transformation์ ํํํ ์ ์์:
- uniform scaling
- non-uniform scaling
- rotation
- shearing
- reflection
# 2D Linear Trans. โ Uniform Scaling
- x์ถ๊ณผ y์ถ ๋ชจ๋์์ ๋์ผํ ๋น์จ๋ก ํ๋ ๋๋ ์ถ์ $$ \mathbf{S} = \begin{bmatrix} s & 0 \\ 0 & s \end{bmatrix} \\ \mathbf{p} = \begin{bmatrix} x \\ y \end{bmatrix} \quad\Rightarrow\quad \mathbf{p}' = \begin{bmatrix} sx \\ sy \end{bmatrix} $$
- ์: ๋ฐฐ์จ ( s = 1.5 )์ธ scaling์ ์ ์ฉํ ๊ฒฝ์ฐ,
$$ \begin{bmatrix} 1.5 & 0 \\ 0 & 1.5 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 1.5x \\ 1.5y \end{bmatrix} $$
# 2D Linear Trans. โ Nonuniform Scaling
- x์ถ๊ณผ y์ถ ๋ฐฉํฅ์ผ๋ก ์๋ก ๋ค๋ฅธ ๋น์จ๋ก ํ๋ ๋๋ ์ถ์ $$ \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} s_xx \\ s_yy \end{bmatrix} $$
(์: $s_x$ = 1.5, $s_y$ = 0.8 โ $x$์ถ ๋ฐฉํฅ์ ํ๋, $y$์ถ ๋ฐฉํฅ์ ์ถ์)
# 2D Linear Trans. โ Rotation
- ํ์ ์ ํ๋ ฌ ๊ณฑ์ผ๋ก ํํ ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ๋ผ์ ์ ํ ๋ณํ์
- ์์ ๊ฐ๋๋ ๋ฐ์๊ณ ๋ฐฉํฅ(CCW, Counter-Clockwise)์ ์๋ฏธํจ $$ \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x \cos \theta - y \sin \theta \\ x \sin \theta + y \cos \theta \end{bmatrix} $$
(์: $\theta = 30\degree$ โ 30๋ ๋ฐ์๊ณ ํ์ )
# Numbers in Matrices: Scaling, Rotation
- ํ๋ ฌ์ ๊ฐ ์ซ์๋ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๊น?
- ๋จ์ ๋ฒกํฐ$([1, 0]^T, [0, 1]^T)$์ ๊ธฐ์ค์ผ๋ก scaling ๋๋ rotation ์ ๊ฐ๊ฐ์ column vector๊ฐ ๋ณํ๋ ์ถ์ ๋ฐฉํฅ์ ๋ํ๋
- Canonical basis vectors: ์ง๊ต ์ขํ๊ณ์์ x, y์ถ ๋ฐฉํฅ ๋จ์ ๋ฒกํฐ
- ๊ฒฐ๊ณผ์ ์ผ๋ก, ๋ณํ๋ ์ขํ๊ณ์ ์ถ ๋ฐฉํฅ์ ๋ํ๋
- ํ๋ ฌ์ column vector๋ ๊ทธ ํ๋ ฌ์ column space๋ฅผ ๊ตฌ์ฑํ๋ basis vectors
- Column space: column vector๋ค์ ์ ํ ๊ฒฐํฉ์ผ๋ก ํํ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฒกํฐ์ ์งํฉ
# 2D Linear Trans. โ Reflection
- Reflection์ non-uniform scaling์ ํน์ํ ๊ฒฝ์ฐ๋ก ๊ฐ์ฃผํ ์ ์์
- ์์: $x$์ถ ๋ฐฉํฅ reflection $$ \begin{bmatrix} -1 & 0\\ 0 & 1 \end{bmatrix} $$
# 2D Linear Trans. โ Shearing
- ๋ฌผ์ฒด๋ฅผ ์ธก๋ฉด์ผ๋ก ๋ฐ๊ธฐ(push sideways)
- ์์: $x$์ถ ๊ธฐ์ค์ผ๋ก $y$์ ๋น๋กํ์ฌ $x$ ์ด๋ $$ \begin{bmatrix} -1 & 0\\ 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} x+ay\\ y \end{bmatrix} $$
# Identity Matrix
- ์๋ฌด๋ฐ ๋ณํ๋ ์ํํ์ง ์๋ ํ๋ ฌ โ "Doing nothing" $$ \begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} x\\ y \end{bmatrix} $$
(๋ํ์ ์์น, ํฌ๊ธฐ, ๋ฐฉํฅ์ด ์ ์ง๋จ)
# [Demo] 2D Linear Transformations
- integral-domain.org/lwilliams/Applets/algebra/linearTransformations.php (opens new window)
- ํ๋ ฌ ์์์ ๊ฐ์ ๋ฐ๊ฟ๋ณด์ธ์
- ๋ค์ํ ๋ณํ ๋ฒํผ์ ๋๋ฌ๋ณด์ธ์
# Quiz 1
# 2D Translation
- Translation์ ๊ฐ์ฅ ๊ฐ๋จํ ๋ณํ:
$T(\mathbf{v}) = \mathbf{v} + \mathbf{u}$ - ์ญ๋ณํ(Inverse):
$T^{-1}(\mathbf{v}) = \mathbf{v} โ \mathbf{u}$
(๋์: $\mathbf{v}$ ๋ฒกํฐ์์ $\mathbf{u}$๋งํผ ์ด๋ํ ๊ฒฐ๊ณผ๊ฐ $T(\mathbf{v})$)
# Is translation linear transformation?
์๋์ค. ์ ํ ๋ณํ(linear transformation)์ด ์๋
์ ํ์ฑ(linearity)์ ๋ง์กฑํ์ง ์์:
$$ T(\mathbf{v}_1 + \mathbf{v}_2) \neq T(\mathbf{v}_1) + T(\mathbf{v}_2) \\ T(c\mathbf{v}) \neq cT(\mathbf{v}) $$์:
$$ cT(\mathbf{v}) = c(\mathbf{v} + \mathbf{b}) = c\mathbf{v} + c\mathbf{b} \\ \neq T(c\mathbf{v}) = c\mathbf{v} + \mathbf{b} $$
๋ฒกํฐ ๋ง์ ์ ์ฌ์ฉํด ํํ ๊ฐ๋ฅ:
$$ T(\mathbf{v}) = \mathbf{v} + \mathbf{u} $$์ ํ ๋ณํ๊ณผ ๊ฒฐํฉํ ์ ์์:
$$ T(\mathbf{v}) = M\mathbf{v} + \mathbf{u} $$โ Affine transformation
# Letโs check again
- Linear transformation
- Scaling, Rotation, Reflection, Shearing
- ํ๋ ฌ ๊ณฑ์
์ผ๋ก ํํ ๊ฐ๋ฅ
$$ T(\mathbf{v}) = \mathbf{Mv} $$
- Translation
- ์ ํ ๋ณํ์ด ์๋
- ๋ฒกํฐ ๋ง์
์ผ๋ก ํํ๋จ
$$ T(\mathbf{v}) = \mathbf{v} + \mathbf{u} $$
- Affine transformation
- ์ ํ ๋ณํ๊ณผ translation์ ๊ฒฐํฉํ ํํ
$$ T(\mathbf{v}) = \mathbf{Mv} + \mathbf{u} $$
- ์ ํ ๋ณํ๊ณผ translation์ ๊ฒฐํฉํ ํํ
# Rigid Transformations
- ๋ชจ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์งํจ $$ |g(\mathbf{u}) - g(\mathbf{v})| = |\mathbf{u} - \mathbf{v}|, \\ \forall \mathbf{u}, \mathbf{v} \in \mathbb{R}^3 \quad (g: \text{rigid transform map}) $$
- "Handedness"๋ฅผ ๋ณด์กดํจ:
- ์ ํ ๋ณํ ์ค handedness๋ฅผ ๋ณด์กดํ๋ ํ์ ์ ์กฐ๊ฑด:
$$ g(\mathbf{u}) \times g(\mathbf{v}) = g(\mathbf{u} \times \mathbf{v}), \\ \forall \mathbf{u}, \mathbf{v} \in \mathbb{R}^3 $$- Reflection์ ๋ณด์กดํ์ง ์์
- Translation์ ๋ฐฉํฅ์ ๋ฐ๊พธ์ง ์์ผ๋ฏ๋ก ์ํฅ์ ์ฃผ์ง ์์
- ์ ํ ๋ณํ ์ค handedness๋ฅผ ๋ณด์กดํ๋ ํ์ ์ ์กฐ๊ฑด:
- Rigid transformation์ ์:
- Translation
- Identity
- Rotation
- ์ผ๋ถ ๋ฌธํ์์๋ reflection์ rigid๋ก ๋ถ๋ฅํ๊ธฐ๋ ํ๋, ๋ณธ ๊ฐ์์์๋ ํฌํจํ์ง ์์
# Similarity Transformations
- ๊ฐ๋๋ฅผ ๋ณด์กดํจ
- (rigid transformation๋ ๊ฐ๋ ๋ณด์กด ํฌํจ)
- Similarity transformation์ ์:
- Translation
- Identity
- Rotation
- Uniform Scaling
- ์ผ๋ถ ๋ฌธํ์์๋ reflection๋ ํฌํจํ๋, ๋ณธ ๊ฐ์์์๋ ๋ค๋ฃจ์ง ์์
# Linear Transformations
- ์์ ์ ๋ณด์กดํจ
- ํฌํจ๋๋ ๋ณํ๋ค:
- Translation
- Identity
- Rotation
- Uniform Scaling
- Scaling
- Reflection
- Shearing
# Affine Transformations
- ํํ์ ์ ์ ์งํจ
- ์ง์ ์์ ๊ฑฐ๋ฆฌ ๋น์จ์ ์ ์งํจ
# Projective Transformations
- ์ง์ ์ ๋ณด์กดํจ
# Composition of Transformations
- ์ด๋ค ๋ฌผ์ฒด์ T ๋ณํ์ ์ ์ฉํ ํ, S ๋ณํ์ ์ถ๊ฐ ์ ์ฉ: $$ \mathbf{p} \rightarrow T(\mathbf{p}) \rightarrow S(T(\mathbf{p})) = (S \circ T)(\mathbf{p}) $$
- 2D linear transformation์ ํฉ์ฑ์
2ร2 ํ๋ ฌ ๊ณฑ์ ์ผ๋ก ํํ ๊ฐ๋ฅ: $$ T(\mathbf{p}) = M_T \mathbf{p}; \quad S(\mathbf{p}) = M_S \mathbf{p} $$ $$ (S \circ T)(\mathbf{p}) = M_S M_T \mathbf{p} \\ = (M_S M_T)\mathbf{p} = M_S (M_T \mathbf{p}) $$
# Order Matters!
- ํ๋ ฌ ๊ณฑ์ ์ ๊ฒฐํฉ๋ฒ์น์ ์ฑ๋ฆฝํ์ง๋ง ๊ตํ๋ฒ์น์ ์ฑ๋ฆฝํ์ง ์์: $$ (AB)C = A(BC) \\ AB \ne BA $$
- ๋ฐ๋ผ์, ๋ณํ์ ์ ์ฉ ์์๊ฐ ๋งค์ฐ ์ค์ํจ
(์: Scale โ Rotate vs Rotate โ Scale ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฆ)
# [Demo] Composition of Linear Transformations
- integral-domain.org/lwilliams/Applets/algebra/linearTransformations.php (opens new window)
- identity matrix๋ก ์ด๊ธฐํ (1 0 0 1 ์ ๋ ฅ)
- "Compose Transformations" ๋ฒํผ ํด๋ฆญ
- ๋ ๊ฐ์ ๋ณํ์ ์๋ก ๋ค๋ฅธ ์์๋ก ์ ์ฉํด๋ณด๊ธฐ
# Problems when handling Translation as Vector Addition
- ์ ํ ๋ณํ(ํ์ , ์ค์ผ์ผ ๋ฑ)๊ณผ translation์
์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ํํํ ์ ์์ - Affine ๋ณํ์ ํฉ์ฑ์ ๋ณต์กํด์ง: $$ T(\mathbf{p}) = M_T \mathbf{p} + \mathbf{u}_T \\ S(\mathbf{p}) = M_S \mathbf{p} + \mathbf{u}_S $$ $$ (S \circ T)(\mathbf{p}) = M_S(M_T \mathbf{p} + \mathbf{u}_T) + \mathbf{u}_S \\ = (M_S M_T) \mathbf{p} + (M_S \mathbf{u}_T + \mathbf{u}_S) $$
- ๋ ๊น๋ํ ํํ ๋ฐฉ์์ด ํ์ํจ
โ Homogeneous coordinates
# Homogeneous Coordinates
- ํต์ฌ ์์ด๋์ด: 2D ์ ์ 3D ์ขํ๊ณ ์์ ํํ
- ๋ฒกํฐ์๋ ์ถ๊ฐ ์ฑ๋ถ($w$), ํ๋ ฌ์๋ ์ถ๊ฐ ํ/์ด์ ์ถ๊ฐ
- ์ ์๋ ํญ์ $w = 1$
- 2D ์ $[x,~y]^T โ [x,~y,~1]^T$
- 2D linear transformation์ ํํ: $$ \begin{bmatrix} a & b & 0 \\ c & d & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \\ 1 \end{bmatrix} $$
- 2D translation์ ํํ: $$ \begin{bmatrix} 1 & 0 & t \\ 0 & 1 & s \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} x + t \\ y + s \\ 1 \end{bmatrix} $$
- 2D affine transformation์ ํํ: $$ \begin{bmatrix} m_{11} & m_{12} & u_x \\ m_{21} & m_{22} & u_y \\ 0 & 0 & 1 \end{bmatrix} $$
- Affine transformation ํฉ์ฑ์ 3ร3 ํ๋ ฌ ๊ณฑ์ ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ: $$ T(\mathbf{p}) = M_T \mathbf{p} + \mathbf{u}_T \\ S(\mathbf{p}) = M_S \mathbf{p} + \mathbf{u}_S $$ โ block ํ๋ ฌ ํํ: $$ T(\mathbf{p}) = \begin{bmatrix} M_T & \mathbf{u}_T \\ 0 & 1 \end{bmatrix}, \\ S(\mathbf{p}) = \begin{bmatrix} M_S & \mathbf{u}_S \\ 0 & 1 \end{bmatrix} $$ $$ (S \circ T)(\mathbf{p}) \\ = \begin{bmatrix} M_S & \mathbf{u}_S \\ 0 & 1 \end{bmatrix} \begin{bmatrix} M_T & \mathbf{u}_T \\ 0 & 1 \end{bmatrix} \begin{bmatrix} \mathbf{p} \\ 1 \end{bmatrix} \\ = \begin{bmatrix} (M_S M_T) \mathbf{p} + (M_S \mathbf{u}_T + \mathbf{u}_S) \\ 1 \end{bmatrix} $$
- ๊ฒฐ๊ณผ๋ ์ด์ ๋ฐฉ์๊ณผ ๊ฐ์ง๋ง, ํจ์ฌ ๊ฐ๋จํ๊ณ ๊น๋ํจ
cf. ๊ธฐ์กด ํํ๊ณผ ๋น๊ต:
$(S \circ T)(\mathbf{p}) = M_S(M_T \mathbf{p} + \mathbf{u}_T) + \mathbf{u}_S$
$= (M_S M_T)\mathbf{p} + (M_S \mathbf{u}_T + \mathbf{u}_S)$
# [Demo] Composition of Affine Transformations in Homogeneous Coordinates
- observablehq.com/@esperanc/transformation-demo (opens new window)
- โ+โ ๋ฒํผ์ผ๋ก ๋ค์ํ ์์์ translation ๋ฐ linear transformation ์ถ๊ฐ
- ์ฌ๋ผ์ด๋๋ก ํ๋ ฌ ๊ฐ์ ๋ณํ์ ๋ํ ๋ณํ ํ์ธ
- ์ฃผ์: ๋ง์ง๋ง์ ์ถ๊ฐ๋ ๋ณํ์ด ๊ฐ์ฅ ๋จผ์ ์ ์ฉ๋จ
# Summary: Homogeneous Coordinates in 2D
- 2D ์ ์๋ $(x,~y)^T$ ๋์ $(x,~y,~1)^T$ ์ฌ์ฉ
- 2D linear transformation์๋ 2ร2 ํ๋ ฌ ๋์ 3ร3 ํ๋ ฌ ์ฌ์ฉ
- 2D translation์๋ ๋ฒกํฐ ๋ง์ ๋์ 3ร3 ํ๋ ฌ ์ฌ์ฉ
โ linear transformation๊ณผ translation์ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์!
# Quiz 2
# Now, Letโs go to the 3D world!
- Coordinate system (์ขํ๊ณ)
- Cartesian coordinate system (์ง๊ต์ขํ๊ณ)
- 2D ์ขํ๊ณ โ z์ถ์ด ํฌํจ๋ 3D ์ขํ๊ณ๋ก ํ์ฅ๋จ
- Cartesian coordinate system (์ง๊ต์ขํ๊ณ)
# Right-Handed and Left-Handed Coordinate Systems
- ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์์คํ : Right-handed Cartesian Coordinates
ํญ๋ชฉ | Right-handed | Left-handed |
---|---|---|
ํ์ ๋ฐฉํฅ | ์ถ ๊ธฐ์ค ๋ฐ์๊ณ ๋ฐฉํฅ | ์ถ ๊ธฐ์ค ์๊ณ ๋ฐฉํฅ |
์ฌ์ฉ ์์ | OpenGL, Maya, Houdini, AutoCAD, Physics & Math | DirectX, Unity, Unreal ๋ฑ |
(์ด๋ฏธ์ง: ์ค๋ฅธ์ ๋ฒ์น๊ณผ ์ผ์ ๋ฒ์น ์ค๋ช )
# Point Representations in Cartesian & Homogeneous Coordinate System
# A 2D point is represented as:
- Cartesian coordinate system: $$ \begin{bmatrix} p_x \\ p_y \end{bmatrix} $$
- Homogeneous coordinate system: $$ \begin{bmatrix} p_x \\ p_y \\ 1 \end{bmatrix} $$
# A 3D point is represented as:
- Cartesian coordinate system: $$ \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix} $$
- Homogeneous coordinate system: $$ \begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} $$
# Review of Linear Transformations in 2D
- 2D์์์ ์ ํ ๋ณํ์ ๋ค์๊ณผ ๊ฐ์ ํ๋ ฌ ๊ณฑ์ ์ผ๋ก ํํ๋จ:
# 2x2 matrix (in Cartesian coordinates):
$$ \begin{bmatrix} m_{11} & m_{12} \\ m_{21} & m_{22} \end{bmatrix} \begin{bmatrix} p_x \\ p_y \end{bmatrix} $$
# or
# 3x3 matrix (in homogeneous coordinates):
$$ \begin{bmatrix} m_{11} & m_{12} & 0 \\ m_{21} & m_{22} & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ 1 \end{bmatrix} $$
# Linear Transformations in 3D
3D์์์ ์ ํ ๋ณํ์ ๋ค์ ํ๋ ฌ ๊ณฑ์ ์ผ๋ก ํํ๋จ:
- 3x3 matrix (in Cartesian coordinates)
๋๋ - 4x4 matrix (in homogeneous coordinates)
$$ \begin{bmatrix} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix} \\ \text{or}\ \\ \begin{bmatrix} m_{11} & m_{12} & m_{13} & 0 \\ m_{21} & m_{22} & m_{23} & 0 \\ m_{31} & m_{32} & m_{33} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} $$
- 3x3 matrix (in Cartesian coordinates)
# Linear Transformations in 3D
Scaling (ํฌ๊ธฐ ์กฐ์ ):
$$ S_s = \begin{bmatrix} S_x & 0 & 0 \\ 0 & S_y & 0 \\ 0 & 0 & S_z \end{bmatrix} \quad\text{(3D)} \\ S_s = \begin{bmatrix} S_x & 0 & 0 & 0 \\ 0 & S_y & 0 & 0 \\ 0 & 0 & S_z & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \quad\text{(3D-H)} $$
Shear (in $x$, based on $z$ position):
$$ H_{x,d} = \begin{bmatrix} 1 & d_y & d_z \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \\ \text{or} \\ H_{x,d} = \begin{bmatrix} 1 & d_y & d_z & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $$
# Linear Transformations in 3D
Rotation about $x$-axis:
$$ R_{x,\theta} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta \end{bmatrix} $$
Rotation about $y$-axis:
$$ R_{y,\theta} = \begin{bmatrix} \cos\theta & 0 & \sin\theta \\ 0 & 1 & 0 \\ -\sin\theta & 0 & \cos\theta \end{bmatrix} $$
Rotation about $z$-axis:
$$ R_{z,\theta} = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} $$
(์ค๋ฅธ์ ๋ฒ์น์ ๋ฐ๋ผ z์ถ์ ๊ธฐ์ค์ผ๋ก ์์์ ์๋๋ก ๋ณด๋ ์์ ์์ ๋ฐ์๊ณ ๋ฐฉํฅ ํ์ )
# Review of Translations in 2D
- 2D์์์ Translation์ ๋ค์ ๋ ๋ฐฉ์์ผ๋ก ํํ ๊ฐ๋ฅ:
Vector addition (in Cartesian coordinates):
$$ \begin{bmatrix} p_x \\ p_y \end{bmatrix} + \begin{bmatrix} u_x \\ u_y \end{bmatrix} $$
Matrix multiplication (in homogeneous coordinates):
$$ \begin{bmatrix} 1 & 0 & u_x \\ 0 & 1 & u_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ 1 \end{bmatrix} $$
# Translations in 3D
- 3D์์์ Translation๋ ์ ์ฌํ๊ฒ ํํ ๊ฐ๋ฅ:
Vector addition (Cartesian coordinates):
$$ \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix} + \begin{bmatrix} u_x \\ u_y \\ u_z \end{bmatrix} $$
Matrix multiplication (homogeneous coordinates):
$$ \begin{bmatrix} 1 & 0 & 0 & u_x \\ 0 & 1 & 0 & u_y \\ 0 & 0 & 1 & u_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} $$
# Review of Affine Transformations in 2D
- Homogeneous coordinates์์๋ 2D affine transformation์ 3ร3 ํ๋ ฌ ๊ณฑ์ผ๋ก ํํํ ์ ์์:
$$ \begin{bmatrix} m_{11} & m_{12} & u_x \\ m_{21} & m_{22} & u_y \\ 0 & 0 & 1 \end{bmatrix} $$
# Affine Transformations in 3D
- Homogeneous coordinates์์๋ 3D affine transformation์
4ร4 ํ๋ ฌ ๊ณฑ์ผ๋ก ํํํ ์ ์์:
$$ \begin{bmatrix} m_{11} & m_{12} & m_{13} & u_x \\ m_{21} & m_{22} & m_{23} & u_y \\ m_{31} & m_{32} & m_{33} & u_z \\ 0 & 0 & 0 & 1 \end{bmatrix} $$
# Summary: Affine Transformation
- $\mathbf{p}$๋ผ๋ ์ ์งํฉ์ ๋ํด affine transformation $\mathbf{M}$์ ์ ์ฉํ๋ฉด: $$ \mathbf{M} = \begin{bmatrix} m_{11} & m_{12} & m_{13} & u_1 \\ m_{21} & m_{22} & m_{23} & u_2 \\ m_{31} & m_{32} & m_{33} & u_3 \\ 0 & 0 & 0 & 1 \end{bmatrix} $$
$$ \mathbf{p}_i' \leftarrow \mathbf{M} \mathbf{p}_i $$
$$ \mathbf{p}_1' \leftarrow \mathbf{M} \mathbf{p}_1 \\ \mathbf{p}_2' \leftarrow \mathbf{M} \mathbf{p}_2 \\ \mathbf{p}_3' \leftarrow \mathbf{M} \mathbf{p}_3 \\ \dots \\ \mathbf{p}_N' \leftarrow \mathbf{M} \mathbf{p}_N $$
# Summary: Composition of Affine Transformations
- ์ฌ๋ฌ ๊ฐ์ affine transformation (์: Mโ, Mโ)์ ์์ฐจ์ ์ผ๋ก ์ ์ฉํ ์ ์์
- ๊ฐ ์ ๋ง๋ค ๊ฐ๋ณ์ ์ผ๋ก:
$$ \mathbf{p}_i'' \leftarrow \mathbf{M}_2 \mathbf{M}_1 \mathbf{p}_i $$
$$ \mathbf{p}_1'' \leftarrow \mathbf{M}_2 \mathbf{M}_1 \mathbf{p}_1 \\ \mathbf{p}_2'' \leftarrow \mathbf{M}_2 \mathbf{M}_1 \mathbf{p}_2 \\ \mathbf{p}_3'' \leftarrow \mathbf{M}_2 \mathbf{M}_1 \mathbf{p}_3 \\ \dots \\ \mathbf{p}_N'' \leftarrow \mathbf{M}_2 \mathbf{M}_1 \mathbf{p}_N $$