์ธํ๋ฐ <๊ฒ์ ์์ง์ ์งํฑํ๋ ๊ฒ์์ํ, ์ด๋์ฐ ๊ต์๋> ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๊ธ์ ๋๋ค.
1. ์ํ ์กฐํฉ(Affine Combination)
์ด์ ์ ์ํ ๊ณต๊ฐ์๋ ์ ๊ณผ ์ด๋ ๋ฒกํฐ๊ฐ ์กด์ฌํ๊ณ , ์ + ์ ์ฐ์ฐ์ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ์์ต๋๋ค.
ํ์ง๋ง, ์ค์นผ๋ผ ๊ฐ์ ์์ ๋ณด์กฐ๋ก ์ฌ์ฉํ์ฌ ๊ณฑํ๋ฉด ์ + ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํด์ง๋๋ค.
$$ a\cdot P_1 +b\cdot P_2 = ? $$
\( P_1, \ P_2 \) ๊ฐ 2์ฐจ์์ ์ ์ด๋ผ๊ณ ๊ฐ์ ํ ๊ฒฝ์ฐ, ์ ์กฐํฉ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ฐ๋ฉ๋๋ค.
$$ a(x_1, y_1, 1) + b(x_2, y_2, 1) = (ax_1+bx_2, \ ay_1 +by_2, \ a + b) $$
์ด๋, ์ํ ๊ณต๊ฐ์ด๋ฏ๋ก ๋ง์ง๋ง ์ฐจ์์ ๊ฐ์ด ๋ฐ๋์ 1์ด ๋์ด์ผ ์ ์ด ๋ ์ ์์ต๋๋ค. ์ฆ, \( a + b = 1 \) ์ด ๋์ด์ผ ๊ฐ๋ฅํ๋ค๋ ๋ง์ด์ง์. ์ด๋ฅผ ์๋ ์์ ๋์ ํ๋ฉด ๋ค์ ์์ ๋ง๋ค ์ ์์ต๋๋ค.
$$ P(a) = a \cdot P_1 + (1-a) \cdot P_2 $$
์ ์์ ํตํด ๋ง๋ค์ด์ง๋ ๊ฒฐ๊ณผ๋ ์ ์ ๋ณด์ฅํด์ฃผ๋ฉฐ, \(a\) ์ ๊ฐ์ ๋ฐ๋ผ ๋ฌด์ํ ๋ง์ ์ ์ ๋ง๋ค์ด ๋ผ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ด, ์ค์นผ๋ผ ๊ฐ์ ๋ณด์กฐ๋ก ์ฌ์ฉํ์ฌ ๊ธฐ์กด์ ๋ถ๊ฐ๋ฅํ๋ ์ + ์ ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด, ์๋ก์ด ์ ์ ๋ง๋ค์ด๋ด๋ ์์ ์ํ ์กฐํฉ(Affine Combination)์ด๋ผ๊ณ ํฉ๋๋ค.
$$ \sum_{i = 0} ^n c_i \cdot P_i $$
$$ \mathrm{๋จ,} \ \sum_{i=0}^n c_i = 1 $$
์ํ ์กฐํฉ์ ๋ฐ๋ผ ์์ฑ๋ ์ ์ด ๊ฐ์ ์ ์์ ์๋์ง ์ด๋ป๊ฒ ์ฆ๋ช ํ๋๊ฐ?
์์์ ์ํ ์กฐํฉ์ ๋ํ ๊ณต์(\( P(a) = a \cdot P_1 + (1-a) \cdot P_2 \))์ ์์๋ณด์๊ณ , \(a\) ๊ฐ์ ๋ฐ๋ผ ์ ์ ์์ฑํ ์ ์๋ค๊ณ ํ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , ๊ทธ ์ ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- \(a = 1\) ์ด๋ผ๋ฉด, ์ \(P_1\)
- \(a = 0\) ์ด๋ผ๋ฉด, ์ \(P_2\)
- \(0 < a < 1 \) ์ด๋ผ๋ฉด, ์ \(P_1\) ๊ณผ ์ \(P_2\) ์ฌ์ด์ ์๋ ์
- \(a > 1 \) ์ด๋ผ๋ฉด ์ \(P_1\)๋ณด๋ค ๋ฐ๊นฅ, \(a < 0\) ์ด๋ผ๋ฉด ์ \(P_2\) ๋ณด๋ค ๋ฐ๊นฅ์ ์๋ ์
์ด๋ฌํ ๋ฐฉ์์ ๋ฐ๋ผ, \(a\) ์ ๊ฐ์ ์ข ๋ ์ด์ดํ๊ฒ ํ๋ฉด ๊ธฐ๋ค๋ ์ ์ด ๋ํ๋๊ฒ ๋ฉ๋๋ค.
์ด๋ ๊ฒ ์์ฑ๋ ์ ๋ค์ด ๊ฐ์ ์ ์์ ์๋์ง ์ฆ๋ช ํด ๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ , ์ํ ์กฐํฉ์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค.
$$ P' = aP_1 + (1-a)P_2 $$
์ ์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์๋ ์์ต๋๋ค.
$$ P' - P_2 = a(P_1 - P_2) $$
์ด๋, ์ํ ๊ณต๊ฐ์์ ์ - ์ ์ ๋ฒกํฐ๊ฐ ๋๋ค๊ณ ํ์์ต๋๋ค. \(P_1 - P_2 \) ๋ฅผ ํ๋ฉด, \(P_2\) ์์ \(P_1\) ์ ํฅํ๋ ๋ฒกํฐ๊ฐ ๊ฒฐ๊ณผ๋ก ๋์ค๊ฒ ๋์ฃ . \( \vec{u} = P' - P_2\) , \( \vec{v} = P_1 - P_2 \) ๋ผ๊ณ ํ๊ณ , ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ ์ณ์ธ ์ ์์ต๋๋ค.
$$ \vec{u} = a\vec{v} $$
๋ฒกํฐ \(\vec{u}, \ \vec{v}\) ๋ชจ๋ ์ \(P_2\) ์์ ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฒกํฐ์ ์ค์นผ๋ผ์ ๊ณฑ์ ์ ๊ฒฐ๊ณผ๋ ๊ฐ์ ๊ธฐ์ธ๊ธฐ ์ ์์ ์๋ ๋ฒกํฐ๋ก ๊ฒฐ๊ณผ๊ฐ ๋ง๋ค์ด์ง์ฃ ? ๊ทธ ๋ง์, \(P_2 \rightarrow P' \) ์ผ๋ก ํฅํ๋ ๋ฒกํฐ(\(u\)) ์ \(P_2 \rightarrow P_1\) ์ผ๋ก ํฅํ๋ ๋ฒกํฐ(\(v\))์ ๊ธฐ์ธ๊ธฐ๋ ๊ฐ๋ค๋ ๊ฑธ ์๋ฏธํฉ๋๋ค.
์ ์ ์ข ๋ฅ
์ํ ์กฐํฉ ๊ณต์์์ ์ฌ์ฉ๋๋ ์ค์นผ๋ผ \(a\) ๊ฐ์ ๋ฒ์์ ๋ฐ๋ผ ์ ์ ์ข ๋ฅ๊ฐ ๋๋๊ฒ ๋ฉ๋๋ค.
- \( -\infty < a < \infty \) : ์ง์ (Line)
- \(0 \leq a < \infty \) : ๋ฐ์ง์ (Ray)
- \(0 \leq a \leq 1 \) : ์ ๋ถ(Segment)
2. ์ ์ ํํ
์คํฌ๋ฆฐ ์ขํ๊ณ (Screen Coordinate)
์ค์ ๋ก ํ๋ฉด์ ์ด๋ ํ ์ ์ ํํํ๊ธฐ ์ํด์ , ์ํ์์ ๊ฐ์ง๊ณ ์๋ ์ ์ ๊ฐ๋ ์ ๊ทธ๋๋ก ์ ์ฉํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค. ๋์คํ๋ ์ด ํด์ฃผ๋ ๋ชจ๋ํฐ ํ๋ฉด์ ํ๋์จ์ด ์ฌ์์ ๋ง์ถฐ์ ๋ณํ์ ํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ด์ง์. ํ๋ฉด์ ์ฌ์ฉํ๋ ์คํฌ๋ฆฐ ์ขํ๊ณ(Screen Coordinate)๋ ์ํ์์ ์ฌ์ฉํ๋ ๋ฐ์นด๋ฅดํธ ์ขํ๊ณ์ ๋ฌ๋ฆฌ, ์ผ์ชฝ ์๋จ์์ ์ค๋ฅธ์ชฝ ํ๋จ์ผ๋ก ์ญ ์ด์ด์ง ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , ํด์๋๋ผ๊ณ ํ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ \((0, 0)\) ์์๋ถํฐ ์ ์๋ก ํ๋์ฉ ์ฆ๊ฐํ๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ํด์๋๊ฐ \( 800 \times 600 \) ์ด๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๊ฒ ์ต๋๋ค.
์ด๋ฌํ ์คํฌ๋ฆฐ ์ขํ๊ณ๋ฅผ ์ด๋ฃจ๋ ๊ฐ๊ฐ์ ์ฌ๊ฐํ ๋จ์๋ค์ ํฝ์ (Pixel)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ค์ํ ๊ฒ์ ์ด๋ฌํ ์คํฌ๋ฆฐ ์ขํ๊ณ๊ฐ ์ ์ ๋จ์๋ก ์ด๋ฃจ์ด์ ธ ์๋ค๋ ์ ์ ๋๋ค. ์ด๊ฒ์ ๊ฒฐ๊ตญ์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋ฐ์นด๋ฅดํธ ์ขํ๊ณ์ ์ค์ ์งํฉ์ ์คํฌ๋ฆฐ ์ขํ๊ณ์ ์ ์ ๊ฐ์ผ๋ก ๋ณํํ๋ ์์ ์ ๊ฑฐ์ณ์ค์ผ ํ๋ค๋ ๊ฒ์ด์ฃ .
ํฝ์ ํ (Rasterization)
์ค์ ๋ก ๊ตฌํํ๋ ๋จ๊ณ์์, ์ด๋ค ๋ฒกํฐ์ ๊ฐ์ ํ๋ฉด์ ํฝ์ ๋ก ๋ณํํด ์ฐ๋ ์์ ์ ํฝ์ ํ(Rasterization)๋ผ๊ณ ํฉ๋๋ค. ์ํ์ ์ผ๋ก ์ง์ ํ ๋ฌผ์ฒด์ ํ์์ ๋ช ๊ฐ์ ํฝ์ ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ์์์ ์ด๋ค ๊ฑธ๋ก ๊ตฌ์ฑํ ์ง๋ฅผ ์ ํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ๋ง์ฝ ํ๋ฉด์ ํด์๋๊ฐ ์ง์์ธ ๊ฒฝ์ฐ์๋ ์ค์ ํฝ์ ์ ํํํ๋ ๋ฐ์ ํ๊ณ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ ํฝ์ ๋ค ์ค ํ๋๋ฅผ ๊ณจ๋ผ์ผ ํ๋ ์ ๋งคํ ์ํฉ์ด ๋ฐ์ํ์ฃ . ์ด ๊ฒฝ์ฐ์๋ ์ง์ ๋ ๊ท์น์ ๋ฐ๋ผ, 4๊ฐ ์ค ํ๋์ ํฝ์ ์ ์ ํํ๋ ์ ๋ฐ์ ์์ต๋๋ค.
์ญ์ผ๋ก ์คํฌ๋ฆฐ ์ขํ๊ณ์์ ๋ฐ์นด๋ฅดํธ ์ขํ๊ณ๋ก ๋ณํ์ ํ ๋์๋ ๊ท์น์ ์ง์ ํด, ํฝ์ ์์ญ ๋ด์์ ํ๋์ ๋ํ๊ฐ์ ์ถ์ถํด์ผ ํฉ๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ ํฝ์ ์ ์ค์๊ฐ์ ํตํด ๋ฒกํฐ๋ฅผ ๋ฝ์, ๋ฐ์นด๋ฅดํธ ์ขํ๊ณ๋ก ๋ณํํ๋ ๋ชจ์ต์ ๋๋ค.
3. ์ ๊ทธ๋ฆฌ๊ธฐ ์๊ณ ๋ฆฌ์ฆ
์ํ์ ์ผ๋ก ์ค๊ณํ ๊ณต์(\( L(a) = a \cdot P_1 + (1-a) \cdot P_2 \))์ ํตํด ์ ์ ๊ทธ๋ฆฌ๊ณ , ๊ฑฐ๊ธฐ์ ํฝ์ ์ ๋ง์ถ ์๋ ์๊ฒ ์ง๋ง ์ด๋ ์ด๋ ค์ด ์ ์ด ๋ง์ต๋๋ค. \(a\) ์ ๊ฐ์ 0.01์ด๋ 0.001์ด๋ ์ ๋ฐํ๊ฒ ์ฌ๋ฆด ๋, ์ด ์ ๋ฐ๋๋ ๊ธฐ์ธ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ๊ฒ์ด๊ณ , ์ ๋ฐ๋๊ฐ ๋์์ง์ ๋ฐ๋ผ ์ปดํจํฐ ์ฐ์ฐ๋์ด ๋ง์์ ธ ๋ถํ๊ฐ ์ฌํด์ง๋๋ค. ๊ทธ๋์, ์ด๋ฌํ ์ ์ ํจ๊ณผ์ ์ผ๋ก ๊ทธ๋ฆด ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ธ๋ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์์ต๋๋ค.
๋ธ๋ ์ ํ ์ง์ ์๊ณ ๋ฆฌ์ฆ (Bresenham's Line Algorithm)
์ค์ (Mid-point) ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์คํฌ๋ฆฐ ์ขํ๊ณ๊ฐ ์ ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ์ ์ ์ฐ์ฐ๋ง์ ์ฌ์ฉํ๋ค๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ธ๋ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด์ 8๋ฑ๋ถํ๊ณ 1 ~ 8(Octant)๋ก ๋๋๋๋ค.
์ฐ๋ฆฌ๊ฐ ํํ ์๋ ์ง์ ์ ๋ฐฉ์ ์์ ๋ค์๊ณผ ๊ฐ์ฃ .
$$ y = ax + b $$
์ ์๋ก ๋ ์คํฌ๋ฆฐ ์ขํ๊ณ์์ ๋ ์ \( P_1(x_0, \ y_0), \ P_2(x_1, \ y_1)\) ๊ฐ ์ฃผ์ด์ง๋ฉด, ๋ค์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
- ๋๋น(\(w\)) : \( x_1 - x_0 \)
- ๋์ด(\(h\)) : \( y_1 - y_0 \)
- ์์์ ์ ์ขํ \((x_0, \ y_0)\), ๋ ์ ์ ์ขํ \((x_1, \ y_1)\)
๊ธฐ์ธ๊ธฐ \(a = \frac{\Delta y}{\Delta x} = \frac{h}{w} \) ๊ฐ ๋ฉ๋๋ค. ์ด๋ ๊ฒ ๊ตฌํ \(a\) ์ ์์์ ์ขํ \( (x_0, \ y_0) \) ๋ฅผ \( y = ax + b \) ์ ๋์ ํ๋ฉด, \(b\) ๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
$$ y_0 = \frac{h}{w}x_0 + b $$
$$ \therefore b = y_0 - \frac{h}{w}x_0 $$
์ด๋ ๊ฒ ๊ตฌํ \(a, \ b\) ๋ฅผ ์๋ ์ง์ ์ ๋ฐฉ์ ์์ ๋ฃ์ด, ๋ค์๊ณผ ๊ฐ์ ์์ ์ป์ ์ ์์ต๋๋ค.
$$ y = \frac{h}{w}x + y_0 - \frac{h}{w}x_0 $$
๋ธ๋ ์ ํ ์๊ณ ๋ฆฌ์ฆ ์์ ์๋๋ฆฌ์ค
์์์ \((x_0, \ y_0)\) ์ ๋ ์ \((x_1, \ y_1)\) ์ด ์ฃผ์ด์ง๊ณ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ตฌํด๋ดค์ ๋, ์ด ์ง์ ์ด 1ํ๋ถ๋ฉด ๋ฐฉํฅ์ ํด๋นํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. 1ํ๋ถ๋ฉด ๋ฐฉํฅ์ด๋ฏ๋ก, ์ ๋ถ์ ์ค๋ฅธ์ชฝ ์๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์์์ ์ดํ ๋ค์์ผ๋ก ์ฐ์ ์ ์ด ์์์ ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํํ ์ด๋ํ๋์ง, ์๋๋ฉด ์ค๋ฅธ์ชฝ ํ์นธ ์๋๋ก ๋ด๋ ค๊ฐ๋์ง๋ฅผ ํ๋ณํด์ผ ํฉ๋๋ค. ์ด๋ ์ค์ ๊ฐ์ ๋ณด๊ณ ํ๋จํ ์ ์์ต๋๋ค.
์์์ ๊ตฌํ๋ ์ง์ ๋ฐฉ์ ์์์ \(x = x_0 + 1\) ์ ๋์ ํ ๊ฐ \(y\) ๊ฐ \( y_0 + 0.5 \) ๋ณด๋ค ์๋ค๋ฉด, ์ค๋ฅธ์ชฝ์ผ๋ก ํํ ์ด๋ํ ์ ์ ์ ํํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๊ฒ ์๋๋ผ๋ฉด, ํ์นธ ์๋๋ก ๋ด๋ ค๊ฐ๋ฉด ๋๊ฒ ์ง์.
์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ y = \frac{h}{w}(x_0 + 1) + y_0 - \frac{h}{w}x_0 = \frac{h}{w} + y_0 $$
์ฆ, \( \frac{h}{w} + y_0 < y_0 + 0.5 \) ์ด๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ํํ์ด๋, ์๋๋ผ๋ฉด ์ค๋ฅธ์ชฝ ์๋๋ก ํ ์นธ ์ด๋ํฉ๋๋ค.
์ ๋ถ๋ฑ์์ ๋ค์๊ณผ ๊ฐ์ด ๋จ์ํ ์ํฌ ์ ์์ต๋๋ค.
$$ \frac{h}{w} - 0.5 < 0 $$
$$ \rightarrow \ 2w(\frac{h}{w} - 0.5) < 0 \cdot 2w $$
$$ \rightarrow \ 2h - w < 0 $$
์ด๋ฅผ ํตํด, ์ฐ๋ฆฌ๋ ํ๋ณ์ \(2h - w < 0 \) ์ ์ป๊ฒ ๋์์ต๋๋ค. ๊ณ์ํด์ \(x\) ๊ฐ์ 1์ฉ ์ฆ๊ฐ์์ผ๋ฉฐ, ๋ค์ ์ค์ ๊ฐ์ ๋ํด ํ๋ณ์ ๊ฐ์ ๋ณํ๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ ํจํด์ ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
- ํํ ์ด๋ํ ๊ฒฝ์ฐ, \(2h\) ๋งํผ ์ฆ๊ฐ
- ์๋๋ก ๋ด๋ ค๊ฐ ๊ฒฝ์ฐ, \(2h - 2w\) ๋งํผ ์ฆ๊ฐ
์ฆ, ์ด๋ฅผ ํตํด ๋ค์๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ ์์๋๋ฅผ ์๊ฐํ ์ ์์ต๋๋ค.
- ์ต์ด ํ๋ณ์์ ๊ตฌํ๊ณ ์์์ ์ ์ฐ๋๋ค.
- ํ๋ณ์ \(<\) 0 ์ด๋ผ๋ฉด ํํ ์ด๋์ด๋ฏ๋ก, \(x\) ๊ฐ์ 1 ์ฆ๊ฐ์ํค๊ณ , ํ๋ณ์์ \(2h\) ๋ฅผ ๋ํ๋ค.
- ํ๋ณ์ \(\geq\) 0 ์ด๋ผ๋ฉด ์ค๋ฅธ์ชฝ ํ ์นธ ์๋๋ก ์ด๋์ด๋ค.
์ด์ ๋ฐ๋ผ, \(x, \ y\) ๊ฐ์ 1์ฉ ์ฆ๊ฐ์ํค๊ณ , ํ๋ณ์์ \(2h - 2w\)๋ฅผ ๋ํ๋ค. - ์ ์ ์ฐ๊ณ , ๋ ์ ์ ๋๋ฌํ ๋๊น์ง 2 ~ 3๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
๋๋จธ์ง ํ๋ถ๋ฉด์์๋ ์ด๋ป๊ฒ ์งํํ๋๊ฐ?
์์์ 1ํ๋ถ๋ฉด์ ๋ํ ์๋๋ฆฌ์ค๋ฅผ ํ์ธํด ๋ดค๋๋ฐ, ๊ทธ๋ผ ๋๋จธ์ง ํ๋ถ๋ฉด ๋ฐฉํฅ์ ๋ํด์๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊น์?
๊ธฐ์ธ๊ธฐ๊ฐ 0 ~ 45๋๋ก ํ์ ๋์ด ๊ฐํ๋ฅด์ง ์์ 1, 4, 5, 8ํ๋ถ๋ฉด๋ค์ ์ฌ์ค์ ๋งค์ปค๋์ฆ์ด ๊ฑฐ์ ๋์ผํฉ๋๋ค.
1, 8ํ๋ถ๋ฉด์ \(x\) ๊ฐ์ ๊ทธ๋๋ก ์ฆ๊ฐ์ํค๊ณ , \(y\) ๊ฐ์ ์ฆ๊ฐ์ํค๋, ๊ฐ์์ํค๋์ ๋ํ ์ฐจ์ด์ผ ๋ฟ์ด์ฃ . 1ํ๋ถ๋ฉด์์ \(y\) ๊ฐ์ด ์ ์ฐจ ์ฆ๊ฐํ์ง๋ง, 8ํ๋ถ๋ฉด์์ \(y\) ๊ฐ์ด ์ ์ฐจ ๊ฐ์ํ๊ฒ ์ง์. 4, 5ํ๋ถ๋ฉด๋ \(x\) ๊ฐ ๊ฐ์ํ๋ค๋ ๊ฒ ์ธ์๋ ๋๊ฐ์ต๋๋ค.
๊ทธ์ ๋ฐํด, ๊ธฐ์ธ๊ธฐ๊ฐ 45๋ ~ 90๋๋ก ํ์ ๋์ด ๊ฐํ๋ฅธ 2, 3, 6, 7ํ๋ถ๋ฉด๋ค์ ๊ด์ ์ ์กฐ๊ธ ๋ฐ๊ฟ์ ์ ์ฉํด์ค์ผ ํฉ๋๋ค.
\(x\) ๊ฐ ๋ณํ๋ ๊ฒ์ด ์๋ \(y\) ๊ฐ ๋ณํ๋ ๊ด์ ์ผ๋ก์. \(y\) ์ถ์ ๊ธฐ์ค์ผ๋ก ๋ณด๊ฒ ๋๋ฉด 2, 3, 6, 7ํ๋ถ๋ฉด ๊ธฐ์ธ๊ธฐ๋ค๋ ๋ค์ 0 ~ 45๋๋ก ์๋งํ ๊ฒฝ์ฌ์ ๊ธฐ์ธ๊ธฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด์ง์. ๋ฐ๋ผ์, \(x\) ์ \(y\) ๋ฅผ ๋ฐ๊พผ ์ํ๋ก ๋์ผํ๊ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ๋ฉด ๋๋ฉฐ, ํ๋ณ์ ๋ํ ๋๋น์ ๋์ด๋ฅผ ๋ฐ๊ฟ์ ์ ์ฉํด์ฃผ๋ฉด ๋ฉ๋๋ค.
'๐ฎGame Development > Game Mathemathics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ฒ์ ์ํ] #14 | ํ ์ค์ฒ ๋งคํ(Texture Mapping) (0) | 2023.11.28 |
---|---|
[๊ฒ์ ์ํ] #13 | ์ผ๊ฐํ(Triangle) (1) | 2023.11.27 |
[๊ฒ์ ์ํ] #11 | ๋ด์ (Dot Product) (1) | 2023.11.25 |
[๊ฒ์ ์ํ] #10 | ์ํ ๊ณต๊ฐ(Affine Space) (1) | 2023.11.24 |
[๊ฒ์ ์ํ] #9 | ์ญํ๋ ฌ(Inverse Matrix) (1) | 2023.11.23 |