๋์์ ๊ทผ๋ฐ Vector3์ฒ๋ผ ์ค์ํ ํ๋กฏ3๊ฐ๋
๋์ ๋๋ฆฌ์ ํค๋ก ์ ๋ฌํ๋ฉด ์ค๋ณต์๋๋ ํด์์ฝ๋๋ก
์ฒ๋ฆฌ๋๋?
๋ c++๋ก ์ด๊ฑฐ ์์ข ๋ดค๋๋ฐ
์ ๋ํฐ๋ ์ด๊ฑฐ ์๋ํ๋์ด ์์๊น?
์ต๊ทผ์ ์ ๋ํฐ์จ๋ณธ์ ์ด ์์ด์ ๊ฐ๋ฌผ๊ฐ๋ฌผํ๋ค
๋ฌผ๋ก astar๋ ธ๋์ ์์น๋ฅผ ๋์ ๋๋ฆฌ์ ํค๋ก ์ ์ฅํ ๋
Vector3Int๋ก๋ฐ์๋ ๋น์ฅ์ ๋ฌธ์ ์์ง๋ง
ํ์ด์ฟค๊ฒ์์์ ๊ทธ๋ฆฌ๋ ํ ๊ฐ์ ๋ ธ๋๋ฅผ ์ฌ๋ฌ๊ฐ ๋ถํฌ ์์ผ์ผํ๋
๊ฒฝ์ฐ ๊ฐ์ ์ ์๋ถ๋ผ๋ ์์๋ถ๊ฐ ๋ฌ๋ผ์ง๊ฑฐ์๋์ผ
์ด๋ ์์์ ๋ ์ค๋ณต๋์ง ์๊ฒ ํค๋ก ์ ๋ฌ๋ฐ์์ผํ๊ฑฐ๋
์๋ํ๋ ค๋๊ฒ ์๋๊ณ ์ทจ์ ํ๋ฉด ์ ๋ํฐ์ธ๊ฑฐ๋ผ์
์ด๊ฑฐ ์๋์ด์์ผ๋ฉด ๊ฝค๋ ๊ท์ฐฎ์์ง๋๋ฐ
๋์ ๋๋ฆฌ์ ํค๋ก ์ ๋ฌํ๋ฉด ์ค๋ณต์๋๋ ํด์์ฝ๋๋ก
์ฒ๋ฆฌ๋๋?
๋ c++๋ก ์ด๊ฑฐ ์์ข ๋ดค๋๋ฐ
์ ๋ํฐ๋ ์ด๊ฑฐ ์๋ํ๋์ด ์์๊น?
์ต๊ทผ์ ์ ๋ํฐ์จ๋ณธ์ ์ด ์์ด์ ๊ฐ๋ฌผ๊ฐ๋ฌผํ๋ค
๋ฌผ๋ก astar๋ ธ๋์ ์์น๋ฅผ ๋์ ๋๋ฆฌ์ ํค๋ก ์ ์ฅํ ๋
Vector3Int๋ก๋ฐ์๋ ๋น์ฅ์ ๋ฌธ์ ์์ง๋ง
ํ์ด์ฟค๊ฒ์์์ ๊ทธ๋ฆฌ๋ ํ ๊ฐ์ ๋ ธ๋๋ฅผ ์ฌ๋ฌ๊ฐ ๋ถํฌ ์์ผ์ผํ๋
๊ฒฝ์ฐ ๊ฐ์ ์ ์๋ถ๋ผ๋ ์์๋ถ๊ฐ ๋ฌ๋ผ์ง๊ฑฐ์๋์ผ
์ด๋ ์์์ ๋ ์ค๋ณต๋์ง ์๊ฒ ํค๋ก ์ ๋ฌ๋ฐ์์ผํ๊ฑฐ๋
์๋ํ๋ ค๋๊ฒ ์๋๊ณ ์ทจ์ ํ๋ฉด ์ ๋ํฐ์ธ๊ฑฐ๋ผ์
์ด๊ฑฐ ์๋์ด์์ผ๋ฉด ๊ฝค๋ ๊ท์ฐฎ์์ง๋๋ฐ
์ ๋ํฐ๊ฐ ์๋๋ผ .net C#์ด๋ผ๊ณ ์๊ฐํด
Vector3๊ตฌ์กฐ์ฒด๋ ์ ๋ํฐ์์ ๋ง๋ ๊ฑฐ์์ ๋น ๊ฐ์ผ
c# ์์ struct ๋ ๋ฐธ๋ฅํ์ ์ ๋์ ๋๋ฆฌ ํค๋ก์ฐ๋ฉด ๊ฑ ํค๋ฅผ ๊ฐ๋น๊ตํด์ ๋ถ๋์์์ ์ด๋ ๋ญ๋ ์๊ด์์ด ์ ๋ํฌํ๊ฒ ์ ๋จ ๊ทธ๋ฆฌ๊ณ ํด์์ฝ๋๋ ๋ณ์๊ด์์ ๋น๊ต๋ณด๋ค ์ธ๋๊น ๊ฑ ๋น๊ต์ ์ ํด์์ฝ๋๋ก ๋น๊ตํ๋๊ฑด๋ฐ
์ํ์๋ผ์ผ ๋ด๊ฐ ๋ง๋ ๊ตฌ์กฐ์ฒด๊ฐ ๊ฐ์ผ๋ก ์ธ์ํ๋ ค๋ฉด ๋ด๊ฐ ํด์ฌ์ฝ๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํด์ ๋ง๋ค์ด์ผํ๋๋ฐ ์ ๋ํฐ๊ฐ ๊ทธ ์์ ์ ํด์คฌ๋ ์ํด์คฌ๋ ๋ฌผ์ด๋ณด๊ณ ์๋๋ฐ ์ ๋ฑ๋ด์ง๊ฐ์ ์๋ฆฌ์ผ
struct ํ์ ์ ๋๊ฐ ์ง์ ๋น๊ต์๋ฅผ ์ ๋ฌ์ํด์ฃผ๋ฉด object๋ก ๋ฐ์ฑํด์ ์ฒ๋ฆฌํจ. ๊ฐ์ฒด๋ c#์์ ์์์ ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ผ๋ก ์ธํ ๋ฌธ์ ๋ ์ผ์ด๋์ง ์๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ๋ ค๋ฉด x, y, z๋ก ๊ตฌ์ฑ๋ ํด๋์ค๋ฅผ ํ๋ ํ์ ์ฌ์ฉํ๋ ๊ฐ ๋น๊ต์ ํด์ฑ์ ์ ์ฒ๋ฆฌํ ์์๋๋ก IComparable ์ธํฐํ์ด์ค๋ฅผ ์์ํ ๋น๊ต์ ํด๋์ค๋ฅผ ์์ฑํด์ ์ ๋ฌํด์ฃผ๋ฉด ๋จ.
ใ ในํ์ง๋ง๋ผ ๋น๊ต ์ฐ์ฐ์์ค๋ฒ๋ก๋ฉ์ ๋ค ์๋ํ๋์ด์๊ณ ํด์ฌ์ฝ๋๋ ์๋ํ๋์ด์๋๊ฑฐ ๋ง๋๋ฐ ๊ทธ ์๋ํ๋ ํด์ฌ์ฝ๋๊ฐ ์ค๋ณต๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด ๊ทธ๋์ ์ฌ์ฉ์๊ฐ ์ค๋ฒ๋ก๋ฉ์ผ๋ก ํด์ฌ์ฝ๋ ์ง์ ํด์ค์ผํ๋ค๊ณ msdn์ ๊ทธ๋ ๊ฒ ๋์
๋๊ฐ dictionary ์ฝ๋๋ฅผ ๋ดค๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ์ด์ ํด์ ๊ฐ์ผ๋ก๋ง ์ฐพ์ง ์๋๋ค. ํด์๋ฅผ ์ฐ์ ๋น๊ตํ๊ณ , Equals๋ก ํ์คํ์ง ์๋์ง ํ์ธํ๋ ๋ฐฉ์์ด์ง. ๊ธฐ๋ณธ ์ ๊ณตํ๋ ํด์ ํจ์๋ ์ถฉ๋ถํ ์ข์์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋ฎ๊ณ ์ค๋ น ์ง์ง ํด์ ์ถฉ๋์ด ์ผ์ด๋๋๋ผ๋ key bucket์๋ค ์ฒด์ด๋ ๋ฐฉ์์ผ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ํด์๊ฐ์ด ์ค๋ณต๋๋๋ผ๋ ๊ฐ์ ํด์ ๊ฐ ์ฌ์ด์์ ์ ํ ํ์์ผ๋ก ๋๊ฐ ์์ฒญํ ๊ฐ์ ์ฐพ์์จ๋ค. ๋ฌผ๋ก ์ด๋ฐ ํด์ ์ฒด์ด๋์ด ๊ธธ์ด์ง๋ฉด ์ฑ๋ฅ์ ์ ํ๊ฐ ์์ ์ ์๊ฒ ์ง๋ง ์ ์ด์ ์๋ฒฝํ ํด์๋ ์๋๋ฐ๋ค ๋๊ฐ ์ด ์ ๋์ ์ถฉ๋๋ ์ฉ๋ฉํ ์ ์๋ ํ๊ฒฝ์ ํ๊ฒํ๊ณ ์๋๊ฒ ์๋๋ผ๋ฉด ์ ํ ์ ๊ฒฝ์ธ ํ์๊ฐ ์๋ค.
hash ์ถฉ๋๋ dictionary๊ฐ ์ ๋์ ํ๋์ง์ ๋ํ ๊ฒ์ฆ์ ๊ตฌ๊ธ๋ง ํด๋ณด๋ฉด ์ผ๋ง๋ ์ง ์คํ๊ฒฐ๊ณผ๊ฐ ์์ผ๋๊น ๋ชป๋ฏฟ๊ฒ ์ผ๋ฉด ์ฐพ์๋ณด๊ณ