Simple Intersection Tests For Games (์์ญ)
[์๋ฌธ] http://www.gamasutra.com/view/feature/131790/simple_intersection_tests_for_games.php?page=1 ๋น์ ์ ์ฐจ๊ฐ ์์ 180๋ง์ผ๋ก finish line์ ํต๊ณผํ๋ , ์ด์์ด ๋น์ ์ ์น์ ๊ฐ์ด์ ๊ฟฐ๋ซ๋ , ๋ชจ๋ ๊ฒ์์ Object Intersection์์๋ ์ถฉ๋ํ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ธฐ์ฌ๋ ๋๋ถ๋ถ์ ํ์(Shape)์ ํ์ฉ๋๋ ๋ช๊ฐ์ง ๊ฐ๋จํ Intersection Test๋ฅผ ์๊ฐํฉ๋๋ค. => [Sphere, Box] Sweep Tests for Moving Objects Collision Detection์ ๊ฐ์ฅ ๊ณตํต์ ์ธ ์ ๊ทผ๋ฒ์ ๋งค Frame์ด ๋๋ ๋, ๋ ๋ฌผ์ฒด๊ฐ Overlap๋๋์ง๋ฅผ ํ
์คํธ ํ๋ ๊ฒ์
๋๋ค. ๋ฌธ์ ๋ ์ด ๋ฐฉ๋ฒ์ด ๋ ๋์์ด ์๋ก ๋น ๋ฅด๊ฒ ์์ง์ด๋ฉด์ ๊ต์ฐจํ ๋, ํ์งํ์ง ๋ชปํ ์๋ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด, ๋ฌผ์ฒด๋ค์ ๊ถค์ ์ ์๊ฒ ๋ถํ ํ ๋ค์, ๋งค Point์์ Check ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ด ๊ฒฝ์ฐ ๋ฌผ์ฒด์ (Frame ์ฌ์ด) ์ด๋ ๊ฐ๊ฒฉ์ด ๋์ ๊ฒฝ์ฐ, ๋๋ฌด ๋น์ผ ๋น์ฉ์ ์ง๋ถํด์ผ ํฉ๋๋ค. ๋ฐ๋ฉด์, Sweep Test๋ ํจ์จ์ ์ผ๋ก (๋ฌผ์ฒด๊ฐ) Overlap๋๋ ์๊ฐ ๊ฐ๊ฒฉ์ ๊ฒฐ์ ํ ์ ์๊ณ , ์ด๋ Subdivision ์๊ณ ๋ฆฌ์ฆ์์ ์ต์ ์ ์์์ ์ผ๋ก ์ด์ฉ๋ ์ ์์ต๋๋ค. A Sphere-Plane Sweep Test [Figure1. ํ๋ฉด์ ํต๊ณผํ๋ ๊ตฌ] ์์ ๊ทธ๋ฆผ์, ํ๋ฉด์ ๋น ๋ฅด๊ฒ ๊ฐ๋ก์ง๋ฅด๋ ๊ตฌ์ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ์ C 0 ๊ฐ ํ๋ฉด์ positive side์, ์ C 1 ๊ฐ negative side์ ์๋ ๊ฒ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก, ๊ตฌ๊ฐ (Frame์ ์ด๋ ์์ ์) ํ๋ฉด์ ๊ฐ๋ก์ง๋ฅผ ๋, d0 > r ์ด๊ณ d1 < r ์
๋๋ค. (r์ ๊ตฌ์ ๋ฐ์ง๋ฆ, d0๊ณผ d1์ ์ ...