๊ฒ์ ๋ฌผ๋ฆฌ ์ถฉ๋ ๊ฐ์ง์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ ์๊ณ ๋ฆฌ์ฆ, ์ต์ ํ ๊ธฐ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๊ฒ์ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ค์ฉ์ ์ธ ๊ตฌํ ๋ฐฉ์๊น์ง ์์ธํ ์์๋ด ๋๋ค.
๊ฒ์ ๋ฌผ๋ฆฌ: ์ถฉ๋ ๊ฐ์ง ์ฌ์ธต ๋ถ์
์ถฉ๋ ๊ฐ์ง๋ ๋น๋์ค ๊ฒ์์์ ํ์ค๊ฐ ์๊ณ ๋งค๋ ฅ์ ์ธ ๊ฒ์ํ๋ ์ด์ ์ด์์ ๋๋ค. ์ด๋ ๋ ์ด์์ ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ ๊ต์ฐจํ๊ฑฐ๋ ์๋ก ์ ์ดํ๋ ์์ ์ ๊ฒฐ์ ํ๋ ๊ณผ์ ์ ๋๋ค. ์ ํํ๊ณ ํจ์จ์ ์ธ ์ถฉ๋ ๊ฐ์ง๋ ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ณ , ์ค๋ธ์ ํธ๊ฐ ์๋ก๋ฅผ ํต๊ณผํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ฉฐ, ๊ฒ์ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด ๊ธ์ ์ ์ธ๊ณ ๊ฒ์ ๊ฐ๋ฐ์๋ค์ ์ํ ์ถฉ๋ ๊ฐ์ง ๊ธฐ๋ฒ, ์ต์ ํ ์ ๋ต, ๊ตฌํ ์ ๊ณ ๋ ค ์ฌํญ์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถฉ๋ ๊ฐ์ง๋ ์ ์ค์ํ๊ฐ?
์ถฉ๋ ๊ฐ์ง๋ ๊ด๋ฒ์ํ ๊ฒ์ํ๋ ์ด ๋ฉ์ปค๋์ฆ์ ๊ธฐ๋ณธ์ ๋๋ค:
- ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ: ๊ณต์ด ๋ฒฝ์ ํ๊ธฐ๊ฑฐ๋ ๋ ๋์ ์ฐจ๊ฐ ์๋ก ์ถฉ๋ํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ค๋ธ์ ํธ ๊ฐ์ ํ์ค์ ์ธ ์ถฉ๋ ์๋ฎฌ๋ ์ด์ .
- ์บ๋ฆญํฐ ์ด๋: ์บ๋ฆญํฐ๊ฐ ๋ฒฝ, ๋ฐ๋ฅ ๋๋ ๋ค๋ฅธ ๋จ๋จํ ์ค๋ธ์ ํธ๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋๋ก ๋ฐฉ์ง.
- ๋ฐ๋ฏธ์ง ๋ฐ ์ฒด๋ ฅ ์์คํ : ๋ฐ์ฌ์ฒด๊ฐ ์ ์๊ฒ ๋ง๊ฑฐ๋ ์บ๋ฆญํฐ๊ฐ ํจ์ ์ ๋ฐ์์ ๋๋ฅผ ๊ฐ์ง.
- ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ: ์บ๋ฆญํฐ๊ฐ ์ถฉ๋ถํ ๊ฐ๊น์์ก์ ๋ ๋ฌธ์ด ์ด๋ฆฌ๊ฑฐ๋ ํ์์ ์ด ํ์ฑํ๋๋ ๋ฑ ์ค๋ธ์ ํธ๊ฐ ์ถฉ๋ํ ๋ ์ด๋ฒคํธ ์์.
- AI ๋ด๋น๊ฒ์ด์ : AI ์์ด์ ํธ๊ฐ ์ฅ์ ๋ฌผ์ ํผํ๋ฉฐ ๊ฒ์ ์ธ๊ณ๋ฅผ ํ์ํ๋๋ก ๋์.
๊ฒฌ๊ณ ํ ์ถฉ๋ ๊ฐ์ง๊ฐ ์๋ค๋ฉด ๊ฒ์์ ๋นํ์ค์ ์ด๊ณ ๋ฒ๊ทธ๊ฐ ๋ง์ผ๋ฉฐ ํ๋ ์ด์ด์๊ฒ ์ข์ ๊ฐ์ ์ค ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ์ ์ธ๊ณ ๋ด์์ ๋ฏฟ์ ์ ์๋ ์๋ฎฌ๋ ์ด์ , ๋งค๋ ฅ์ ์ธ ๊ฒ์ํ๋ ์ด ๋ฃจํ, ๋ฐ์์ ์ธ ์ํธ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ ๊ตฌํ๋ ์ถฉ๋ ์์คํ ์ ๊ฒ์์ ์ ๋ฐ์ ์ธ ํ์ง๊ณผ ๋ชฐ์ ๋๋ฅผ ํฌ๊ฒ ํฅ์์ํต๋๋ค.
๊ธฐ๋ณธ ๊ฐ๋
ํน์ ์๊ณ ๋ฆฌ์ฆ์ ์ดํด๋ณด๊ธฐ ์ ์ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ ์ํด ๋ณด๊ฒ ์ต๋๋ค:
- ๊ฒ์ ์ค๋ธ์ ํธ: ์บ๋ฆญํฐ, ์ , ๋ฐ์ฌ์ฒด, ํ๊ฒฝ ์ค๋ธ์ ํธ ๋ฑ ๊ฒ์ ์ธ๊ณ ๋ด์ ๊ฐ์ฒด.
- ์ถฉ๋ ๋ชจ์(Collision Shapes): ์ถฉ๋ ๊ฐ์ง๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ ์ค๋ธ์ ํธ์ ๋จ์ํ๋ ๊ธฐํํ์ ํํ. ์ผ๋ฐ์ ์ธ ๋ชจ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ถ ์ ๋ ฌ ๊ฒฝ๊ณ ์์(AABBs): ์ขํ์ถ์ ์ ๋ ฌ๋ ์ฌ๊ฐํ(2D) ๋๋ ์ง์ก๋ฉด์ฒด(3D).
- ๋ฐฉํฅ์ฑ ๊ฒฝ๊ณ ์์(OBBs): ์ด๋ค ๊ฐ๋๋ก๋ ๋ฐฉํฅ์ ์ก์ ์ ์๋ ์ฌ๊ฐํ ๋๋ ์ง์ก๋ฉด์ฒด.
- ๊ตฌ(Spheres): ์ถฉ๋ ๊ฐ์ง์ ๊ฐ๋จํ๊ณ ํจ์จ์ .
- ์บก์(Capsules): ์บ๋ฆญํฐ๋ ๊ธฐํ ๊ธธ์ญํ ์ค๋ธ์ ํธ๋ฅผ ํํํ๋ ๋ฐ ์ ์ฉ.
- ๋ณผ๋ก ๊ป์ง(Convex Hulls): ์ ์ ์งํฉ์ ํฌํจํ๋ ๊ฐ์ฅ ์์ ๋ณผ๋ก ๋ค๊ฐํ ๋๋ ๋ค๋ฉด์ฒด.
- ํด๋ฆฌ๊ณค/๋ค๋ฉด์ฒด(Polygons/Polyhedra): ๊ฒ์ ์ค๋ธ์ ํธ์ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ์ ํํ๊ฒ ํํํ ์ ์๋ ๋ ๋ณต์กํ ๋ชจ์.
- ์ถฉ๋ ์(Collision Pairs): ์ถฉ๋ ํ ์คํธ๋ฅผ ๋ฐ๊ณ ์๋ ๋ ๊ฐ์ ๊ฒ์ ์ค๋ธ์ ํธ.
- ์ถฉ๋์ (Collision Point): ๋ ์ค๋ธ์ ํธ๊ฐ ์ ์ดํ๋ ์ง์ .
- ์ถฉ๋ ๋ฒ์ (Collision Normal): ์ถฉ๋์ ์์ ํ๋ฉด์ ์์ง์ธ ๋ฒกํฐ๋ก, ์ถฉ๋ ํ์ ๋ฐฉํฅ์ ๋ํ๋.
- ๊ดํต ๊น์ด(Penetration Depth): ๋ ์ค๋ธ์ ํธ๊ฐ ๊ฒน์น๋ ๊ฑฐ๋ฆฌ.
์ถฉ๋ ๊ฐ์ง ํ์ดํ๋ผ์ธ
์ถฉ๋ ๊ฐ์ง๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ๋จ๊ณ๋ก ์ํ๋ฉ๋๋ค:
1. ๋ธ๋ก๋ ํ์ด์ฆ (Broad Phase)
๋ธ๋ก๋ ํ์ด์ฆ๋ ๋ช ๋ฐฑํ ์ถฉ๋ํ์ง ์๋ ์์ ์ ๊ฑฐํ์ฌ ์ ์ฌ์ ์ธ ์ถฉ๋ ์์ ์๋ฅผ ์ ์ํ๊ฒ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ ๋จ์ํ๋ ์ถฉ๋ ํํ๊ณผ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ๋ชฉํ๋ ๋ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ด๋ก์ฐ ํ์ด์ฆ์์ ํ ์คํธํด์ผ ํ๋ ์ถฉ๋ ์์ ์๋ฅผ ์ค์ด๋ ๊ฒ์ ๋๋ค.
์ผ๋ฐ์ ์ธ ๋ธ๋ก๋ ํ์ด์ฆ ๊ธฐ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ถ ์ ๋ ฌ ๊ฒฝ๊ณ ์์(AABB) ์ค์ฒฉ ํ ์คํธ: ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ํจ์จ์ ์ธ ๋ธ๋ก๋ ํ์ด์ฆ ๊ธฐ๋ฒ์ ๋๋ค. ๊ฐ ์ค๋ธ์ ํธ๋ AABB๋ก ๋๋ฌ์ธ์ฌ ์์ผ๋ฉฐ, AABB๋ค์ด ๊ฒน์น๋์ง ํ ์คํธํฉ๋๋ค. AABB๊ฐ ๊ฒน์น์ง ์์ผ๋ฉด ์ค๋ธ์ ํธ๋ ์ถฉ๋ํ ์ ์์ต๋๋ค.
- ๊ณต๊ฐ ๋ถํ (Spatial Partitioning): ๊ฒ์ ์ธ๊ณ๋ฅผ ๋ ์์ ์์ญ์ผ๋ก ๋๋๊ณ ๋์ผํ ์์ญ ๋ด์ ์ค๋ธ์ ํธ๋ง ์ถฉ๋ ํ
์คํธ๋ฅผ ์ํํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ณต๊ฐ ๋ถํ ๊ธฐ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๊ทธ๋ฆฌ๋(Grid): ์ธ๊ณ๋ฅผ ๊ท ์ผํ ์ ๊ทธ๋ฆฌ๋๋ก ๋๋๋๋ค.
- ์ฟผ๋ํธ๋ฆฌ/์ฅํธ๋ฆฌ(Quadtree/Octree): ์ธ๊ณ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ ์์ ์์ญ์ผ๋ก ๋๋๋ ๊ณ์ธต์ ํธ๋ฆฌ ๊ตฌ์กฐ.
- ๊ฒฝ๊ณ ๋ณผ๋ฅจ ๊ณ์ธต(BVH): ๊ฐ ๋ ธ๋๊ฐ ์ค๋ธ์ ํธ ์งํฉ์ ๋๋ฌ์ธ๋ ๊ฒฝ๊ณ ๋ณผ๋ฅจ์ ๋ํ๋ด๋ ํธ๋ฆฌ ๊ตฌ์กฐ.
์์: 2D ํ๋ซํฌ๋จธ์์ AABB ์ค์ฒฉ ์ฌ์ฉํ๊ธฐ. ๋ธ๋ผ์ง์์ ๊ฐ๋ฐ๋ ํ๋ซํฌ๋จธ ๊ฒ์์ ์์ํด ๋ณด์ธ์. ํ๋ ์ด์ด ์บ๋ฆญํฐ๊ฐ ํน์ ํ๋ซํผ๊ณผ ์ถฉ๋ํ๋์ง ํ์ธํ๊ธฐ ์ ์ ๊ฒ์์ ๋จผ์ ๊ทธ๋ค์ AABB๊ฐ ๊ฒน์น๋์ง ํ์ธํฉ๋๋ค. AABB๊ฐ ๊ต์ฐจํ์ง ์์ผ๋ฉด ๊ฒ์์ ์ถฉ๋์ด ์๋ค๋ ๊ฒ์ ์๊ณ ๋ ์ ๋ฐํ(๊ทธ๋ฆฌ๊ณ ๊ณ์ฐ ๋น์ฉ์ด ๋ ๋น์ผ) ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋๋๋ค.
2. ๋ด๋ก์ฐ ํ์ด์ฆ (Narrow Phase)
๋ด๋ก์ฐ ํ์ด์ฆ๋ ๋ธ๋ก๋ ํ์ด์ฆ์์ ์๋ณ๋ ์ถฉ๋ ์์ ๋ํด ๋ ์ ๋ฐํ ์ถฉ๋ ๊ฐ์ง๋ฅผ ์ํํฉ๋๋ค. ์ด๋ ๋ ๋ณต์กํ ์ถฉ๋ ๋ชจ์๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ค๋ธ์ ํธ๊ฐ ์ค์ ๋ก ์ถฉ๋ํ๋์ง ํ์ธํ๊ณ ์ถฉ๋์ , ๋ฒ์ ๋ฐ ๊ดํต ๊น์ด๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๋ด๋ก์ฐ ํ์ด์ฆ ๊ธฐ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ถ๋ฆฌ ์ถ ์ด๋ก (SAT): ๋ณผ๋ก ๋ค๊ฐํ ๋๋ ๋ค๋ฉด์ฒด ๊ฐ์ ์ถฉ๋์ ๊ฐ์งํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ค๋ธ์ ํธ๋ฅผ ์ผ๋ จ์ ์ถ์ ํฌ์ํ๊ณ ๊ฒน์นจ์ ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค. ๋ถ๋ฆฌ ์ถ(ํฌ์์ด ๊ฒน์น์ง ์๋ ์ถ)์ด ์์ผ๋ฉด ์ค๋ธ์ ํธ๋ ์ถฉ๋ํ์ง ์๋ ๊ฒ์ ๋๋ค.
- ์ -ํด๋ฆฌ๊ณค/๋ค๋ฉด์ฒด ํ ์คํธ: ์ ์ด ํด๋ฆฌ๊ณค ๋๋ ๋ค๋ฉด์ฒด ๋ด๋ถ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ํํฐํด๊ณผ ์ ์ ์ง์ค๋ฉํธ๋ฆฌ ๊ฐ์ ์ถฉ๋ ๊ฐ์ง์ ์ ์ฉํฉ๋๋ค.
- GJK(๊ธธ๋ฒํธ-์กด์จ-ํค๋ฅดํฐ) ์๊ณ ๋ฆฌ์ฆ: ๋ ๋ณผ๋ก ๋ชจ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ถฉ๋ ๊ฐ์ง์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ ์ด ์บ์คํ (Ray Casting): ํ ์ค๋ธ์ ํธ์์ ๋ค๋ฅธ ์ค๋ธ์ ํธ๋ก ๋ ์ด๋ฅผ ๋ณด๋ด๊ณ ์ง์ค๋ฉํธ๋ฆฌ์ ๊ต์ฐจํ๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๋ฐ์ฌ์ฒด ์๋ฎฌ๋ ์ด์ ๋ฐ ์์ ๊ณ์ฐ์ ์ ์ฉํฉ๋๋ค.
์์: ์ผ๋ณธ์์ ๊ฐ๋ฐ๋ ๊ฒฉํฌ ๊ฒ์์์ SAT ์ฌ์ฉํ๊ธฐ. ๊ฒฉํฌ ๊ฒ์์ ํ๊ฒฉ์ ์ ํํ๊ฒ ๋ฑ๋กํ๊ธฐ ์ํด ์ ๋ฐํ ์ถฉ๋ ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค. ๊ฒ์์ ๋ถ๋ฆฌ ์ถ ์ด๋ก (SAT)์ ์ฌ์ฉํ์ฌ ์บ๋ฆญํฐ์ ์ฃผ๋จน์ด ์๋๋ฐฉ๊ณผ ์ฐ๊ฒฐ๋๋์ง ํ์ธํฉ๋๋ค. ์บ๋ฆญํฐ์ ์ฃผ๋จน๊ณผ ์๋๋ฐฉ์ ๋ชธ์ ๋ค์ํ ์ถ์ ํฌ์ํจ์ผ๋ก์จ ๊ฒ์์ ๋ณต์กํ ์บ๋ฆญํฐ ์ ๋๋ฉ์ด์ ์์๋ ์ถฉ๋์ด ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์์ธ
1. ์ถ ์ ๋ ฌ ๊ฒฝ๊ณ ์์(AABB) ์ค์ฒฉ ํ ์คํธ
AABB ์ค์ฒฉ ํ ์คํธ๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. AABB๋ ์ขํ์ถ์ ์ ๋ ฌ๋ ์ฌ๊ฐํ(2D) ๋๋ ์ง์ก๋ฉด์ฒด(3D)์ ๋๋ค. ๋ AABB๊ฐ ๊ฒน์น๋์ง ํ ์คํธํ๋ ค๋ฉด ๊ฐ ์ถ์ ๋ฐ๋ผ ๊ทธ ๋ฒ์๊ฐ ๊ฒน์น๋์ง ๊ฐ๋จํ ํ์ธํ๋ฉด ๋ฉ๋๋ค.
์๊ณ ๋ฆฌ์ฆ (2D):
function AABBOverlap(aabb1, aabb2):
if (aabb1.minX > aabb2.maxX) or (aabb1.maxX < aabb2.minX):
return false // X์ถ์์ ๊ฒน์น์ง ์์
if (aabb1.minY > aabb2.maxY) or (aabb1.maxY < aabb2.minY):
return false // Y์ถ์์ ๊ฒน์น์ง ์์
return true // ์ ์ถ์์ ๊ฒน์นจ
์ฅ์ :
- ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ํจ์จ์ ์ ๋๋ค.
- ๋ธ๋ก๋ ํ์ด์ฆ ์ถฉ๋ ๊ฐ์ง์ ์ ํฉํฉ๋๋ค.
๋จ์ :
- ๋ณต์กํ ๋ชจ์์๋ ๊ทธ๋ค์ง ์ ํํ์ง ์์ต๋๋ค.
- ์ค๋ธ์ ํธ๊ฐ AABB์ ์ํด ๋จ๋จํ ๋๋ฌ์ธ์ฌ ์์ง ์์ผ๋ฉด ๊ฑฐ์ง ์์ฑ(false positive)์ ์์ฑํ ์ ์์ต๋๋ค.
2. ๋ถ๋ฆฌ ์ถ ์ด๋ก (SAT)
๋ถ๋ฆฌ ์ถ ์ด๋ก (SAT)์ ๋ณผ๋ก ๋ค๊ฐํ ๋๋ ๋ค๋ฉด์ฒด ๊ฐ์ ์ถฉ๋์ ๊ฐ์งํ๋ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ด ์ด๋ก ์ ๋ ๋ณผ๋ก ์ค๋ธ์ ํธ์ ํฌ์์ด ๊ฒน์น์ง ์๋ ์ (2D)์ด๋ ํ๋ฉด(3D)์ด ์กด์ฌํ๋ค๋ฉด ๋ ์ค๋ธ์ ํธ๋ ์ถฉ๋ํ์ง ์๋๋ค๊ณ ๋ช ์ํฉ๋๋ค.
์๊ณ ๋ฆฌ์ฆ (2D):
- ์์ชฝ ํด๋ฆฌ๊ณค์ ๊ฐ ๋ชจ์๋ฆฌ์ ๋ํด ๋ฒ์ ๋ฒกํฐ(๋ชจ์๋ฆฌ์ ์์ง์ธ ๋ฒกํฐ)๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ๊ฐ ๋ฒ์ ๋ฒกํฐ(๋ถ๋ฆฌ ์ถ)์ ๋ํด:
- ๋ ํด๋ฆฌ๊ณค์ ๋ฒ์ ๋ฒกํฐ์ ํฌ์ํฉ๋๋ค.
- ํฌ์์ด ๊ฒน์น๋์ง ํ์ธํฉ๋๋ค. ๊ฒน์น์ง ์์ผ๋ฉด ํด๋ฆฌ๊ณค์ ์ถฉ๋ํ์ง ์๋ ๊ฒ์ ๋๋ค.
- ๋ชจ๋ ํฌ์์ด ๊ฒน์น๋ฉด ํด๋ฆฌ๊ณค์ ์ถฉ๋ํ๋ ๊ฒ์ ๋๋ค.
์ฅ์ :
- ๋ณผ๋ก ๋ชจ์์ ๋ํ ์ ํํ ์ถฉ๋ ๊ฐ์ง.
- ์ถฉ๋์ , ๋ฒ์ , ๊ดํต ๊น์ด๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค.
๋จ์ :
- AABB ์ค์ฒฉ๋ณด๋ค ๊ตฌํ์ด ๋ ๋ณต์กํฉ๋๋ค.
- ๋ชจ์๋ฆฌ๊ฐ ๋ง์ ๋ณต์กํ ๋ชจ์์ ๊ฒฝ์ฐ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค.
- ๋ณผ๋ก ๋ชจ์์๋ง ์๋ํฉ๋๋ค.
3. GJK (๊ธธ๋ฒํธ-์กด์จ-ํค๋ฅดํฐ) ์๊ณ ๋ฆฌ์ฆ
GJK ์๊ณ ๋ฆฌ์ฆ์ ๋ ๋ณผ๋ก ๋ชจ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๊ฑฐ๋ฆฌ๊ฐ 0์ธ์ง ํ์ธํ์ฌ ์ถฉ๋์ ๊ฐ์งํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. GJK ์๊ณ ๋ฆฌ์ฆ์ ๋ ๋ชจ์์ ๋ฏผ์ฝํ์คํค ์ฐจ(Minkowski difference)์์ ์์ ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฐพ์ ์๋ํฉ๋๋ค. ๋ ๋ชจ์ A์ B์ ๋ฏผ์ฝํ์คํค ์ฐจ๋ A - B = {a - b | a โ A, b โ B}๋ก ์ ์๋ฉ๋๋ค.
์ฅ์ :
- ๋ค์ํ ๋ณผ๋ก ๋ชจ์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ๋น๊ต์ ํจ์จ์ ์ ๋๋ค.
๋จ์ :
- AABB ์ค์ฒฉ๋ณด๋ค ๊ตฌํ์ด ๋ ๋ณต์กํฉ๋๋ค.
- ์์น ์ค๋ฅ์ ๋ฏผ๊ฐํ ์ ์์ต๋๋ค.
์ต์ ํ ๊ธฐ๋ฒ
์ถฉ๋ ๊ฐ์ง๋ ํนํ ์ค๋ธ์ ํธ๊ฐ ๋ง์ ๊ฒ์์์ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ํ๋ก์ธ์ค์ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ต์ ํ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋ธ๋ก๋ ํ์ด์ฆ ์ถฉ๋ ๊ฐ์ง: ์์ ์ธ๊ธํ๋ฏ์ด, ๋ธ๋ก๋ ํ์ด์ฆ๋ ๋ด๋ก์ฐ ํ์ด์ฆ์์ ํ ์คํธํด์ผ ํ๋ ์ถฉ๋ ์์ ์๋ฅผ ์ค์ ๋๋ค.
- ๊ฒฝ๊ณ ๋ณผ๋ฅจ ๊ณ์ธต(BVHs): BVH๋ ๊ฒ์ ์ธ๊ณ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ ์์ ์์ญ์ผ๋ก ๋๋๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ถฉ๋ ๊ฐ์ง์์ ์ธ๊ณ์ ๋์ ๋ถ๋ถ์ ์ ์ํ๊ฒ ์ ์ธํ ์ ์์ต๋๋ค.
- ๊ณต๊ฐ ๋ถํ : ๊ฒ์ ์ธ๊ณ๋ฅผ ๋ ์์ ์์ญ(์: ๊ทธ๋ฆฌ๋ ๋๋ ์ฟผ๋ํธ๋ฆฌ ์ฌ์ฉ)์ผ๋ก ๋๋๊ณ ๋์ผํ ์์ญ ๋ด์ ์ค๋ธ์ ํธ๋ง ์ถฉ๋ ํ ์คํธ๋ฅผ ํฉ๋๋ค.
- ์ถฉ๋ ์บ์ฑ: ์ถฉ๋ ๊ฐ์ง ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ์ค๋ธ์ ํธ๊ฐ ํฌ๊ฒ ์์ง์ด์ง ์์ ๊ฒฝ์ฐ ํ์ ํ๋ ์์์ ์ฌ์ฌ์ฉํฉ๋๋ค.
- ๋ณ๋ ฌํ: ์ถฉ๋ ๊ฐ์ง ์์ ์ ์ฌ๋ฌ CPU ์ฝ์ด์ ๋ถ์ฐ์ํต๋๋ค.
- SIMD(๋จ์ผ ๋ช ๋ น์ด, ๋ค์ค ๋ฐ์ดํฐ) ๋ช ๋ น์ด ์ฌ์ฉ: SIMD ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋ํด ๋์ผํ ์์ ์ ๋์์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ์ถฉ๋ ๊ฐ์ง ๊ณ์ฐ ์๋๋ฅผ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์ถฉ๋ ๋ชจ์ ์ ์ค์ด๊ธฐ: ๋ ๊ฐ๋จํ ์ถฉ๋ ๋ชจ์์ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ๋ฌ ์ถฉ๋ ๋ชจ์์ ๋จ์ผ ๋ชจ์์ผ๋ก ๊ฒฐํฉํ๋ฉด ์ถฉ๋ ๊ฐ์ง์ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์ต๋๋ค.
- ์๋ฉด ์ํ ๊ด๋ฆฌ: ์ ์งํด ์๋ ์ค๋ธ์ ํธ๋ ์ง์์ ์ธ ์ถฉ๋ ๊ฒ์ฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์๋ฉด ์ํ ์์คํ ์ ๋ถํ์ํ ๊ณ์ฐ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
์์: ๋ํ๋ฏผ๊ตญ์์ ๊ฐ๋ฐ๋ ์ค์๊ฐ ์ ๋ต(RTS) ๊ฒ์์์ ์ฟผ๋ํธ๋ฆฌ ์ฌ์ฉํ๊ธฐ. RTS ๊ฒ์์ ์ข ์ข ์๋ฐฑ ๋๋ ์์ฒ ๊ฐ์ ์ ๋์ด ๋์์ ํ๋ฉด์ ๋ํ๋ฉ๋๋ค. ์ถฉ๋ ๊ฐ์ง์ ๊ณ์ฐ ๋ถํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ฒ์์ ์ฟผ๋ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ ๋งต์ ๋ ์์ ์์ญ์ผ๋ก ๋๋๋๋ค. ๋์ผํ ์ฟผ๋ํธ๋ฆฌ ๋ ธ๋ ๋ด์ ์ ๋๋ง ์ถฉ๋ ๊ฒ์ฌ๊ฐ ํ์ํ๋ฏ๋ก ํ๋ ์๋น ์ํ๋๋ ์ถฉ๋ ๊ฒ์ฌ ์๊ฐ ํฌ๊ฒ ์ค์ด๋ญ๋๋ค.
์ค์ฉ์ ์ธ ๊ตฌํ ๊ณ ๋ ค ์ฌํญ
๊ฒ์์์ ์ถฉ๋ ๊ฐ์ง๋ฅผ ๊ตฌํํ ๋ ๋ช ์ฌํด์ผ ํ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ๊ณ ๋ ค ์ฌํญ์ด ์์ต๋๋ค:
- ์ ํ์ฑ ๋ ์ฑ๋ฅ: ์ ํ์ฑ๊ณผ ์ฑ๋ฅ ์ฌ์ด์๋ ์ข ์ข ์์ถฉ ๊ด๊ณ๊ฐ ์์ต๋๋ค. ๋ ์ ํํ ์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐ์ ์ผ๋ก ๊ณ์ฐ ๋น์ฉ์ด ๋ ๋ง์ด ๋ญ๋๋ค. ํฉ๋ฆฌ์ ์ธ ํ๋ ์ ์๋๋ฅผ ์ ์งํ๋ฉด์ ์์ฉ ๊ฐ๋ฅํ ์์ค์ ์ ํ์ฑ์ ์ ๊ณตํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํด์ผ ํฉ๋๋ค.
- ์ถฉ๋ ๋ชจ์ ์ ํ: ๊ฒ์ ์ค๋ธ์ ํธ์ ์ ํฉํ ์ถฉ๋ ๋ชจ์์ ์ ํํ๋ ๊ฒ์ ์ ํ์ฑ๊ณผ ์ฑ๋ฅ ๋ชจ๋์ ์ค์ํฉ๋๋ค. ๋ ๊ฐ๋จํ ๋ชจ์(์: AABB, ๊ตฌ)์ ์ถฉ๋ ํ ์คํธ๊ฐ ๋ ๋น ๋ฅด์ง๋ง ์ค๋ธ์ ํธ์ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ์ ํํ๊ฒ ๋ํ๋ด์ง ๋ชปํ ์ ์์ต๋๋ค. ๋ ๋ณต์กํ ๋ชจ์(์: ๋ณผ๋ก ๊ป์ง, ํด๋ฆฌ๊ณค)์ ๋ ์ ํํ์ง๋ง ๊ณ์ฐ ๋น์ฉ๋ ๋ ๋ง์ด ๋ญ๋๋ค.
- ์ถฉ๋ ๋ฐ์: ์ถฉ๋์ด ๊ฐ์ง๋๋ฉด ์ถฉ๋ ๋ฐ์์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ถฉ๋์ ๊ฒฐ๊ณผ๋ก ์ค๋ธ์ ํธ์ ๊ฐํด์ง๋ ํ๊ณผ ํ ํฌ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
- ์์น ์์ ์ฑ: ์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ํนํ ๋ถ๋ ์์์ ์ซ์๋ฅผ ๋ค๋ฃฐ ๋ ์์น ์ค๋ฅ์ ๋ฏผ๊ฐํ ์ ์์ต๋๋ค. ๋ฐฐ์ ๋ฐ๋ ๋ถ๋ ์์์ ์ซ์๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๊ณ ์ ์์์ ์ฐ์ ์ ์ฌ์ฉํ๋ ๋ฑ ์์น ์์ ์ฑ์ ํฅ์์ํค๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋ฌผ๋ฆฌ ์์ง๊ณผ์ ํตํฉ: ๋๋ถ๋ถ์ ๊ฒ์ ์์ง์ ์ถฉ๋ ๊ฐ์ง ๋ฐ ๋ฐ์์ ์ฒ๋ฆฌํ๋ ๋ด์ฅ ๋ฌผ๋ฆฌ ์์ง์ ์ ๊ณตํฉ๋๋ค. ๋ฌผ๋ฆฌ ์์ง์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ ๊ฒ์์ ํ์ค๊ฐ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ธ๊ธฐ ์๋ ์ต์ ์ผ๋ก๋ Unity์ ๋ด์ฅ ๋ฌผ๋ฆฌ ์์ง, Unreal Engine์ PhysX, Bullet Physics Library์ ๊ฐ์ ์คํ ์์ค ์์ง์ด ์์ต๋๋ค.
- ์ฃ์ง ์ผ์ด์ค: ์ถฉ๋ ๊ฐ์ง๋ฅผ ์ค๊ณํ ๋ ํญ์ ์ฃ์ง ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ์์คํ ์ด ๋น ๋ฅด๊ฒ ์์ง์ด๋ ์ค๋ธ์ ํธ, ํฐ๋๋ง ๋ฌธ์ (๊ณ ์์ผ๋ก ์ธํด ์ค๋ธ์ ํธ๊ฐ ์๋ก ํต๊ณผํ๋ ํ์), ๊ฒน์น๋ ์ค๋ธ์ ํธ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๋์ง ํ์ธํ์ญ์์ค.
์ถฉ๋ ๋ฐ์
์ถฉ๋ ๊ฐ์ง๋ ์ ํฌ์ ์ ๋ฐ์ ๋ถ๊ณผํฉ๋๋ค. ์ถฉ๋ ๋ฐ์์ ์ถฉ๋์ด ๊ฐ์ง๋ *ํ์* ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด๊ฒ์ ๋ฏฟ์ ์ ์๋ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ๋ง๋๋ ๋ฐ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ์ถฉ๋ ๋ฐ์์ ํต์ฌ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ถฉ๊ฒฉ๋ ๊ณ์ฐ: ์ถฉ๊ฒฉ๋์ ์งง์ ์๊ฐ ๋์ ๊ฐํด์ง๋ ํฐ ํ์ผ๋ก, ์ถฉ๋ ์ค ์ด๋๋์ ๋ณํ๋ฅผ ๋ํ๋ ๋๋ค. ์ถฉ๊ฒฉ๋์ ํฌ๊ธฐ์ ๋ฐฉํฅ์ ์ถฉ๋ํ๋ ์ค๋ธ์ ํธ์ ์ง๋, ์๋ ๋ฐ ๋ฐ๋ฐ ๊ณ์(ํ์ฑ ์ ๋)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ํ ์ ์ฉ: ๊ณ์ฐ๋ ์ถฉ๊ฒฉ๋์ ์ถฉ๋ํ๋ ์ค๋ธ์ ํธ์ ์ ์ฉ๋๋ ํ์ผ๋ก ๋ณํ๋์ด ์๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
- ๊ดํต ํด๊ฒฐ: ์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ด ์ค๋ธ์ ํธ๊ฐ ์ฝ๊ฐ ๊ดํตํ๋๋ก ํ์ฉํ๋ ๊ฒฝ์ฐ, ๊ดํต ํด๊ฒฐ์ ๊ฒน์นจ์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ค๋ธ์ ํธ๋ฅผ ์๋ก ๋ฐ์ด๋ ๋๋ค. ์ด๋ ์ถฉ๋ ๋ฒ์ ์ ๋ฐ๋ผ ์ค๋ธ์ ํธ๋ฅผ ์ด๋์ํค๋ ๊ฒ์ ํฌํจํ ์ ์์ต๋๋ค.
- ๋ง์ฐฐ: ์ถฉ๋ํ๋ ํ๋ฉด ์ฌ์ด์ ๋ง์ฐฐ์ ์๋ฎฌ๋ ์ด์ ํ๋ฉด ํ์ค๊ฐ์ ๋ํ ์ ์์ต๋๋ค. ์ ์ง ๋ง์ฐฐ์ ํน์ ํ์ ์๊ณ๊ฐ์ ๋๋ฌํ ๋๊น์ง ์ค๋ธ์ ํธ๊ฐ ๋ฏธ๋๋ฌ์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ์ด๋ ๋ง์ฐฐ์ ๋ฏธ๋๋ฌ์ง๊ธฐ ์์ํ๋ฉด ์์ง์์ ์ ํญํฉ๋๋ค.
- ์ฌ์ด๋ ๋ฐ ์๊ฐ ํจ๊ณผ: ์ถฉ๋์(์: ์ถฉ๋ ์๋ฆฌ) ๋ฐ ์๊ฐ ํจ๊ณผ(์: ๋ถ๊ฝ)๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ฉด ํ๋ ์ด์ด์ ๊ฒฝํ์ ํฅ์์ํค๊ณ ์ถฉ๋์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์์: ์๊ตญ์์ ๊ฐ๋ฐ๋ ๋ ์ด์ฑ ๊ฒ์์ ์ถฉ๋ ๋ฐ์. ๋ ์ด์ฑ ๊ฒ์์์๋ ์๋์ฐจ ๊ฐ์ ์ถฉ๋์ ์ ํํ๊ฒ ์๋ฎฌ๋ ์ด์ ํ๋ ๊ฒ์ด ํ์ค์ ์ธ ๊ฒฝํ์ ์ํด ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ ๋์ ์ฐจ๊ฐ ์ถฉ๋ํ๋ฉด ๊ฒ์์ ์๋์ ์ง๋์ ๊ธฐ๋ฐ์ผ๋ก ์ถฉ๊ฒฉ๋์ ๊ณ์ฐํฉ๋๋ค. ์ด ์ถฉ๊ฒฉ๋์ ์ฐจ์ ์๋๋ฅผ ๋ณ๊ฒฝํ๋ ํ์ ์ ์ฉํ๋ ๋ฐ ์ฌ์ฉ๋์ด ์๋ก ํ๊ฒจ ๋๊ฐ๊ฒ ํฉ๋๋ค. ๋ํ ๊ฒ์์ ์ฐจ๊ฐ ์๋ก ์์ ๋ผ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ชจ๋ ๊ดํต์ ํด๊ฒฐํฉ๋๋ค. ๋ํ, ํ์ค์ ์ธ ํ์ด์ด์ ์ง๋ฉด์ ์ ์ด์ ๋ง๋ค์ด ํธ๋ค๋ง๊ณผ ์์ ์ฑ์ ์ํฅ์ ๋ฏธ์น๋ ๋ง์ฐฐ์ด ์๋ฎฌ๋ ์ด์ ๋ฉ๋๋ค.
๊ณ ๊ธ ๊ธฐ๋ฒ
๊ณ ๊ธ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํด ๋ค์ ๊ธฐ๋ฒ๋ค์ ๊ณ ๋ คํด ๋ณด์ธ์:
- ๋ณํ ๊ฐ๋ฅํ ์ถฉ๋ ๋ชจ๋ธ: ์ฒ์ด๋ ์ ์ฒด์ ๊ฐ์ ๋ถ๋๋ฌ์ด ๋ฌผ์ฒด์ ๋ฌผ๋ฆฌ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ํจ์ฌ ๋ ๋ง์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ด ํ์ํ์ง๋ง ํจ์ฌ ๋ ํ์ค์ ์ธ ์๋ฎฌ๋ ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
- ๋น์ ํด๋ฆฌ๋ ๊ณต๊ฐ: ์ผ๋ถ ๊ฒ์ ๋ฐ ์๋ฎฌ๋ ์ด์ ์ ๋น์ ํด๋ฆฌ๋ ๊ณต๊ฐ์์ ์งํ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต๊ฐ์์์ ์ถฉ๋ ๊ฐ์ง ๋ฐ ๋ฐ์์๋ ํน์ํ ๊ธฐ๋ฒ์ด ํ์ํฉ๋๋ค.
- ํ ํฑ ํผ๋๋ฐฑ ํตํฉ: ํฌ์ค ํผ๋๋ฐฑ ์ฅ์น๋ฅผ ์ถ๊ฐํ๋ฉด ๋ชฐ์ ๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์์ต๋๋ค. ํ์ค์ ์ธ ํ์ ์์ฑํ๊ธฐ ์ํด์๋ ์ ๋ฐํ ์ถฉ๋ ๋ฐ์ดํฐ๊ฐ ํ์ํฉ๋๋ค.
๊ฒฐ๋ก
์ถฉ๋ ๊ฐ์ง๋ ํ์ค๊ฐ ์๊ณ ๋งค๋ ฅ์ ์ธ ๊ฒ์ํ๋ ์ด ๊ฒฝํ์ ๋ง๋๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ ๊ฒ์ ๋ฌผ๋ฆฌํ์ ๊ธฐ๋ณธ ์ธก๋ฉด์ ๋๋ค. ์ด ๊ธ์์ ๋ ผ์๋ ๊ธฐ๋ณธ ๊ฐ๋ , ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์ต์ ํ ๊ธฐ๋ฒ์ ์ดํดํจ์ผ๋ก์จ ๊ฒ์ ๊ฐ๋ฐ์๋ ๊ฒ์์ ํ์ง๊ณผ ๋ชฐ์ ๋๋ฅผ ํฅ์์ํค๋ ๊ฒฌ๊ณ ํ๊ณ ํจ์จ์ ์ธ ์ถฉ๋ ๊ฐ์ง ์์คํ ์ ๊ตฌํํ ์ ์์ต๋๋ค. ์ต์์ ์ ๊ทผ ๋ฐฉ์์ ์ข ์ข ํ๋ก์ ํธ์ ํน์ ์๊ตฌ์ ๋ง์ถฐ์ง ๊ธฐ๋ฒ๋ค์ ์กฐํฉ์ ํฌํจํ๋ค๋ ์ ์ ๊ธฐ์ตํ์ญ์์ค. ๊ฒ์ ์ธ๊ณ๊ฐ ์ ์ ๋ ๋ณต์กํด์ง์ ๋ฐ๋ผ, ์ ์ธ๊ณ ํ๋ ์ด์ด๋ค์ ์ํด ์ง์ ์ผ๋ก ๋ฏฟ์ ์ ์๊ณ ์ํธ์์ฉ์ ์ธ ๊ฒฝํ์ ๋ง๋๋ ๋ฐ ์ถฉ๋ ๊ฐ์ง๋ฅผ ๋ง์คํฐํ๋ ๊ฒ์ด ๋์ฑ ์ค์ํด์ง๋๋ค. ๋ค์ํ ๋ฐฉ๋ฒ์ ์คํํ๊ณ ์ ํ์ฑ, ์ฑ๋ฅ ๋ฐ ๊ฒ์ํ๋ ์ด ๋๋ ์ฌ์ด์ ์ต์ ์ ๊ท ํ์ ๋ฌ์ฑํ๊ธฐ ์ํด ์์คํ ์ ๋ฏธ์ธ ์กฐ์ ํ๋ ๊ฒ์ ๋๋ ค์ํ์ง ๋ง์ญ์์ค.