๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

์ธํ”„๋Ÿฐ <๊ฒŒ์ž„ ์—”์ง„์„ ์ง€ํƒฑํ•˜๋Š” ๊ฒŒ์ž„์ˆ˜ํ•™, ์ด๋“์šฐ ๊ต์ˆ˜๋‹˜> ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

 

1. ํ–‰๋ ฌ(Matrix)

 

๋ฒกํ„ฐ๊ฐ€ ํ•˜๋‚˜์˜ ํ–‰ ๋˜๋Š” ์—ด๋งŒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์— ๋น„ํ•ด, ํ–‰๋ ฌ์€ ํ–‰ ๋ฒกํ„ฐ(Row vector) ํ˜น์€ ์—ด ๋ฒกํ„ฐ(Column vector)๋“ค์„ ํ™œ์šฉํ•˜์—ฌ 2์ฐจ์›์œผ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ–‰๋ ฌ์€ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์—์„œ ์ ์ด๋‚˜ ์˜ค๋ธŒ์ ํŠธ ๋“ฑ์„ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ํšŒ์ „ํ•˜๋Š” ๋“ฑ์˜ ๋ณ€ํ™˜ ์—ฐ์‚ฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

ํ–‰๋ ฌ์ด๋ž€ ๊ฒƒ์€ ๋‹จ์ˆœํ•˜๊ฒŒ ์ •์˜ํ•˜๋ฉด, ์–ด๋–ค ์‚ฌ๊ฐํ˜• ํ‹€ ์•ˆ์— ํ–‰๊ณผ ์—ด์„ ๋งž์ถฐ์„œ ์ˆ˜๋ฅผ ๋‚˜์—ดํ•œ ๊ฒƒ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•ด, ๊ฐ€๋กœ๋ฅผ ํ–‰(Row), ์„ธ๋กœ๋ฅผ ์—ด(Column)์ด๋ผ๊ณ  ํ•˜๋Š” ํŠน์ •ํ•œ ์‚ฌ๊ฐํ˜• ํ‹€์— ์Šค์นผ๋ผ ๊ฐ’๋“ค์„ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ์ด์ฃ .

์˜ˆ๋ฅผ ๋“ค์–ด, \( 2 \times 3 \) ์˜ A๋ผ๋Š” ์ด๋ฆ„์˜ ํ–‰๋ ฌ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

$$ A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{bmatrix} $$

 

์ด๋ ‡๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ํ–‰๋ ฌ ์ž์ฒด์— ๋ฌด์–ธ๊ฐ€ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š”, ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐฐ์น˜ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

ํ–‰๋ ฌ์˜ ์—ฐ์‚ฐ

 

ํ–‰๋ ฌ๊ณผ ํ–‰๋ ฌ์˜ ๋ง์…ˆ

 

ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€(ํ–‰๊ณผ ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์€) ํ–‰๋ ฌ์—๋งŒ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ฐ ์›์†Œ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’๋“ค์„ ์„œ๋กœ ๋”ํ•˜๊ณ  ๋™์ผํ•œ ์œ„์น˜์— ์ง€์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

\begin{align} A+B &= \begin{bmatrix} a & b  \\ c & d \end{bmatrix} + \begin{bmatrix} e & f \\ g & h \end{bmatrix} = \begin{bmatrix} a+e & b +f \\ c + g & d +h \end{bmatrix}\end{align}

 

ํ–‰๋ ฌ๊ณผ ์Šค์นผ๋ผ์˜ ๊ณฑ์…ˆ

 

๋ชจ๋“  ํ–‰๋ ฌ ์›์†Œ์—๋‹ค๊ฐ€ ์Šค์นผ๋ผ ๊ฐ’์„ ๊ณฑํ•ด์ฃผ๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

\begin{align} k \cdot A &= k \cdot \begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} ka & kb \\ kc & kd \end{bmatrix} \end{align}

 

ํ–‰๋ ฌ์˜ ์ „์น˜(Transpose) ์—ฐ์‚ฐ

 

์ „์น˜(Transpose)๋Š” ํ–‰๊ณผ ์—ด์„ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ•˜๋Š” ์—ฐ์‚ฐ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ–‰์ด ์—ด์ด ๋˜๊ณ , ์—ด์ด ํ–‰์ด ๋˜๋Š” ๊ฒƒ์ด์ฃ .

 

\begin{align} \begin{bmatrix} a & d \\ b & e \\ c & f \end{bmatrix}^T = \begin{bmatrix} a & b & c \\ d & e & f \end{bmatrix} \end{align}

 

ํ–‰๋ ฌ๊ณผ ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ

 

๋‘ ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ \(A \times B \)๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด, "์•ž์— ์žˆ๋Š” ํ–‰๋ ฌ(\(A\))์˜ ์—ด ๊ฐœ์ˆ˜ = ๋’ค์— ์žˆ๋Š” ํ–‰๋ ฌ(\(B\))์˜ ํ–‰ ๊ฐœ์ˆ˜" ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. \(A(m \times n) \cdot B(n \times p) \) ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋งŒ ๊ณฑ์…ˆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋ง์ด์ฃ . ์ด๋ ‡๊ฒŒ ๊ณฑ์…ˆ์„ ํ•ด์„œ ๋‚˜์˜ค๋Š” ํ–‰๋ ฌ \(C\) ๋Š” \(A\) ํ–‰๋ ฌ์˜ ํ–‰ ๊ฐœ์ˆ˜์ธ \(m\)๊ณผ \(B\) ํ–‰๋ ฌ์˜ ์—ด ๊ฐœ์ˆ˜์ธ \(p\)๋งŒํผ์˜ ์‚ฌ์ด์ฆˆ์ธ \(m \times p \)์˜ ํฌ๊ธฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

$$ C(m \times p) = A(m \times n) \cdot B(n \times p) $$

 

 

๊ณฑ์…ˆ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์กฐ๊ธˆ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์•ž ํ–‰๋ ฌ์€ ํ–‰ ๋ฒกํ„ฐ(๊ฐ€๋กœ ๋ฐฉํ–ฅ) ์ˆœ์„œ๋Œ€๋กœ, ๋’ท ํ–‰๋ ฌ์€ ์—ด ๋ฒกํ„ฐ(์„ธ๋กœ ๋ฐฉํ–ฅ) ์ˆœ์„œ๋Œ€๋กœ ๊ฐ ์›์†Œ๋ฅผ ๊ณฑํ•ด ๋”ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

\begin{align} A \cdot B = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \cdot \begin{bmatrix} e & f \\ g & h \end{bmatrix} = \begin{bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{bmatrix} \end{align}

 

 

์ด๋Ÿฌํ•œ ๊ณฑ์…ˆ ์—ฐ์‚ฐ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ค‘์š”ํ•˜๊ฒŒ ์•Œ์•„์•ผ ํ•  ์‚ฌ์‹ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ตํ™˜ ๋ฒ•์น™์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

\begin{align} A \cdot B = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \cdot \begin{bmatrix} e & f \\ g & h \end{bmatrix} = \begin{bmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{bmatrix} \end{align}

 

\begin{align} B \cdot A = \begin{bmatrix} e & f \\ g & h \end{bmatrix} \cdot \begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} ae + cf & be + df \\ ag + ch & bg + dh \end{bmatrix} \end{align}

 

$$ A \cdot B \ne B \cdot A $$

 

๊ฒฐํ•ฉ ๋ฒ•์น™์€ ์„ฑ๋ฆฝํ•œ๋‹ค.

 

$$ A \cdot (B \cdot C) = (A \cdot B) \cdot C $$

 

์ฆ‰, ๋ฌด์—‡์„ ๋จผ์ € ๊ณฑํ•˜๋“  ๊ฐ„์— ๊ธฐ์กด์˜ ์ˆœ์„œ๋งŒ ์œ ์ง€๋œ๋‹ค๋ฉด ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

์ด๋Ÿฌํ•œ ํ–‰๋ ฌ์˜ ์„ฑ์งˆ์€ ์•„์ฃผ ํฐ ์ด์ ์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‚ด์šฉ์€ ๋’ค์—์„œ ๋ณด๋„๋ก ํ•˜์ฃ .

 

 

์ „์น˜ ์—ฐ์‚ฐ

 

$$ (A \cdot B)^T = B^T \cdot A^T $$

 

\begin{align} (A \cdot B)^T = \begin{bmatrix} ae+bg & af +bh \\ ce + dg & cf + dh \end{bmatrix}^T = \begin{bmatrix} ae + bg & ce +dg \\ af +bh & cf +dh \end{bmatrix} \end{align}

์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

\begin{align} B^T \cdot A^T = \begin{bmatrix} e & g \\ f & h \end{bmatrix} \cdot \begin{bmatrix} a & c \\ b & d \end{bmatrix} = \begin{bmatrix} ae + bg & ce + dg \\ af + bg & cf +dh \end{bmatrix} \end{align}

 

 

๋ถ„๋ฐฐ ๋ฒ•์น™

 

ํ–‰๋ ฌ์˜ ๋ง์…ˆ๊ณผ ๊ณฑ์…ˆ์„ ์‚ฌ์šฉํ•œ ๋ถ„๋ฐฐ ๋ฒ•์น™๋„ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.

 

$$ A(B+C) = AB + AC $$

$$ (B+C)A = BA + CA $$

 

๋‹ค๋งŒ, ์œ„์—์„œ ๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ–‰๋ ฌ \(A\)๊ฐ€ ์ขŒ์ธก์—์„œ ๋ถ„๋ฐฐ๋œ๋‹ค๋ฉด, ๊ฐ ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ ๊ฒฐ๊ณผ์—๋Š” \(A\)๊ฐ€ ์ขŒ์ธก์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ํ–‰๋ ฌ \(A\)๊ฐ€ ์šฐ์ธก์—์„œ ๋ถ„๋ฐฐ๋œ๋‹ค๋ฉด, ๊ฐ ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ ๊ฒฐ๊ณผ์— \(A\)๊ฐ€ ์šฐ์ธก์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ ์—ญ์‹œ ๊ตํ™˜ ๋ฒ•์น™์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š” ํ–‰๋ ฌ์˜ ํŠน์„ฑ์—์„œ ๋‚˜์˜จ ์ฃผ์˜์ ์ธ ๊ฒƒ ๊ฐ™๋„ค์š”.

 

 

 


2. ์„ ํ˜• ๋ณ€ํ™˜๊ณผ ํ–‰๋ ฌ

 

๋ฒกํ„ฐ ๊ณต๊ฐ„์˜ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ์„ ํ˜•์„ฑ์„ ๋„๋Š” ์„ ํ˜• ๋ณ€ํ™˜์„ ํ†ตํ•ด, ์ƒˆ๋กœ์šด ๊ณต๊ฐ„์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ทธ ๊ณผ์ • ์ž์ฒด๊ฐ€ ํ–‰๋ ฌ์— ๋Œ€์‘๋œ๋‹ค๋Š” ์ ์ด ์žˆ๊ณ , ์ด๊ฒƒ์ด ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. 1)๋ณต์žกํ•œ ์„ ํ˜• ๋ณ€ํ™˜์‹์„ ์ผ์ผ์ด ๊ณ„์‚ฐํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, 2)ํ–‰๋ ฌ๋กœ ์ •๋ฆฌ๋œ ๊ฐ„ํŽธํ•œ ์‹์˜ ๊ณฑ์…ˆ ์ „๊ฐœ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์„ ํ˜• ๋ณ€ํ™˜์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•ž ์ „์— ์„ ํ˜•์„ฑ ํŒŒํŠธ์—์„œ, \( \mathbb{R}^2 \mapsto \mathbb{R}^2 \) ๋Œ€์‘๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ๋‹ค์Œ ๋ฒกํ„ฐ ํ•จ์ˆ˜๋Š” ์„ ํ˜•์„ฑ์„ ๋งŒ์กฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

 

$$ f((x,y))=(ax+by, cx+dy) $$

 

์œ„์™€ ๊ฐ™์€ ์„ ํ˜• ๋ณ€ํ™˜์‹์€ ์–ด๋–ป๊ฒŒ ํ–‰๋ ฌ์‹์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์„๊นŒ์š”? ์–ด๋–ค ์ž„์˜์˜ ํ–‰๋ ฌ \(A \)๋ฅผ

 

\begin{bmatrix} a & b \\ c & d \end{bmatrix}

 

๋ผ๊ณ  ์ •์˜ํ•˜๊ณ , ์ž„์˜์˜ ๋ฒกํ„ฐ \(v\)๋ฅผ

 

\begin{bmatrix} x \\ y \end{bmatrix}

 

๋ฅผ ์ •์˜ํ–ˆ์„ ๋•Œ, ํ–‰๋ ฌ๊ณผ ํ–‰๋ ฌ์˜ ๊ณฐ์…‰ ๋ฒ•์น™์— ์˜ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

\begin{align} A \cdot v = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \end{bmatrix} \end{align}

 

 

์œ„ ์‹์„ ๋ณด๋ฉด, ์„ ํ˜• ๋ณ€ํ™˜์‹์—์„œ ์›๋ž˜ ์‚ฌ์šฉ๋˜์—ˆ๋˜ \(x, y\) ๊ฐ€ ์—ด ๋ฒกํ„ฐ \(v\) ๋กœ ์กด์žฌํ•˜๊ณ , \(ax+by\) ๋ฅผ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋กœ, \(cd+dy\) ๋ฅผ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋กœ ๊ฐ€์ง€๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋งŒ๋“ค์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด, ์œ„ ์‹์—์„œ ๊ณฑํ–ˆ๋˜ ํ–‰๋ ฌ \(A\)๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

๋ฐ”๋กœ, \((ax + by, \ cx+dy) \) ์ด๋ผ๊ณ  ํ•˜๋Š” ์–ด๋–ค ์ ์œผ๋กœ ๋Œ€์‘์‹œ์ผœ์ฃผ๋Š” ์„ ํ˜• ๋ณ€ํ™˜ ํ•จ์ˆ˜์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋“ค์„ ํ†ตํ•ด, ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • \(A\) ํ–‰๋ ฌ์€ ๊ฐ™์€ ์ฐจ์›์˜ ๊ณต๊ฐ„์ด ์„œ๋กœ ๋Œ€์‘๋˜๋„๋ก ํ•˜๋Š” ์„ ํ˜• ๋ณ€ํ™˜
    • ์ฆ‰, ์ •๋ฐฉ ํ–‰๋ ฌ์€ ๊ฐ™์€ ์ฐจ์›์˜ ๊ณต๊ฐ„์ด ์„œ๋กœ ๋Œ€์‘๋˜๋„๋ก ํ•˜๋Š” ์„ ํ˜• ๋ณ€ํ™˜์ž„์„ ์˜๋ฏธ
    • \(A\) ํ–‰๋ ฌ์€ \(2 \times 2 \) ์ •๋ฐฉ ํ–‰๋ ฌ์ด์—ˆ์œผ๋ฏ€๋กœ, \( \mathbb{R}^2 \mapsto \mathbb{R}^2 \) 
  • ์—ด ๋ฒกํ„ฐ๋Š” ๋ฒกํ„ฐ ๊ณต๊ฐ„์˜ ๋ฒกํ„ฐ

 

 

์—ด ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ๊ณผ ํ–‰ ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ

 

๋ฒกํ„ฐ๋ฅผ ํ–‰์œผ๋กœ ํ‘œํ˜„ํ•˜๋ƒ, ์—ด๋กœ ํ‘œํ˜„ํ•˜๋ƒ์— ๋”ฐ๋ผ ๋ฐฉ๋ฒ•์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ด ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ(Column Major Matrix)๋Š” ์ˆ˜ํ•™์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐฉ์‹์ด๋ฉฐ, OpenGL์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒกํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ๋’ค์— ์˜จ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์œผ๋ฉฐ, ๊ฒฐ๊ณผ ๋˜ํ•œ ์—ด์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜ค๋Š” ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

\begin{align} \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \end{bmatrix} \end{align}

 

 

ํ–‰ ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ(Row Major Matrix)๋Š” DirectX ๋ฐ ๊ฒŒ์ž„ ์—”์ง„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฒกํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ์•ž์— ์˜จ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์œผ๋ฉฐ, ๊ฒฐ๊ณผ ๋˜ํ•œ ํ–‰์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜ค๋Š” ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

\begin{align} \begin{bmatrix} x & y \end{bmatrix} \begin{bmatrix} a & c \\ b & d \end{bmatrix} = \begin{bmatrix} ax + by & cx + dy \end{bmatrix} \end{align}

 

 

ํ—ˆ๋‚˜, ์‚ฌ์‹ค์ƒ ์—ด ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ๊ณผ ํ–‰ ๊ธฐ๋ฐ˜ ํ–‰๋ ฌ์€ ์„œ๋กœ ์ „์น˜ ๊ด€๊ณ„์ผ ๋ฟ, ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•จ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

 

$$ Av = v' $$

$$(v')^T = (Av)^T = v^TA^T $$

 

 


3. ์„ ํ˜• ๋ณ€ํ™˜์˜ ์‹œ๊ฐํ™”

 

๋ณ€ํ™˜๋˜๊ธฐ ์ „์˜ ์–ด๋– ํ•œ ๋ฒกํ„ฐ ๊ณต๊ฐ„ \((x, y) \) ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์—์„œ \( x, \ y \) ๋Š” ์„œ๋กœ ๊ท ์ผํ•˜๊ฒŒ ๋™๋“ฑํ•œ ๊ด€๊ณ„์—์„œ ๋˜‘๊ฐ™์ด ๊ฐ„์„ญ ์—†์ด ์กฐํ•ฉ๋๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์„ ํ˜• ๋…๋ฆฝ์ธ ๊ฑฐ์ฃ .

 

๊ทธ๋ ‡๊ธฐ์—, ์ด๋Ÿฌํ•œ ์ž„์˜์˜ ์  \((x, y)\) ๋ฅผ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ–ˆ๋Š”์ง€ ๊ตฌ์กฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณธ๋‹ค๋ฉด, ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ \(e_1(1, 0)\) ๊ณผ \(e_2(0, 1)\) ์—๋‹ค๊ฐ€ ๊ฐ๊ฐ \(x\) ๋ฐฐ, \(y\) ๋ฐฐ ํ•ด์„œ ๋”ํ–ˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํ˜• ๋ณ€ํ™˜์„ ํ•˜๊ธฐ ์ „, ์›๋ž˜ ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ์†ํ•œ ์ž„์˜์˜ ๋ฒกํ„ฐ์— ๋Œ€ํ•œ ์กฐํ•ฉ์‹์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

 

$$ (x, y) = x(1, 0) + y(0, 1) $$

 

๊ทธ๋ฆฌ๊ณ  ์„ ํ˜• ๋ณ€ํ™˜ ํ•จ์ˆ˜ ์—ญํ• ์„ ํ•˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ A ํ–‰๋ ฌ์ด ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

 

\begin{align} A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \end{align}

 

์ด ๋•Œ, A ํ–‰๋ ฌ์„ ๊ฐ ์—ด ๋ฒกํ„ฐ๋กœ ๋‚˜๋ˆ„์–ด ๋ณด๊ฒŒ ๋œ๋‹ค๋ฉด \( (a, c) \), \( (b, d) \) ๊ฐ€ ๋˜๊ณ , ์ด๊ฒƒ์€ ๋ณ€ํ™”๋œ ๊ณต๊ฐ„์˜ ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ \( e_1'(a, c), e_2'(b, d) \) ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ง์€ ๊ธฐ์กด์˜ ๋ฒกํ„ฐ ๊ณต๊ฐ„์„ ์ด๋ฃจ๊ณ  ์žˆ๋˜ ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ \(e_1(1, 0), \ e_2(0, 1) \) ๊ฐ€ A ํ–‰๋ ฌ์˜ ๊ฐ ์—ด ๋ฒกํ„ฐ ์„ฑ๋ถ„์œผ๋กœ ๋ณ€ํ™”๋˜์—ˆ๋‹ค๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€์š”.

 

$$ x(1, 0) + y(0, 1) \rightarrow x(a, c) + y(b, d) $$

 

([์™ผ์ชฝ] ๋ณ€ํ™˜ ์ „ ๊ณต๊ฐ„, [์˜ค๋ฅธ์ชฝ] ๋ณ€ํ™˜ ํ›„ ๊ณต๊ฐ„

 

์ด๋ ‡๊ฒŒ ์„ ํ˜• ๋ณ€ํ™˜๋œ ๊ธฐ์ € ๋ฒกํ„ฐ๋ฅผ ์กฐํ•ฉํ•ด, ๋ณ€ํ™”๋œ ๊ณต๊ฐ„์˜ ๋ชจ๋“  ๋ฒกํ„ฐ๋“ค์„ ์ผ์ผ์ด ์ถ”์ ํ•˜์ง€ ์•Š์•„๋„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

$$ (x',y')=x(a,c)+y(b,d)=(ax+by, cx+dy) $$

 

๊ทธ๋Ÿฐ๋ฐ, ์ด ์‹ ์–ด๋””์„œ ๋งŽ์ด ๋ณด์ง€ ์•Š์•˜๋‚˜์š”?

 

$$ f((x,y))=(ax+by, cx+dy) $$

 

๋„ค. ์•ž์„œ ์‚ดํŽด ๋ดค์—ˆ๋˜ ์„ ํ˜• ๋ณ€ํ™˜์‹๊ณผ ๋˜‘๊ฐ™๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์›ํ•˜๋Š” ๋ณ€ํ™˜์„ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์˜ˆ) ํฌ๊ธฐ ๋ณ€ํ™˜ ํ–‰๋ ฌ

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›๋ž˜ ํ‰๋ฉด ๊ณต๊ฐ„์— ์กด์žฌํ•˜๋Š” ๋ฌผ์ฒด๋ฅผ ์ขŒ์šฐ๋กœ๋Š” A ๋งŒํผ ๋Š˜๋ฆฌ๊ณ , ์ƒํ•˜๋กœ๋Š” B ๋งŒํผ ์ค„์ด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด, ๊ธฐ์กด ํ‰๋ฉด์„ ์ด๋ฃจ๋˜ ๊ณต๊ฐ„์˜ ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ \( e_1(1, 0), \ e_2(0, 1)\) ์— ๋ณ€ํ™˜์‹œ์ผœ ์ค„ ํ–‰๋ ฌ์„ ์ ์šฉํ•ด์•ผ ๊ฒ ์ง€์š”.

๊ฐ€๋กœ๋กœ๋Š” A ๋งŒํผ ๋Š˜๋ฆฌ๊ณ , ์„ธ๋กœ๋กœ๋Š” B ๋งŒํผ ์ค„์ธ๋‹ค๊ณ  ํ–ˆ์œผ๋‹ˆ๊นŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒ๋‹ˆ๋‹ค.

 

\begin{align} \begin{bmatrix} a & 0 \\ 0 & b \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax + by \end{bmatrix} \end{align}

 

[์™ผ์ชฝ] ์›๋ž˜ ํ‰๋ฉด ํ‘œ์ค€ ๊ณต๊ฐ„ [์˜ค๋ฅธ์ชฝ] ํฌ๊ธฐ ๋ณ€ํ™˜์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ

 

 

์˜ˆ) ๋ฐ€๊ธฐ ๋ณ€ํ™˜

 

์ด๋ฒˆ์—๋Š” y์ถ•๋งŒ x์ถ• ๋ฐฉํ–ฅ์œผ๋กœ \(a\) ์นธ ๋ฏธ๋Š” ๋ณ€ํ™˜์„ ํ•ด๋ด…์‹œ๋‹ค. x์ถ•์€ ๋ณ€ํ™”๊ฐ€ ์—†์œผ๋‹ˆ (1, 0) ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋  ๊ฒƒ์ด๊ณ , ๋Œ€์‹  y์ถ•์ด ๊ธฐ์กด ์œ„์น˜์—์„œ \(a\)๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐ€์–ด์ง€๋Š” ๊ฑฐ๋‹ˆ \((a, 1)\)์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

\begin{align} \begin{bmatrix} 1 & a \\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x + ay & y \end{bmatrix} \end{align}

 

[์™ผ์ชฝ] ์›๋ž˜ ํ‰๋ฉด ํ‘œ์ค€ ๊ณต๊ฐ„ [์˜ค๋ฅธ์ชฝ] ๋ฐ€๊ธฐ ๋ณ€ํ™˜์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ

 

์˜ˆ) ์ž„์˜์˜ ๊ฐ \(\theta \)์— ๋Œ€ํ•œ ํšŒ์ „

 

ํ‘œ์ค€ ํ‰๋ฉด ๊ณต๊ฐ„์—์„œ ์ž„์˜์˜ ๊ฐ \(\theta \) ๋งŒํผ ํšŒ์ „์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ํ‘œ์ค€ ๊ธฐ์ € ๋ฒกํ„ฐ \(e_1, \ e_2 \) ๋Š” ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ขŒํ‘œ๊ฐ€ ๋ณ€ํ™”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

[์™ผ์ชฝ] ์›๋ž˜ ํ‰๋ฉด ํ‘œ์ค€ ๊ณต๊ฐ„ [์˜ค๋ฅธ์ชฝ] ํšŒ์ „ํ•œ ๊ฒฐ๊ณผ

 

\(e_1\) ์ด \( (cos \theta, \ sin \theta)\) ๋กœ ๋ณ€ํ™”ํ•ด์•ผ ํ•˜๊ณ , \(e_2\) ๊ฐ€ \( (-sin \theta, \ cos \theta) \) ๋กœ ๋ณ€ํ™”ํ•ด์•ผ ํ•˜๋‹ˆ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์šฉํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

$$ \begin{bmatrix} cos\theta & -sin\theta\\ sin\theta & cos\theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} =\begin{bmatrix} xcos\theta-ysin\theta & xsin\theta+ycos\theta \end{bmatrix} $$

 

 


4. ํ–‰๋ ฌ์˜ ๊ณฑ์ด ๊ฐ€์ง€๋Š” ํŠน์ง•

 

ํ–‰๋ ฌ์€ ํ•˜๋‚˜์˜ ์„ ํ˜• ๋ณ€ํ™˜์— ๋Œ€์‘๋˜๋ฉฐ, ํ–‰๋ ฌ์˜ ๊ณฑ์€ ์„ ํ˜• ๋ณ€ํ™˜์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ์— ๋‹ค์‹œ ์„ ํ˜• ๋ณ€ํ™˜์„ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ณต๊ฐ„์„ ๋ณ€ํ™˜์‹œํ‚ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

์ด๋ฅผ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

$$ W = A\cdot (B\cdot v) $$

 

๊ทธ๋Ÿฐ๋ฐ, ํ–‰๋ ฌ์€ ๊ฒฐํ•ฉ ๋ฒ•์น™์ด ์„ฑ๋ฆฝํ•˜๋ฏ€๋กœ ์œ„ ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

$$ W = (A\cdot B)\cdot v $$

 

์ฆ‰, ๊ธฐ์กด ๋ฒกํ„ฐ ๊ณต๊ฐ„ \(v\)์— ๋ณ€ํ™˜ ํ–‰๋ ฌ \(A \)์™€ \(B\)๋ฅผ ๊ณฑํ•œ ๊ฒฐ๊ด๊ฐ’์„ \(v\)์™€ ๊ณฑํ•˜๊ฒŒ ๋˜๋ฉด, ๋ฐ”๋กœ ๋ณ€ํ™˜๋œ ๋ฒกํ„ฐ ๊ณต๊ฐ„ \(W\)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋˜์ฃ . ์ฆ‰, ํ•ฉ์„ฑํ•จ์ˆ˜์ฒ˜๋Ÿผ ํ•œ ๋ฐฉ์— ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ , ํ•œ ๋ฐฉ์— ๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ๋œ๋‹ค๋Š” ์†Œ๋ฆฌ์ž…๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ธฐ์—, ๋‘ ํ–‰๋ ฌ์„ ๊ณฑํ•œ ์‹ \(A \cdot B \)๋Š” ๋ฒกํ„ฐ ๊ณต๊ฐ„ \(V\)์—์„œ ๋ฒกํ„ฐ ๊ณต๊ฐ„ \(W\)๋กœ ์งํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ณ€ํ™˜ ํ•จ์ˆ˜์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์ด๋Ÿฌํ•œ ํŠน์ง•์€ ๊ณ„์‚ฐ ๊ณผ์ •์„ ๋งŽ์ด ์ค„์—ฌ์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฒŒ์ž„์—์„œ ํ–‰๋ ฌ์ด ํ•„์ˆ˜์ ์œผ๋กœ ์“ฐ์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ 5๊ฐ€์ง€ ๋ณ€ํ™˜์„ ์ฃผ๋กœ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ํฌ๊ธฐ (S, Scale)
  • ํšŒ์ „ (R, Rotation)
  • ์ด๋™ (T, Translation)
  • ๋ทฐ (V, View)
  • ํˆฌ์˜ (P, Projection)

 

๋งŒ์•ฝ ์–ด๋– ํ•œ ์บ๋ฆญํ„ฐ๊ฐ€ 10๋งŒ ๊ฐœ์˜ ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด, ์ด๋ฅผ ์—ฐ์‚ฐํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ์— ๋ณด์—ฌ์ฃผ๊ธฐ๊นŒ์ง€ ์œ„์˜ 5๊ฐ€์ง€ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ์— 50๋งŒ๋ฒˆ์˜ ์—ฐ์‚ฐ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

$$ P\cdot (V\cdot (T\cdot (R\cdot (S\cdot v)))) $$

 

๊ทธ๋Ÿฐ๋ฐ, ์œ„์™€ ๊ฐ™์€ 5๊ฐ€์ง€ ๋ณ€ํ™˜๋“ค์ด ํ•ญ์ƒ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค๋ฉด, \(PVTRS\)๋ฅผ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ํ–‰๋ ฌ๋กœ ์ƒ์„ฑํ•œ ํ›„, ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—ฐ์‚ฐ์ด ๋˜๋ฏ€๋กœ 10๋งŒ๋ฒˆ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

$$ P\cdot (V\cdot (T\cdot (R\cdot (S\cdot v))))=(PVTRS)\cdot v $$

 

 

์ง€๊ธˆ๊นŒ์ง€ ํ–‰๋ ฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•