(์์ญ) Separating Axis Theorem(SAT) ์ค๋ช
[์๋ฌธ] https://www.sevenson.com.au/actionscript/sat/ Separating Axis Theorem(SAT)๋ ๋ณผ๋ก๋ค๊ฐํ(convex polygons) ์ฌ์ด์ ์ถฉ๋์ ๊ณ์ฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ์
๋๋ค. ์ ๊ฒฐ์ฝ ์ ๋ฌธ๊ฐ๋ ์๋์ง๋ง, ์ ์๊ฒ Collision Detection์ด ํ์ํด์ง ๋ค์๋ถํฐ, ์ ๋ ๊ด๋ จ ์๋ฃ๋ค์ ๋ชจ์์๊ณ , ๊ฒฐ๊ตญ ์ด๋ฅผ ActionScript 3๋ก ๊ตฌํํ์ต๋๋ค. ๋ค๋ฅธ ์ด๋ค์ด (์ ์ ๊ฐ์ด) ๊ณ ํต์ ๊ฒช์ง ์์์ผ๋ฉด ํ๋ ๋ง์์, ์ด๋ฅผ ๊ณต์ ํฉ๋๋ค. Flash์์ Polygon๋ค ์ฌ์ด์ ์ถฉ๋๊ณ์ฐ์ด ํ์ํจ์ ๋๊ผ์ ๋๋ถํฐ, ์ ๋ ์ผ๋ช
'๋ถ๋ฆฌ์ถ ๊ฒ์ฌ ์ด๋ก (SAT)'๋ก ์๋ ค์ง ์ด ๋ฐฉ๋ฒ์ ์๊ฒ๋์์ต๋๋ค. ์ ์ผํ ๋ฌธ์ ๋, ์ ๊ฐ ์ด๋ฅผ ์ ๊ฒ์ผ๋ก ๋ง๋ค๊ธฐ์ํด ์์ฒญ๋๊ฒ ๊ณ ์ํ๋ค๋ ๊ฒ์ด์ง์. ์์ฃผ ๋ง์ Collision Detection ์๋ฃ๋ฅผ ์ฝ๊ณ , ์ฝ๋ ์ํ์ ์กฐ์ฌํ ๋ค์์ผ ํ์
ํ ์ ์์์ต๋๋ค. ์ํฌ์(?)๋ค์ ์ํด, ๋จผ์ ์ด ์ด๋ก ์ ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง๋ฅผ ๊ฐ๋ณ๊ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค. The quick rundown ์ผ๋ฐ์ ์ผ๋ก, SAT์ ๋ชฉ์ (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ชจ๋ Collision Detection ๊ธฐ๋ฒ) ์ ๋ชฉํ๋ ๋ Shape ์ฌ์ด์ ๊ฐ๊ฒฉ์ด ์กด์ฌํ๋ ์ง๋ฅผ ํ
์คํธ ํ๋ ๊ฒ์
๋๋ค. ์ ๊ฐ ์๋, SAT์ ๋ํ ๊ฐ์ฅ ์ข์ ๋น์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. [ ํ๋ถ์ ์ผ ๋ค์, ๋น์ ์ด ํ
์คํธ ํ๋ ค๋ ๋ Shape๋ฅผ ๋ค๋ฅธ ๊ฐ๋๋ก ๋น์ถ๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ด๋ค ๊ทธ๋ฆผ์์ ํํ๊ฐ, ๊ทธ ๋ Shape ๋ฐ๋ก ๋ค์ ๋ฒฝ์ ๋ํ๋ ๊น์? ] ๋ง์ฝ ๋น์ ์ด ๊ทธ Shape๋ค ์ฃผ์๋ฅผ ๋๋ฉด์ ํ
์คํธ ํด๋ณด๊ณ , ๊ทธ ๊ทธ๋ฆผ์๋ค ์ฌ์ด์์ ์๋ฌด๋ฐ ๊ฐ๊ฒฉ(gap)์ ๋ฐ๊ฒฌํ์ง ๋ชปํ๋ค๋ฉด, ๊ทธ ๋ Shape๋ ํ๋ฆผ์์ด ์ ์ดํ๊ณ ์์ ๊ฒ์
๋๋ค. ๋ฐ๋๋ก ๋ง์ฝ ๊ฐ๊ฒฉ์ ์ฐพ๋๋ค๋ฉด, ๋ถ๋ช
ํ ์ ์ดํ์ง ์์ ์ํ์ผ ๊ฒ์
๋๋ค. Programming์ ๊ด์ ์์, ์ด๋ ์ด~์์ฒญ ๋ง...
๋๊ธ
๋๊ธ ์ฐ๊ธฐ