GJK์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋„ํ˜•๋“ค์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ธ€์ด์—์š”


๊ทธ๋ฆฌ๊ณ  ์ €๋„ ์ˆ˜ํ•™์ด๋ž‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ž˜ ์•„๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ , ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋ฒ”์œ„ ์•ˆ์—์„œ๋งŒ ์“ฐ๋Š” ๋‚ด์šฉ๋“ค์ด๋ผ


ํ‹€๋ฆฌ๊ฑฐ๋‚˜ ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๋‚ด์šฉ๋“ค์ด ์žˆ์„์ˆ˜๋„ ์žˆ์–ด์š”




ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก


1. ๋ชฉ์ฐจ


์ด๋ฒˆ ๊ธ€์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์š”


์ฒซ๋ฒˆ์งธ๋กœย ์˜ค๋ธŒ์ ํŠธ์˜ ์ถฉ๋Œ์˜ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ณ , ์—ฌ๋Ÿฌ ์ถฉ๋ŒํŒ์ • ๋ฐฉ๋ฒ•๋“ค์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์‚ดํŽด๋ณผ ๊ฑฐ์—์š”


๋‘๋ฒˆ์งธ๋กœ GJK์ถฉ๋Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ๊ฑฐ์—์š”


๊ทธ๋ฆฌ๊ณ  ์„ธ๋ฒˆ์งธ๋กœ ๊ณก์„ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋„ํ˜•์„ ๋‹ค๊ฐํ˜•์œผ๋กœ ๊ฐ„๋žตํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ธฐ์šธ์–ด์ง„ ๋‹ค๋ฉด์ฒด์˜ ์ขŒํ‘œ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณธ ๋‹ค์Œ


๋งˆ์ง€๋ง‰์œผ๋กœ ์ถฉ๋Œ๊ฐ์ง€์˜ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•  ๊ฑฐ์—์š”




2. ๋„ํ˜•๋“ค์˜ ์ถฉ๋Œ์˜ ์—ฌ๋Ÿฌ ํ˜•ํƒœ




viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c6d7ec21fd884e671e4a14d2



์œ„์— ์˜ฌ๋ ค๋†“์€ ๊ทธ๋ฆผ์€ ๋‹ค๊ฐํ˜•๋“ค์˜ ๋‹ค์–‘ํ•œ ์ถฉ๋Œ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋Š” ๊ทธ๋ฆผ์ด์—์š”


1. ์ถฉ๋Œ์€ ํ•œ ๋‹ค๊ฐํ˜•์˜ ํ•œ๊ฐœ ํ˜น์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ผญ์ง“์ ์ด ๋‹ค๋ฅธ ๋‹ค๊ฐํ˜• ๋‚ด๋ถ€์— ํฌํ•จ๋˜๋Š”๊ฑฐ์—์š”


2. ํฌํ•จ์€ ํ•œ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ ์ด ๋‹ค๋ฅธ ๋‹ค๊ฐํ˜• ๋‚ด๋ถ€์— ํฌํ•จ๋œ ๊ฒฝ์šฐ์—์š”


3. ๊ด€ํ†ต์€ ๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ–ˆ์ง€๋งŒ ๊ผญ์ง“์ ์ด ์„œ๋กœ์˜ ๋‚ด๋ถ€์— ํฌํ•จ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—์š”




3. ์›๊ณผ ์›์˜ ์ถฉ๋Œ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b8133006ba9f3040136dedf5af4d59af8433abc37818f3c232716c43



๋‹ค์–‘ํ•œ ์ถฉ๋Œ๊ฐ์ง€ ๋ฐฉ๋ฒ•์ค‘ ์ฒซ๋ฒˆ์งธ๋กœ ์‚ดํŽด๋ณผ๊ฑด ์›๊ณผ ์›์˜ ์ถฉ๋Œ์ด์—์š”


์ฒซ๋ฒˆ์งธ ์›์˜ ์ค‘์ ์ด (x1,y1) ์ด๊ณ  ๋ฐ˜์ง€๋ฆ„์ด r1 ๋‘๋ฒˆ์งธ ์›์˜ ์ค‘์ ์ด (x2,y2)๊ณ  ๋ฐ˜์ง€๋ฆ„์ด r2์ผ๋•Œ


๋‘ ์›์˜ ์ค‘์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ( (x2-x1)^2+(y2-y1)^2 )^0.5 ๊ฐ€ ๋‘ ์›์˜ ๋ฐ˜์ง€๋ฆ„์˜ ํ•ฉ r1+r2๋ณด๋‹ค ์ž‘์œผ๋ฉด ์ถฉ๋Œํ–ˆ๋‹ค๊ณ  ํŒ์ •ํ•ด์š”


๊ทธ๋ฆฌ๊ณ  ์ด ๊ณต์‹์€ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ ๋ฃจํŠธ๋ฅผ ์ œ๊ฑฐํ•œ ๋ฐฉ์‹์œผ๋กœย (x2-x1)^2+(y2-y1)^2 = d^2 ์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•ด์š”




4. ์‚ฌ๊ฐํ˜•๊ณผ ์‚ฌ๊ฐํ˜•์˜ ์ถฉ๋Œ



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0958ce276f98a1d341e1b01db



๋‘๋ฒˆ์งธ๋Š” ๊ธฐ์šธ์–ด์ง€์ง€ ์•Š์€ ์‚ฌ๊ฐํ˜• ์‚ฌ์ด์˜ ์ถฉ๋Œ์ด์—์š”


๋งŒ์•ฝ ์ถฉ๋Œํ–ˆ๋‹ค๋ฉด ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ xy์ถ•์—์„œ์˜ ๋‘ ์‚ฌ๊ฐํ˜•์˜ ๋ชจ๋“  ์˜์—ญ์ด ๊ฒน์ณ์งˆ ๊ฒƒ์ด๋‹ˆ๊นŒ


xy์ถ•์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฒน์ณ์ง€์ง€ ์•Š๋Š” ์˜์—ญ์ด ์žˆ๋‹ค๋ฉด ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํŒ์ •ํ•ด์š”


์ฆ‰, a์˜ x์ขŒํ‘œ์ค‘ ์ตœ๋Œ€๊ฐ’์ดย b์˜ x์ขŒํ‘œ์ค‘ย ์ตœ์†Œ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜, ํ˜น์€ ๊ทธ ๋ฐ˜๋Œ€๋กœ b์˜ ์ตœ๋Œ€๊ฐ€ a์˜ ์ตœ์†Œ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜


a์˜ y์ขŒํ‘œ์ค‘ ์ตœ๋Œ€๊ฐ’์ด b์˜ y์ขŒํ‘œ์ค‘ ์ตœ์†Œ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜, ์—ญ์‹œย ๊ทธ ๋ฐ˜๋Œ€๋กœ b์˜ ์ตœ๋Œ€๊ฐ€ a์˜ ์ตœ์†Œ๋ณด๋‹ค ์ž‘์œผ๋ฉดย ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํŒ์ •ํ•ด์š”




5. ๋ถ„๋ฆฌ์ถ•(SAT) ์ถฉ๋Œ๊ฒ€์‚ฌ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0cd85ef73aa8f47351e824b62


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09087bb22addc47611eda01ec



์„ธ๋ฒˆ์งธ๋Š” ๋ถ„๋ฆฌ์ถ•(SAT)์ถฉ๋Œ๊ฐ์ง€ ๋ฐฉ๋ฒ•์ด์—์š”


๋‘๊ฐœ์˜ ๋‹ค๊ฐํ˜•์˜ ๋ชจ์„œ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ๋ฒกํ„ฐ๋กœ ๋ฐ”๋ผ๋ณธ๋‹ค์Œ ํ•ด๋‹น ๋ฒกํ„ฐ๋“ค์— ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์„œ


๊ทธ๋ ‡๊ฒŒ ๊ตฌํ•œ ์ˆ˜์ง๋ฒกํ„ฐ๋“ค๋กœ์˜ ๋‘ ๋‹ค๊ฐํ˜•์˜ ํˆฌ์˜์˜์—ญ์„ ๊ตฌํ•ด์„œ ๋งŒ์•ฝ ๊ฒน์น˜์ง€ ์•Š๋Š” ์ˆ˜์ง๋ฒกํ„ฐ ์˜์—ญ์ด ํ•œ๊ตฐ๋ฐ๋ผ๋„ ์žˆ์œผ๋ฉด


์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ํŒ์ •ํ•˜๋Š”๊ฑฐ์—์š”,


์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์ฒซ๋ฒˆ์งธ๋Š” ๋‘ ๋„ํ˜•์ด ์ถฉ๋Œํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ˆ˜์ง๋ฒกํ„ฐ์—์„œ(๊ทธ๋ฆผ์—์„œ๋Š” 3๊ฐœ๋งŒ ๋‚˜์™€์žˆ์ง€๋งŒ ์‚ฌ๊ฐํ˜• 4๊ฐœย + ์‚ผ๊ฐํ˜• 3๊ฐœ๋กœ ์ด 7๊ฐœ์—์„œ ๊ฒ€์‚ฌํ•ด์š”) ๋‘ ๋„ํ˜•์˜ ํˆฌ์˜ ์˜์—ญ์ด ๊ฒน์น˜์ง€๋งŒ


๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ์—์„œ๋Š”ย ๋‘ ๋„ํ˜•์ด ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‘ ๋„ํ˜•์˜ ์ถฉ๋Œ์˜์—ญ์ด ๊ฒน์น˜์ง€ ์•Š๋Š” ์ˆ˜์ง๋ฒกํ„ฐ๊ฐ€ ์žˆ์–ด์š”





๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ๋ถ„๋ฆฌ์ถ• ์ถฉ๋Œ๊ฒ€์‚ฌ๋Š” ์ง์‚ฌ๊ฐํ˜•๊ณผ ์ง์‚ฌ๊ฐํ˜•์˜ ์ถฉ๋Œ๋กœ ๋‹จ์ˆœํ™”์‹œํ‚จ OBB ์ถฉ๋Œ๊ฒ€์‚ฌ๋ฅผย ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ด์š”






6. ๋ณผ๋ก๋‹ค๊ฐํ˜•

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c783e32ff78b18601e04b542



๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์œผ๋กœย GJK์ถฉ๋ŒํŒ์ •ย ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ค๋ช…์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด

ย 

์šฐ์„  GJK์ถฉ๋ŒํŒ์ •ย ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‘ ๋ณผ๋ก๋‹ค๊ฐํ˜•์˜ ์ถฉ๋Œ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—์š”,


์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์ฒซ๋ฒˆ์งธ ๋‘๋ฒˆ์งธ๋Š” ๋ณผ๋ก๋‹ค๊ฐํ˜•์ด์ง€๋งŒ, ์„ธ๋ฒˆ์งธ๋Š”ย ๋ณผ๋ก๋‹ค๊ฐํ˜•์ด ์•„๋‹ˆ์—์š”




7. ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ํ•ฉ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0cd81eb73fa8d1f321ec3e36c



์œ„์˜ ์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ์ฒ˜๋Ÿผย ๋‘ ๋‹ค๊ฐํ˜•์ด ์žˆ์„๋•Œ, ๋‘ ๋‹ค๊ฐํ˜•์˜ ๊ฐ๊ฐ์˜ ๊ผญ์ง“์ ์„ย ์›์ ์—์„œ ํ•ด๋‹น ๊ผญ์ง“์ ์„ ํ–ฅํ•˜๋Š” ๋ฒกํ„ฐ๋กœ ๋ฐ”๋ผ๋ณธ๋‹ค์Œ


๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ•œ ๋‹ค๊ฐํ˜•์˜ ๊ฐ๊ฐ์˜ ๋ฒกํ„ฐ(๊ผญ์ง“์ )์— ๋‹ค๋ฅธ ๋‹ค๊ฐํ˜•์˜ ๊ฐ๊ฐ์˜ ๋ฒกํ„ฐ(๊ผญ์ง“์ )์„ ๋”ํ•˜๋ฉดย ์ƒˆ๋กœ์šด ๋ฒกํ„ฐ(๊ผญ์ง“์ )๋“ค์„ ์–ป์„์ˆ˜ ์žˆ์–ด์š”,


๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์–ป์–ด์ง„ ๋ฒกํ„ฐ๋“ค์„ ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ํ•ฉ์ด๋ผ๊ณ  ํ•ด์š”



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b8133006ba9f3040136dedf5af4d59af8067fc962816a6c055b95de5



๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๊ฐˆ์ƒ‰์œผ๋กœ ํ…Œ๋‘๋ฆฌ๋ฅผ ๊ทธ๋ ค๋†“์€๊ฒƒ์ฒ˜๋Ÿผ,ย ์ด๋ ‡๊ฒŒ ์–ป์–ด์ง„ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ํ•ฉ์€ ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ๋”ฐ๋ผ์„œ ๋‹ค๊ฐํ˜•์œผ๋กœ ๋ฐ”๋ผ๋ณผ์ˆ˜ ์žˆ์–ด์š”




8. ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09180ed20abdb493d1e10e6df



์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š”๊ฒƒ์ฒ˜๋Ÿผ, ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ํ•ฉ๊ณผ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœย ํ•œ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ (๋ฒกํ„ฐ)๋“ค ๊ฐ๊ฐ์— ๋‹ค๋ฅธ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ (๋ฒกํ„ฐ)๋“ค์„ ๋นผ์„œ, ์ƒˆ๋กœ์šด ๋ฒกํ„ฐ๋“ค์„ ์–ป์„์ˆ˜ ์žˆ์–ด์š”,ย 


ย 

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee095d1e927f9801b611e0396de


์•ž์˜ ๊ทธ๋ฆผ์—์„œ ๋‘ ๊ผญ์ง“์ ๋“ค(๋ฒกํ„ฐ๋“ค)๊ฐ„์˜ ์ฐจ์ด๋กœ ์–ป์–ด์ง„ ๋ฒกํ„ฐ๋“ค์„, ์›์ ์„ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด ์œ„์˜ ๊ทธ๋ฆผ์ด ๋‚˜์™€์š”,


๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์–ด๋–ค ๋‹ค๊ฐํ˜•์—์„œ ๋‹ค๋ฅธ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๋ฒกํ„ฐ๋“ค์„ ๋นผ์„œ ์–ป์–ด์ง„ ๋ฒกํ„ฐ๋“ค์„ ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋ผ๊ณ  ํ•ด์š”ย 

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09084e823af8b1a311e9eaa9c



์—ญ์‹œ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ํ•ฉ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋„ ์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๊ฐˆ์ƒ‰์œผ๋กœ ๊ทธ๋ ค๋†“์€๊ฒƒ์ฒ˜๋Ÿผ, ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ๋”ฐ๋ผ์„œ ๋‹ค๊ฐํ˜•์œผ๋กœ ๋ฐ”๋ผ๋ณผ์ˆ˜ ์žˆ์–ด์š”




9. GJK์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์›๋ฆฌ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee096d3bc22fc8a1c661e7d7b22




๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ–ˆ๋‹ค๋ฉด ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋Š” ์›์ (0,0)์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์š”


์ฆ‰, ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋ฅผ ๊ตฌํ•œ๋‹ค์Œ ๊ทธ๋ ‡๊ฒŒ ์–ป์–ด์ง„ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์— ์›์ ์ด ํฌํ•จ๋˜๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋ฉด


๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ–ˆ๋Š”์ง€ ์•ˆํ–ˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์–ด์š”, ์ด๊ฒŒ GJK์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์›๋ฆฌ์—์š”




์œ„์— ์˜ฌ๋ ค๋†“์€ ๊ทธ๋ฆผ์€ย ์™œ ๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ–ˆ์„๋•Œ ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๊ฐ€ ์›์ ์„ ํฌํ•จํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ด์œ ์—์š”


์œ„์˜ ๊ทธ๋ฆผ์˜ ์™ผ์ชฝ์ฒ˜๋Ÿผ ๋งŒ์•ฝ ์›์ (0,0)์ด ์–ด๋–ค ๋‹ค๊ฐํ˜•์˜ ์™ธ๋ถ€์— ์žˆ๋‹ค๋ฉด, ์›์ ์œผ๋กœ๋ถ€ํ„ฐ ๊ทธ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ ๊นŒ์ง€์˜ ๋ฒกํ„ฐ๋“ค์€ 180๋„ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€์ง€ ์•Š์•„์š”


๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์›์ ์ด ์–ด๋–ค ๋‹ค๊ฐํ˜•์˜ ๋‚ด๋ถ€์— ์žˆ๋‹ค๋ฉด, ์›์ ์œผ๋กœ๋ถ€ํ„ฐ ๊ทธ ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ ๊นŒ์ง€์˜ ๋ฒกํ„ฐ๋“ค์€ 180๋„ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€์š”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09780eb2ead8e1d331e5e842d



๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ๊ทธ๋ฆผ์€ ๋‘ ๋‹ค๊ฐํ˜•๊ฐ„์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋“ค์ค‘ ์ผ๋ถ€๋ฅผ ํ‘œ์‹œํ•ด๋†“์€ ๊ฑฐ์—์š”, ์—ฌ๊ธฐ์„œ๋Š” ์‚ฌ๊ฐํ˜•์—์„œ ์‚ผ๊ฐํ˜•์„ ๋นผ๋Š” ๋ฐฉ์‹์ด์—์š”


์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ์—์„œ์ฒ˜๋Ÿผย ๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋“ค์˜ ๋ฒ”์œ„๋Š” 180๋„ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์•„์š”


๊ทธ๋ ‡์ง€๋งŒ ๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ์ฒ˜๋Ÿผย ๋‘ ๋‹ค๊ฐํ˜•์ด ์ถฉ๋Œํ–ˆ๋‹ค๋ฉด ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š”๊ฒƒ์ฒ˜๋Ÿผ ๋‘ ๋‹ค๊ฐํ˜•๊ฐ„์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋“ค์€ 180๋„ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€์š”




์ฆ‰, ์ €๋ ‡๊ฒŒ ์–ป์–ด์ง„ ๋ชจ๋“  ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋“ค์„ ์›์ ์„ ์ค‘์‹ฌ์œผ๋กœ ๋ชจ์•„์„œ ์ƒˆ๋กœ์šด ๋‹ค๊ฐํ˜•์„ ๋งŒ๋“ค์—ˆ์„๋•Œ, ๋ฒกํ„ฐ๋“ค์˜ ๋ฒ”์œ„๊ฐ€ 180๋„๋ฅผ ๋„˜์–ด๊ฐ€๋‹ˆ๊นŒ, ์›์ ์€ ๊ทธ ๋‹ค๊ฐํ˜•์˜ ๋‚ด๋ถ€์— ์žˆ๊ฒŒ๋˜๋Š”๊ฑฐ์—์š”




10. Support Point


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09082e920f98b46611e201e05



Support Point๋Š” ์–ด๋–ค ๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ ์ค‘, ํŠน์ • ๋ฐฉํ–ฅ์—์„œ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ์žˆ๋Š” ๊ผญ์ง“์ ์„ ์ด์•ผ๊ธฐํ•ด์š”


์ฆ‰, ํŠน์ •ํ•œ ๋‹ค๊ฐํ˜•๊ณผ ํŠน์ •ํ•œ ๋ฒกํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ, ๊ทธ ๋‹ค๊ฐํ˜•์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ผญ์ง“์ ๋“ค์ค‘ ๊ทธ ๋ฒกํ„ฐ์˜ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ์žˆ๋Š” ๊ผญ์ง“์ ์„ ์ด์•ผ๊ธฐํ•˜๋Š”๊ฑฐ์—์š”


์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์—์„œ ๊ฐ๊ฐ ํ‘œ์‹œํ•ด๋†“์€ ๊ผญ์ง“์ ๋“ค์ด ํ•ด๋‹น ๋ฒกํ„ฐ์—์„œ์˜ support point์—์š”



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b8133006ba9f3040136dedf5af4d59afd360abc57b19a5cfc11d64eb



๊ทธ๋ฆฌ๊ณ  ์ด support point๋Š” ๋ฒกํ„ฐ์˜ ๋‚ด์ ์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


์—ญ์‹œ ๋‹ค๊ฐํ˜•์˜ ๊ฐ๊ฐ์˜ ๊ผญ์ง“์ ๋“ค์„, ์›์ ์œผ๋กœ๋ถ€ํ„ฐ ํ•ด๋‹น ๊ผญ์ง“์ ๊นŒ์ง€์˜ ๋ฒกํ„ฐ๋กœ ๋ฐ”๋ผ๋ณด๋ฉด


๋‹ค๊ฐํ˜•์˜ ๋ชจ๋“  ๊ผญ์ง“์ (๋ฒกํ„ฐ)๋“ค์„ ์ฃผ์–ด์ง„ ๋ฐฉํ–ฅ๋ฒกํ„ฐ์™€ ๋‚ด์ ํ–ˆ์„๋•Œ, ๊ทธ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€๋กœ ๋‚˜์˜ค๋Š” ๊ผญ์ง“์ (๋ฒกํ„ฐ)๊ฐ€


๊ทธ ๋ฐฉํ–ฅ๋ฒกํ„ฐ์—์„œ ๊ทธ ๋‹ค๊ฐํ˜•์˜ support point์—์š”, ์œ„์˜ ๊ทธ๋ฆผ์—์„œ๋Š” ํŒŒ๋ž‘์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•ด๋†“์€ ๊ผญ์ง“์ ์ด ์•„๋ž˜์˜ ํŒŒ๋ž‘์ƒ‰ ๋ฒกํ„ฐ์— ๋Œ€ํ•œ ์‚ผ๊ฐํ˜•์˜ support point์—์š”





ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก


def support_point(x,y,p)

rx,ry,d = nil,nil,nil

i = 0

until p[i] == nil

b = p[i][0]*x+p[i][1]*y

if d == nil || b > d

rx,ry,d = p[i][0], p[i][1], b

end

i+=1

end

return rx,ry

end


ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก



์œ„์— ์˜ฌ๋ ค๋†“์€ ํ•จ์ˆ˜๋Š” support point๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์—์š”, rubyํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑํ–ˆ์–ด์š”


ํ•จ์ˆ˜์˜ ์ž…๋ ฅ๊ฐ’์—์„œ x,y๋Š” ๋ฐฉํ–ฅ๋ฒกํ„ฐ๊ณ , p๋Š” ๋‹ค๊ฐํ˜•์ด์—์š” ruby์˜ ๋ฐฐ์—ด๋กœ [ [x1,y1],[x2,y2],[x3,y3], ] ํ˜•์‹์˜ ๊ฐ’์œผ๋กœ ์ž…๋ ฅ๋˜์š”


์œ„์˜ ์˜ˆ์‹œ๋Š” ์„ธ ๊ผญ์ง“์  (x1,y1) (x2,y2) (x3,y3) ์„ ๊ฐ€์ง„ ์‚ผ๊ฐํ˜•์˜ ๊ฒฝ์šฐ์ผ๋•Œ์—์š”


๊ฐ๊ฐ์˜ ๊ผญ์ง์ ๋“ค์„ ์ฃผ์–ด์ง„ ๋ฐฉํ–ฅ๋ฒกํ„ฐ์™€ ๋ชจ๋‘ ๋‚ด์ ํ•œ๋‹ค์Œ, ๊ทธ์ค‘์—์„œ ๋‚ด์ ๊ฐ’์ด ์ตœ๋Œ€๋กœ ๋‚˜์˜จ ๊ผญ์ง“์ ์„ return๊ฐ’์œผ๋กœ ์ถœ๋ ฅํ•ด์š”



11. ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์˜ support point


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09686be25fadc48651ed567cc



์•ž์—์„œ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋“ค๋กœ ์–ป์–ด์ง„ ๋ฒกํ„ฐ๋“ค์˜ ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ๋”ฐ๋ผ์„œ, ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋ฅผ ๋‹ค๊ฐํ˜•์œผ๋กœ ๋ฐ”๋ผ๋ณผ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ด์•ผ๊ธฐํ–ˆ์–ด์š”


๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ‡๊ฒŒ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋ฅผ ๋‹ค๊ฐํ˜•์œผ๋กœ ๋ฐ”๋ผ๋ดค์„๋•Œ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์— ๋Œ€ํ•ด์„œ๋„ support point๋ฅผ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์•„๋ž˜์˜ ์‚ฌ๊ฐํ˜•๊ณผ ์‚ผ๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋กœ ์–ป์–ด์ง„ ๋„ํ˜•์ด ์œ„์˜ ๋‹ค๊ฐํ˜•์ด๊ณ , ์ด๋•Œ ํŒŒ๋ž‘์ƒ‰ ๋ฒกํ„ฐ ๋ฐฉํ–ฅ์˜ ํ•ด๋‹น ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์˜ support point๊ฐ€ ๊ทธ๋ฆผ์— ํ‘œ์‹œํ•ด๋†“์€๊ฒƒ์ฒ˜๋Ÿผ a์ผ๋•Œ


์ด a๋Š” ์‚ฌ๊ฐํ˜•์˜ ๋™์ผํ•œ ๋ฐฉํ–ฅ์œผ๋กœ์˜(ํŒŒ๋ž‘์ƒ‰ ๋ฒกํ„ฐ) support point์ธ b์—์„œย ์‚ผ๊ฐํ˜•์˜ ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์œผ๋กœ์˜(์ฃผํ™ฉ์ƒ‰ ๋ฒกํ„ฐ) support point์ธ c๋ฅผย ๋นผ๋ฉด ์–ป์„์ˆ˜ ์žˆ์–ด์š”,ย ์ฆ‰ a=b-c์—์š”




ใ…กใ…กใ…กใ…กใ…กใ…ก


def mink_dif(vx,vy,p1,p2)

x1,y1 = support_point(vx,vy,p1)

x2,y2 = support_point(-vx,-vy,p2)

return x1-x2,y1-y2

end


ใ…กใ…กใ…กใ…กใ…กใ…ก



๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์˜ support point๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜์—์š”, ์•ž์—์„œ ์ •์˜ํ•œ support point ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜์š”


์ž…๋ ฅ๊ฐ’์€ ๋ฒกํ„ฐ vx,vy๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ, ๋‹ค๊ฐํ˜• p1๊ณผ p2์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์˜ ์ฃผ์–ด์ง„ ๋ฐฉํ–ฅ(vx,vy)์œผ๋กœ์˜ support point๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์—์š”


์—ญ์‹œ p1๊ณผ p2๋Š” ์•ž์˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ruby์˜ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด์„œย [ [x1,y1],[x2,y2],[x3,y3], ]ย ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ž…๋ ฅ๋˜์š”





12. ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ ๊ตฌํ•˜๊ธฐ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09785e371ab891c361ef5bdd6




์–ด๋–ค ๋ฒกํ„ฐ์—์„œ ํŠน์ • ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋Š” GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์—์š”,


์œ„์— ์˜ฌ๋ ค๋†“์€๊ฒƒ์ฒ˜๋Ÿผ x,y์˜ ๋ฒกํ„ฐ๊ฐ€ ์žˆ์„๋•Œ ๊ทธ x,y์— ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋Š” -y,x y,-x์ด๋ ‡๊ฒŒ ๋‘๊ฐœ๊ฐ€ ์žˆ์–ด์š”


๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‘๊ฐ€์ง€์ค‘ ์–ด๋–ค ๋ฒกํ„ฐ๊ฐ€ ํŠน์ • ๋ฐฉํ–ฅ์œผ๋กœ์˜ ์ˆ˜์ง๋ฒกํ„ฐ์ธ์ง€๋ฅผ ๊ตฌํ•˜๋Š”๊ฑฐ์—์š”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c783e323a88f4c661e21ead7




๊ทธ๋ฆฌ๊ณ  ์ด๊ฑด ๋ฒกํ„ฐ์˜ ๋‚ด์ ์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์ดˆ๋ก์ƒ‰์ด ์ฃผ์–ด์ง„ ๋ฒกํ„ฐ์ผ๋•Œ, ํŒŒ๋ž‘์ƒ‰ ๋ฒกํ„ฐ์˜ ๋‘๊ฐ€์ง€ ์ˆ˜์ง๋ฒกํ„ฐ(๋‘๊ฐœ์˜ ์ฃผํ™ฉ์ƒ‰ ๋ฒกํ„ฐ)์ค‘, ์–ด๋–ค๊ฒŒ ์ดˆ๋ก์ƒ‰ ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ์ธ์ง€๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด


๋‘๊ฐœ์˜ ์ฃผํ™ฉ์ƒ‰ ๋ฒกํ„ฐ๋ฅผ ๊ฐ๊ฐ ์ดˆ๋ก์ƒ‰ ๋ฒกํ„ฐ์— ๋‚ด์ ์„ ํ•ด๋ณด๋ฉด ๋˜์š”, ๊ทธ๋Ÿฌ๋ฉด ๊ทธ ๊ฐ’์ด +๋กœ ๋‚˜์˜ค๋Š” ๋ฐฉํ–ฅ์˜ ๋ฒกํ„ฐ๊ฐ€ ์ดˆ๋ก์ƒ‰ ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ์—์š”



์™ผ์ชฝ ๊ทธ๋ฆผ์—์„œ๋Š” -y,x๊ฐ€ ์ดˆ๋ก์ƒ‰๊ณผ์˜ ๋‚ด์ ๊ฐ’์ด +๋กœ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ์ด๊ณ 


์˜ค๋ฅธ์ชฝ์—์„œ๋Š” y,-x๊ฐ€ ์ดˆ๋ก์ƒ‰๊ณผ์˜ ๋‚ด์ ๊ฐ’์ด +๋กœ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ์—์š”



ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก


def vector_direct(x1,y1,x2,y2)

if -y1*x2+x1*y2 >= 0

return -y1,x1

end

if y1*x2+-x1*y2 >= 0

return y1,-x1

end

end


ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก


๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ์œ„์˜ ๊ณผ์ •์„ ํ•จ์ˆ˜๋กœ ์ •๋ฆฌํ•œ๊ฑฐ์—์š”


์œ„์˜ ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๊ฐ’์—์„œย x1,y1๋ฒกํ„ฐ์˜ x2,y2๋ฒกํ„ฐ ๋ฐฉํ–ฅ์œผ๋กœ์˜ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์—์š”,


์ฆ‰ ์ตœ์ข…์ ์œผ๋กœ๋Š” x1,y1๊ณผ ์ˆ˜์ง์ธ ๋‘ ๋ฒกํ„ฐ์ค‘์—์„œ x2,y2๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฒกํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋˜์š”





13. GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž‘๋™๋ฐฉ์‹

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0cd8db873f8dd1f351e5176f9



GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž‘๋™๋ฐฉ์‹์€, ์šฐ์„  ์ฒซ์งธ๋กœ ์•ž์„œ ์„ค๋ช…ํ•œ mink_dif ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ, ์ถฉ๋ŒํŒ์ •์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋‘ ๋‹ค๊ฐํ˜•์˜ ์ž„์˜์˜ ๋ฐฉํ–ฅ(๋ฒกํ„ฐ)์œผ๋กœ์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด์˜ support point๋ฅผ ํ•˜๋‚˜ ๊ตฌํ•ด์š”


์ด๋•Œ์˜ ๋ฐฉํ–ฅ(๋ฒกํ„ฐ)์€ ์•„๋ฌด๊ฑฐ๋‚˜ ์ง€์ •ํ•ด๋„ ์ƒ๊ด€์—†์–ด์š”,


์œ„์˜ ๊ทธ๋ฆผ์—์„œย ๊ฒ€์ •์ƒ‰ ๋‹ค๊ฐํ˜•์ดย ์ถฉ๋ŒํŒ์ •์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋‘ ๋‹ค๊ฐํ˜•์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋กœ ์–ป์–ด์ง„ ๋‹ค๊ฐํ˜•์ด๊ณ , ์ด๋•Œ ํŒŒ๋ž‘์ƒ‰์ด ์ž„์˜์˜ ๋ฐฉํ–ฅ์œผ๋กœ์˜ ํ•ด๋‹น ๋‹ค๊ฐํ˜•์˜ support point์—์š”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c282e224fada1d331e6e343e



๋‘๋ฒˆ์งธ๋กœ ๊ทธ๋ ‡๊ฒŒ ์–ป์€ ์ž„์˜์˜ ์ง€์ (ํŒŒ๋ž‘์ƒ‰)์—์„œ ์›์ (0,0)๋ฐฉํ–ฅ์œผ๋กœ์˜ support point๋ฅผ ๊ตฌํ•ด์š”, ์—ญ์‹œ mink_dif ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์š”


๊ทธ๋ ‡๊ฒŒํ•ด์„œ ์–ป์–ด์ง„๊ฒŒ ์ดˆ๋ก์ƒ‰ ์ ์ด์—์š”, ์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ์ด์—์š”




๊ทธ๋ฆฌ๊ณ  ๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ์€ ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ์–ป์–ด์ง„ ํŒŒ๋ž‘์ƒ‰์  > ์ดˆ๋ก์ƒ‰์  ๊นŒ์ง€์˜ ๋ฒกํ„ฐ(์ดˆ๋ก์ƒ‰ ๋ฒกํ„ฐ)์™€


์›์  > ์ดˆ๋ก์ƒ‰์  ๊นŒ์ง€์˜ ๋ฒกํ„ฐ(๊ฒ€์ •์ƒ‰ ๋ฒกํ„ฐ)๋ฅผ ๋‚ด์ ํ•ด์„œ ๋‘˜์˜ ๋ฐฉํ–ฅ์„ ๋น„๊ตํ•ด์š”




์ดˆ๋ก์ ์€ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด๋กœ ์–ป์–ด์ง„ ๋‹ค๊ฐํ˜•์—์„œ, ์›์  ๋ฐฉํ–ฅ์œผ๋กœ ์ œ์ผ ๋ฉ€๋ฆฌ ์žˆ๋Š” ์ ์ธ๋ฐ


๋งŒ์•ฝ ๋‘ ๋ฒกํ„ฐ์˜ ๋‚ด์ ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, ์ฆ‰ ๋‘ ๋ฒกํ„ฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์ด๋ผ๋ฉด


์›์ ์€ ๊ฒฐ๊ตญ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜• ๋‚ด๋ถ€์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š”๊ฒŒ ๋˜๋‹ˆ๊นŒ


์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํŒ์ •ํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด์š”




๋‹ค์Œ์˜ ๊ณผ์ •์€ ์—ฌ๊ธฐ์„œ ๋‚ด์ ํ–ˆ์„๋•Œ +๊ฐ€ ๋‚˜์˜จ ๊ฒฝ์šฐ, ์ฆ‰ ๋‘ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ™์€ ๋ฐฉํ–ฅ์— ์žˆ๋Š” ๊ฒฝ์šฐ์—์š”






14. GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฐ˜๋ณต๋ถ€๋ถ„ย 

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09681ed21a8881b301e51ece4




๊ทธ๋ฆฌ๊ณ  ์„ธ๋ฒˆ์งธ๋กœ๋Š” ์šฐ์„  ์•ž์—์„œ ์–ป์€ ๋‘ ์ ์„ ์ด์€ ์ง์„ ์—์„œ(์œ„์˜ ๊ทธ๋ฆผ์˜ ์ดˆ๋ก์ƒ‰ ์ง์„ ), ์›์ ๊นŒ์ง€์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์š”


์—ฌ๊ธฐ์—๋Š” ์•ž์—์„œ ์„ค๋ช…ํ•œ vector_direct ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜์š”


๊ทธ๋ฆฌ๊ณ ย mink_difํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œย ๊ทธ๋ ‡๊ฒŒ ์–ป์€ ์ˆ˜์ง๋ฒกํ„ฐ ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜•์—์„œ์˜ support point๋ฅผ ๊ตฌํ•ด์š”


์™ผ์ชฝ์˜ ๊ทธ๋ฆผ์—์„œ ์ฃผํ™ฉ์ƒ‰ ๋ฒกํ„ฐ๊ฐ€ ์›์  ๋ฐฉํ–ฅ์˜ ์ˆ˜์ง๋ฒกํ„ฐ๊ณ , ์ฃผํ™ฉ์ƒ‰ ์ ์ด ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜•์˜ support point์—์š”




๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ด๋•Œ์˜ ์ง์„ ์—์„œ support point๊นŒ์ง€์˜ ์ˆ˜์ง๋ฒกํ„ฐ(์ฃผํ™ฉ๋ฒกํ„ฐ) ์™€ ์›์ ์—์„œ support point๊นŒ์ง€์˜ ๊ฒ€์ •์ƒ‰ ๋ฒกํ„ฐ๋ฅผ ๋‚ด์ ํ•ด์„œ


๋งŒ์•ฝ ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘๊ฒŒ ๋‚˜์˜จ๋‹ค๋ฉด, ์ฆ‰ ๋‘ ๋ฒกํ„ฐ์˜ ๋ฐฉํ–ฅ์ด ๋‹ค๋ฅด๋‹ค๋ฉด ์›์ ์€ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜• ๋ฐ–์— ์žˆ๋Š”๊ฑฐ๋‹ˆ๊นŒ, ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด์š”




์—ฌ๊ธฐ์„œ์˜ ์ฃผํ™ฉ์ ์€ ์ง์„ ์—์„œ ์›์ ๋ฐฉํ–ฅ์œผ๋กœ ์ตœ๋Œ€๋กœ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ๋‹ค๊ฐํ˜•์˜ support point์ธ๋ฐ, ์›์ ์ด ์ด๊ฒƒ๋ณด๋‹ค ๋” ๋ฉ€๋ฆฌ์žˆ๋‹ค๋ฉด(๋‘ ๋ฒกํ„ฐ์˜ ๋ฐฉํ–ฅ์ด ๋ฐ˜๋Œ€๋ผ๋ฉด) ์›์ ์€ ๊ฒฐ๊ตญ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜• ๋ฐ–์— ์žˆ๋Š”๊ฒŒ ๋˜๋Š”๊ฑฐ์—์š”




๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์˜ ๊ณผ์ •์€ ์—ฌ๊ธฐ์„œ ๋‘ ๋ฒกํ„ฐ์˜ ๋‚ด์ ๊ฐ’์ด +๊ฐ€ ๋‚˜์™”์„๋•Œ์—์š”





15. ์›์ ์˜ย ๋ฒ”์œ„ ์ œํ•œ



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09682bf20fb8e48651e67f98a



์œ„์˜ ๊ทธ๋ฆผ ๊ฐ€์šด๋ฐ์˜ ์‚ผ๊ฐํ˜•์€ ์•ž์˜ ๊ณผ์ •์—์„œ ์–ป์€ ์„ธ๋ฒˆ์งธ ์ ๊ณผ, ๊ธฐ์กด์˜ ์ง์„ ์˜ ์–‘ ๋์ ์„ ์ด์–ด์„œ ๊ทธ๋ฆฐ ์‚ผ๊ฐํ˜•์ด์—์š”


๊ทธ๋ฆฌ๊ณ  ์ด๋•Œ์— ์›์ ์€ ์œ„์˜ ๊ทธ๋ฆผ์— ํ‘œ์‹œ๋œ ์˜์—ญ์—์„œ e f g ์˜ ์˜์—ญ์—๋ฐ–์— ์žˆ์„์ˆ˜ ์—†์–ด์š”




์šฐ์„  ์ฒซ๋ฒˆ์งธ ์ดˆ๋ก์ƒ‰ ์ง์„ ์€ ํ•œ ์ ์—์„œ ์›์  ๋ฐฉํ–ฅ์œผ๋กœ์˜ support point๋ฅผ ์ฐพ์•„์„œ ๊ทธ๋ฆฐ ์ง์„ ์ด๊ธฐ ๋•Œ๋ฌธ์—


๊ทธ ์ง์„ ์˜ ์‹œ์ž‘์  ๋’ท์ชฝ์ธ a์˜์—ญ์—๋Š” ์›์ ์ด ์žˆ์„์ˆ˜ ์—†๊ณ , ์•ž์—์„œ ๊ทธ ์ง์„ ์˜ ๋„์ฐฉ์ ์ธย support point๊ฐ€ ์›์ ๊ณผ์˜ ๋‚ด์ ์—์„œ +๊ฐ€ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์—


๊ทธ ์ง์„ ์˜ ๋„์ฐฉ์  ๋„ˆ๋จธ์˜ ์˜์—ญ์ธ b์—๋„ ์›์ ์ด ์กด์žฌํ• ์ˆ˜ ์—†์–ด์š”




๊ทธ๋ฆฌ๊ณ  ์‚ผ๊ฐํ˜•์˜ ์„ธ๋ฒˆ์งธ ๊ผญ์ง“์ ์€ ์œ„์˜ ์ดˆ๋ก์ƒ‰ ์ง์„ ์—์„œ ์›์  ๋ฐฉํ–ฅ์œผ๋กœ์˜ support point๋‹ˆ๊นŒ, ์ด ์ง์„ ์˜ ๋’ค์ชฝ ๋ฐ˜๋Œ€ํŽธ์ธ d ์˜์—ญ์—๋Š” ์›์ ์ด ์žˆ์„์ˆ˜ ์—†๊ณ 


์—ญ์‹œ ๊ทธ๋ ‡๊ฒŒ ๊ตฌํ•œ support point๋„ ์›์ ๊ณผ์˜ ๋‚ด์ ์—์„œ +๊ฐ€ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์—ย ๊ทธ ์„ธ๋ฒˆ์งธ ๊ผญ์ง“์  ๋„ˆ๋จธ์˜ ์˜์—ญ์ธ c์—๋„ ์›์ ์€ ์žˆ์„์ˆ˜ ์—†์–ด์š”




์ฆ‰, ๊ทธ๋ ‡๊ฒŒ ์†Œ๊ฑฐํ•˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ e f g ์˜์—ญ์—๋งŒ ์›์ ์ด ์žˆ์„์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์™€์š”


๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ด๋•Œ์— ์›์ ์ด ์‚ผ๊ฐํ˜• ๋‚ด๋ถ€์ธ g ์˜์—ญ์— ์žˆ์–ด์•ผ๋งŒ ์›์ ์ด ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜• ๋‚ด๋ถ€์— ์žˆ๋‹ค๊ณ  ํŒ๋ณ„ํ•ด์„œ ์ถฉ๋Œํ–ˆ๋‹ค๊ณ  ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด์š”




16. ์‚ผ๊ฐํ˜• ๋‚ด๋ถ€์˜ ์›์  ํŒ๋ณ„

ย 

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0ccd4bb27f68f1d621eb907a5



๊ทธ๋ž˜์„œ ๋‹ค์Œ์˜ ๊ณผ์ •์€ ์šฐ์„  ์›์ ์ด ์‚ผ๊ฐํ˜• ๋‚ด๋ถ€(์œ„์˜ ๊ณผ์ •์˜ g์˜์—ญ)์— ์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•˜๋Š”๊ฑฐ์—์š”


๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ์„  ์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ชจ์„œ๋ฆฌ(์œ„์˜ ๊ทธ๋ฆผ์˜ ์ฃผํ™ฉ๊ณผ ํŒŒ๋ž‘)์—์„œ, vector_direct ํ•จ์ˆ˜๋กœ ์‚ผ๊ฐํ˜•์˜ ๋‹ค๋ฅธ ๊ผญ์ง“์  ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜์ง์ธ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•ด์š”


๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทธ๋ฆผ ์•„๋ž˜์ชฝ์˜ ๋‘๊ฐœ์˜ ๋ฒกํ„ฐ๊ฐ€ ๋‚˜์™€์š”


๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฒกํ„ฐ๋“ค์„ ์›์ ์œผ๋กœ๋ถ€ํ„ฐ ๋‘ ๋ชจ์„œ๋ฆฌ์˜ ํ•œ ๊ผญ์ง“์ ๊นŒ์ง€์˜ ๋ฒกํ„ฐ(์œ„์˜ ๊ทธ๋ฆผ์˜ ๋ณด๋ผ์ƒ‰ ๋ฒกํ„ฐ)์™€ ๋‚ด์ ํ•ด์„œ ๊ทธ ๊ฐ’์„ ๋น„๊ตํ•ด์š”


๊ทธ๋ž˜์„œ ์ตœ์ข…์ ์œผ๋กœ ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‘ ๋‚ด์ ๊ฐ’์ด ๋ชจ๋‘ 0๋ณด๋‹ค ํฌ๋ฉด ์›์ ์€ ์‚ผ๊ฐํ˜• ๋‚ด๋ถ€์— ์žˆ๋Š”๊ฑฐ๋‹ˆ๊นŒ ์ถฉ๋Œํ–ˆ๋‹ค๊ณ  ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ด์š”








17. ๋‹ค์Œ ์ง์„ ์„ ๊ตฌํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ย ๋ฐ˜๋ณตํ•˜๊ธฐ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0918cee20f781183d1ec6264d


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c286e974af8c47321e54e7e1




๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ์•ž์˜ ๊ณผ์ •์—์„œ ๋‘ ๋‚ด์ ๊ฐ’์ด 0๋ณด๋‹ค ํฌ๊ฒŒย ๋‚˜์˜ค์ง€ ์•Š์œผ๋ฉด, ์ฆ‰ ์›์ ์ด ์‚ผ๊ฐํ˜• ๋‚ด๋ถ€(g์˜์—ญ)์— ์žˆ์ง€ ์•Š์œผ๋ฉด


๋‹ค์Œ ๊ณผ์ •์€ ์›์ ์ด e f ์˜์—ญ์ค‘ ์–ด๋””์— ์žˆ๋Š”์ง€๋ฅผ ์ฐพ๋Š”๊ฑฐ์—์š”,


๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒกํ„ฐ๋ฅผ ๋‚ด์ ํ–ˆ์„๋•Œ ๊ทธ ๊ฐ’์ด ์œ„์˜ ์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์œผ๋ฉด, ์ฆ‰ ์˜ค๋ฅธ์ชฝ์ด -๊ณ  ์™ผ์ชฝ์ด +๋ฉดย 


์›์ ์€ f์˜์—ญ์— ์žˆ๋Š”๊ฑฐ๋‹ˆ๊นŒ ์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ์˜ ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ ์‚ผ๊ฐํ˜•์˜ ์˜ค๋ฅธ์ชฝ ๋ชจ์„œ๋ฆฌ๋ฅผ ์ง์„ ์œผ๋กœ ํ•ด์„œย 


14. GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฐ˜๋ณต๋ถ€๋ถ„ย 

์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๊ณผ์ •์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์š”



๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒกํ„ฐ์˜ ๋‚ด์ ๊ฐ’์ด ์œ„์˜ ๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์™ผ์ชฝ์ด -๊ณ  ์˜ค๋ฅธ์ชฝ์ด +๋ฉด

์›์ ์€ e ์˜์—ญ์— ์žˆ๋Š”๊ฑฐ๋‹ˆ๊นŒ, ์—ญ์‹œ ๊ทธ๋ฆผ์˜ ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ ์‚ผ๊ฐํ˜•์˜ ์™ผ์ชฝ ๋ชจ์„œ๋ฆฌ๋ฅผ ์ง์„ ์œผ๋กœ ํ•ด์„œ, ์—ญ์‹œ 14๋ฒˆ ๊ณผ์ •๋ถ€ํ„ฐ ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•ด์š”



๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋ฉด

์ตœ์ข…์ ์œผ๋กœ ์›์ ์ด ๋ฏผ์ฝ”ํ”„์Šคํ‚ค ์ฐจ์ด ๋‹ค๊ฐํ˜• ์†์— ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๋ฅผ ํŒ๋ณ„ํ• ์ˆ˜ ์žˆ์–ด์š”

์ด๊ฒŒ GJK์ถฉ๋Œ๊ฒ€์‚ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž‘๋™๋ฐฉ์‹์ด์—์š”


ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

def gjk_collision(p1,p2)
#1
x1,y1 = mink_dif(1,0,p1,p2)
x2,y2 = mink_dif(0-x1,0-y1,p1,p2)
#2
if (x2-x1)*x2+(y2-y1)*y2 <= 0
return 0
end
#3
while 1== 1
vx,vy = vector_direct(x2-x1,y2-y1,0-x1,0-y1)
x3,y3 = mink_dif(vx,vy,p1,p2)
#4
if vx*x3+vy*y3 <= 0
return 0
end
#5
tx,ty=vector_direct(x3-x1,y3-y1,x2-x1,y2-y1)
d1 =ย  (0-x1)*tx+(0-y1)*tyย 
tx,ty=vector_direct(x3-x2,y3-y2,x1-x2,y1-y2)
d2 =ย  (0-x2)*tx+(0-y2)*tyย 
#6
if d1 >= 0 && d2 >= 0
return 1
end
#7
if d1 <= 0
x1,y1,x2,y2 = x1,y1,x3,y3
end
#8
if d2 <= 0
x1,y1,x2,y2 = x2,y2,x3,y3
end
end
end

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก


๊ทธ๋ฆฌ๊ณ  ์œ„์— ์˜ฌ๋ ค๋†“์€ ์ฝ”๋“œ๊ฐ€ ์ด๋Ÿฌํ•œ GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ฝ”๋“œ์—์š”,

์ž…๋ ฅ๊ฐ’์ธ p1 p2๋Š” ์ถฉ๋Œ์„ ํŒ๋ณ„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋‘ ๋‹ค๊ฐํ˜•์ด์—์š”, ์—ญ์‹œย [ [x1,y1],[x2,y2],[x3,y3], ] ์™€ ๊ฐ™์€ ruby ์–ธ์–ด์˜ ๋ฐฐ์—ด ๋ฐฉ์‹์œผ๋กœ ์ž…๋ ฅ๋˜์š”

์œ„์˜ ์ฝ”๋“œ์—์„œ ์ดˆ๋ก์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ์ฃผ์„์—์„œ #1 #2๊ฐ€ ์•ž์˜ ์„ค๋ช…์˜ 13๋ฒˆ ๋ถ€๋ถ„์ด๊ณ 

#3 #4๊ฐ€ 14๋ฒˆ ๋ถ€๋ถ„

#5 #6์ดย 16๋ฒˆ ๋ถ€๋ถ„

#7ย #8์ด 17๋ฒˆ ๋ถ€๋ถ„์ด์—์š”





๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ์‹ค์ œ๋กœ ์œ„์˜ gjk์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ์ถฉ๋ŒํŒ์ •์„ ์ฒ˜๋ฆฌํ•ด๋ณด๋Š”ย ์˜์ƒ์ด์—์š”


ํŒŒ๋ž‘์ƒ‰์ด ๋ฐฉํ–ฅํ‚ค๋กœ ์›€์ง์ด๋Š” ์‚ฌ๊ฐํ˜•์ด์—์š”, ๋งŒ์•ฝ ์ค‘์•™์—์„œ ํšŒ์ „ํ•˜๋Š” ๋ถ„ํ™์ƒ‰ ์ง์‚ฌ๊ฐํ˜•๊ณผ ์ถฉ๋Œํ–ˆ๋‹ค๋ฉด ๋‘˜๋‹ค ๋ฐ˜ํˆฌ๋ช…ํ•˜๊ฒŒ ํ‘œ์‹œ๋˜์š”



18. ๊ณก์„  ๋„ํ˜•์˜ ๋‹ค๊ฐํ˜• ๊ทผ์‚ฌ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09587b824ac891d351e2a8a8f



๋‹ค์Œ ์„ค๋ช…์€ ์•ž์—์„œ ๊ตฌํ•œ ์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‹ค์ œ๋กœ ์—ฌ๋Ÿฌ ๋„ํ˜•๋“ค์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•ด๋ณด๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ค๋ช…์ด์—์š”


์ฒซ๋ฒˆ์งธ ์„ค๋ช…์€ ๊ฐ€์žฅ์ž๋ฆฌ๊ฐ€ ๊ณก์„ ์ธ ๋„ํ˜•๋“ค์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—์š”,


๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ๋Š” ๊ณก์„  ๋„ํ˜•์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๋‹น ๋„ํ˜•์„ ๋‹ค๊ฐํ˜•์œผ๋กœ ๊ทผ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์–ด์š”,


์ฆ‰, ๊ณก์„ ์ธ ๋„ํ˜•๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ณก์„  ๋„ํ˜•๊ณผ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•œ ๋‹ค๊ฐํ˜•๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š”๊ฑฐ์—์š”




์šฐ์„  ์›์€ ์œ„์˜ ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํŒ”๊ฐํ˜•์œผ๋กœ ๊ทผ์‚ฌ์‹œ์ผฐ์–ด์š”,


์ฆ‰, ์›๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ๋Š” ์›์— ๊ฐ€๊นŒ์šด ํŒ”๊ฐํ˜•๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š” ๊ฑฐ์—์š”,



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c6d3eb72fc814e651ea9a68c

๋‹ค์Œ์œผ๋กœ ํƒ€์› ์—ญ์‹œ ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํŒ”๊ฐํ˜•์œผ๋กœ ๊ทผ์‚ฌ์‹œ์ผฐ์–ด์š”,


๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํƒ€์›๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•œ๋‹ค๊ณ  ํ•ด๋„, ์‹ค์ œ๋กœ๋Š” ํƒ€์›์ด ์•„๋‹Œย ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์˜ ํŒ”๊ฐํ˜•๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š”๊ฑฐ์—์š”





19. ๊ธฐ์šธ์–ด์ง„ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์  ๊ตฌํ•˜๊ธฐ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c786ed20fcda48311e56af84



๋‘๋ฒˆ์งธ ์„ค๋ช…์€ ๊ธฐ์šธ์–ด์ง„ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—์š”


๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ๊ทธ๋ฆผ์€ ๋ฒกํ„ฐ์˜ ํšŒ์ „ ๊ณต์‹์ด์—์š”


๊ทธ๋ฆผ์— ๋‚˜์˜จ๊ฒƒ์ฒ˜๋Ÿผ ๋ฒกํ„ฐ x1,y1์ด ์›์ ์„ ๊ธฐ์ค€์œผ๋กœ a๊ฐ๋„๋งŒํผ ํšŒ์ „ํ•ด์„œ ๋‚˜์˜จ ๋ฒกํ„ฐ๊ฐ€ x2,y2์ผ๋•Œ


x2 =ย x1*cos(a)-y1*sin(a)


y2 = x1*sin(a)+y1*cos(a)


๊ฐ€ ๋˜๋Š” ๋ฐฉ์‹์ด์—์š”





๊ทธ๋ฆฌ๊ณ  ์ด ๋ฒกํ„ฐ์˜ ํšŒ์ „ ๊ณต์‹์œผ๋กœ ๊ธฐ์šธ์–ด์ง„ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ์˜ ์ขŒํ‘œ๋ฅผ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


๋‹ค๊ฐํ˜•์˜ ์ค‘์‹ฌ์ ์ด ์›์ (0,0)์— ๋†“์ธ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๊ฐํ˜•์˜ ๊ฐ๊ฐ์˜ ๊ผญ์ง“์ ๋“ค์˜ ์ขŒํ‘œ๊ฐ’์ด ์ฃผ์–ด์กŒ์„๋•Œ


๋งŒ์•ฝ ๋‹ค๊ฐํ˜•์ด ์›์ ์„ ์ค‘์‹ฌ์œผ๋กœ a๊ฐ๋„๋งŒํผ ๊ธฐ์šธ์–ด์กŒ๋‹ค๋ฉด, ์—ญ์‹œ ๊ทธ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ๋“ค๋„ย ์›์ ์„ ์ค‘์‹ฌ์œผ๋กœ a๊ฐ๋„๋งŒํผ ๊ธฐ์šธ์–ด์ง„๊ฒŒ ๋˜๋Š”๊ฑฐ๋‹ˆ๊นŒ


์›๋ž˜์˜ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ์— ์œ„์˜ ๋ฒกํ„ฐ์˜ ํšŒ์ „๊ณต์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์šธ์–ด์ง„ ๊ฐ๋„์—์„œ์˜ ๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ์˜ ์ขŒํ‘œ๋ฅผ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”



ใ…กใ…กใ…กใ…กใ…กใ…ก


def vector_turn(x,y,a)

return x*Math.cos(a)-y*Math.sin(a),x*Math.sin(a)+y*Math.cos(a)

end


ใ…กใ…กใ…กใ…กใ…กใ…ก



๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ํ•จ์ˆ˜๋Š” ์œ„์˜ ๊ทธ๋ฆผ์— ๋‚˜์˜จ ๊ณต์‹์„ ํ•จ์ˆ˜ํ™”์‹œํ‚จ๊ฑฐ์—์š”


์ž…๋ ฅ๊ฐ’์˜ x,y๊ฐ€ ํšŒ์ „์‹œํ‚ฌ ๋ฒกํ„ฐ๊ณ  a๊ฐ€ ํšŒ์ „๊ฐ๋„์—์š”



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c684b825fadf1a661e98d903



๊ทธ๋ฆฌ๊ณ  ๋‹ค๊ฐํ˜•์˜ ํšŒ์ „์—์„œ ์‹ค์ œ๋กœ ๋ชจ๋“  ๊ผญ์ง“์ ์„ ํšŒ์ „์‹œํ‚ค์ง€ ์•Š์•„๋„ ๋˜์š”


์˜ˆ๋ฅผ๋“ค์–ด ์œ„์˜ ๋งˆ๋ฆ„๋ชจ๋ฅผ ๋ณด๋ฉด ์™ผ์ชฝ ๊ทธ๋ฆผ์—์„œ์ฒ˜๋Ÿผ ๋งˆ๋ฆ„๋ชจ์˜ ๊ผญ์ง“์ ์€ 4๊ฐœ์ง€๋งŒ


์‹ค์ œ๋กœ๋Š” ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์— ํ‘œ์‹œํ•œ๊ฒƒ์ฒ˜๋Ÿผ 2๊ฐœ์˜ ๊ผญ์ง“์ ๋งŒ ํšŒ์ „์‹œํ‚ค๋ฉด ๋˜์š”


๋‹ค๊ฐํ˜•์˜ ๊ผญ์ง“์ ๋“ค์˜ ์ขŒํ‘œ๋Š”, ๋‹ค๊ฐํ˜•์˜ ์ค‘์‹ฌ์ ์ด ์›์ ์— ๋†“์˜€์„๋•Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฃผ์–ด์กŒ์œผ๋‹ˆ๊นŒ


๋‚˜๋จธ์ง€ 2๊ฐœ๋Š” ํ•ด๋‹น ๊ผญ์ง“์ ๋“ค์— ์ • ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์ธ ๋ฒกํ„ฐ(-x,-y)๊ฐ€ ๋˜๊ณ , ๊ฒฐ๊ตญย ํšŒ์ „๊ณต์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฒกํ„ฐ์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊พธ๋Š”๊ฒƒ ๋งŒ์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c5d0e922fcd81f321e1f5f8c


์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํฌ๋ฆฌ์Šคํƒˆ ํ˜•ํƒœ์˜ ๋‹ค๊ฐํ˜•๋„


์™ผ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ผญ์ง“์ ์€ ์—ฌ์„ฏ๊ฐœ๊ฐ€ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‘๊ฐœ์˜ ๊ผญ์ง“์ ๋งŒ ํšŒ์ „์‹œํ‚ค๋ฉด ๋˜์š”


์ค‘์•™์˜ 4๊ฐœ์˜ ๊ผญ์ง“์ ์€ ์ค‘์•™์˜ ์›์ ์„ ๊ธฐ์ค€์œผ๋กœ ์„œ๋กœ ์ˆ˜์ง(90๋„)์ด๋‹ˆ๊นŒ, ํ•œ ๊ผญ์ง“์ ์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊พธ๋Š”๊ฒƒ ๋งŒ์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ๊ณ 


๊ฐ€์žฅ์ž๋ฆฌ์˜ 2๊ฐœ์˜ ๊ผญ์ง“์ ์€ ์—ญ์‹œ ์„œ๋กœ ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์ด๋‹ˆ๊นŒ, ํ•˜๋‚˜๋งŒ ํšŒ์ „์‹œํ‚ค๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ํ•œ ๊ผญ์ง“์ ์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊พธ๋Š”๊ฒƒ์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”





20. ์˜ค๋ชฉ ๋‹ค๋ฉด์ฒด์˜ ์ถฉ๋ŒํŒ์ • ๊ตฌํ•˜๊ธฐ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee09785ef2faadb4b341e6f4a1f

์„ธ๋ฒˆ์งธ๋Š” ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ณผ๋ก ๋‹ค๊ฐํ˜•์ดย ์•„๋‹Œ ๋‹ค๊ฐํ˜•์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—์š”


๊ทธ๋ฆฌ๊ณ  ์ด๊ฑด ๊ทธ๋ฆผ์˜ ์˜ค๋ฅธ์ชฝ์ฒ˜๋Ÿผ ํ•ด๋‹น ์˜ค๋ชฉ ๋‹ค๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๋ณผ๋ก ๋‹ค๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ ์„œ ๊ฐ๊ฐ์˜ ๋‹ค๊ฐํ˜•๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”


์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์ˆ˜๋ฆฌ๊ฒ€ ๋ชจ์–‘์„ ๋‘๊ฐœ์˜ ๋งˆ๋ฆ„๋ชจ๋กœ ๋‚˜๋ˆ„์–ด๋†“์€๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”


์ฆ‰, ์‹ค์ œ๋กœ๋Š” ์ˆ˜๋ฆฌ๊ฒ€ ๋ชจ์–‘๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ์ €๋ ‡๊ฒŒ ๋‘๊ฐœ์˜ ๋งˆ๋ฆ„๋ชจ ๋ชจ์–‘๊ณผ์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ฐ๊ฐ ๊ตฌํ•˜๋Š”๊ฑฐ์—์š”,


ย 


21. ์ถฉ๋ŒํŒ์ •์˜ ์ตœ์ ํ™”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce983fa11d0283107ab5cf91d66c5d1ce22a5f13c0e60fde701b3b20d75b066b813306bd69b334486a7f3d1d60ee0c084eb76ac8a1a671e697a7c


๋งˆ์ง€๋ง‰์€ ๊ฒŒ์ž„์—์„œ ์ถฉ๋Œ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ• ๋•Œ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์ด์—์š”


์—ฌ๊ธฐ์„œ๋Š” ์ถฉ๋ŒํŒ์ • ๋ฐฉ๋ฒ•์œผ๋กœ GJK์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ์ธ๊ฒŒ์ž„์—์„œ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ์™€์˜ ์ถฉ๋Œ์„ ๊ฒ€์‚ฌํ•  ํ•„์š”๋Š” ์—†์–ด์š”




์œ„์˜ ๊ทธ๋ฆผ์˜ ์˜ค๋ฅธ์ชฝ์—์„œ ๋งˆ๋ฆ„๋ชจ ์ฃผ์œ„์— ๋งˆ๋ฆ„๋ชจ๋ฅผ ํฌํ•จํ•˜๋Š” ์›์„ ๊ทธ๋ ค๋†“์€๊ฒƒ์ฒ˜๋Ÿผ


๊ฐ๊ฐ์˜ ์˜ค๋ธŒ์ ํŠธ๋ณ„๋กœ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ์›์œผ๋กœย 1์ฐจ ์ถฉ๋Œ ์˜์—ญ์„ ์„ค์ •ํ•ด๋†“๊ณ 


๊ธฐ๋ณธ์ ์ธ ์˜ค๋ธŒ์ ํŠธ๊ฐ„์˜ ์ถฉ๋Œ๊ฒ€์‚ฌ๋Š” ๊ธ€์˜ ๋งจ ์ฒ˜์Œ์—์„œ ์„ค๋ช…ํ•œ ์›๊ณผ ์›(๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹)์œผ๋กœย 


๊ทธ๋ ‡๊ฒŒ ์„ค์ •ํ•ด๋†“์€ 1์ฐจ ์ถฉ๋Œ์˜์—ญ์ด ์„œ๋กœ ์ถฉ๋Œํ•˜๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š”๊ฑฐ์—์š”




๋งŒ์•ฝ ๋‘ ์˜ค๋ธŒ์ ํŠธ์˜ 1์ฐจ ์ถฉ๋Œ ์˜์—ญ์ด ๋งŒ๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด


๋‘ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”๊ฑด ํ™•์‹คํ•˜๋‹ˆ๊นŒ


๊ตณ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ๋ณต์žกํ•œ ์ถฉ๋Œ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•  ํ•„์š”๋Š” ์—†์–ด์š”




์ฆ‰, ๊ธฐ๋ณธ์ ์ธ ๊ฑฐ๋ฆฌ๋น„๊ต๋กœ ์˜ค๋ธŒ์ ํŠธ๊ฐ„์˜ 1์ฐจ ์ถฉ๋Œ์˜์—ญ์˜ ์ถฉ๋Œ์—ฌ๋ถ€๋“ค๋งŒ ํŒ๋ณ„ํ•˜๊ณ 


๋งŒ์•ฝ ๋‘ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ 1์ฐจ ์ถฉ๋Œ์˜์—ญ์ด ์„œ๋กœ ์ถฉ๋Œํ•œ๋‹ค๋ฉด, ๊ทธ๋•Œ์—๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ์„ธ๋ถ€์ ์ธ ์ถฉ๋ŒํŒ์ •์„ ๊ฒ€์‚ฌํ•˜๋ฉด ๋˜์š”


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณต์žกํ•œ ์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ์—ฐ์‚ฐ๋Ÿ‰์„ ์ƒ๋‹นํžˆ ์ค„์ผ์ˆ˜ ์žˆ์–ด์š”





๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ์‹ค์ œ๋กœ ์ธ๊ฒŒ์ž„์—์„œ ์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•œ ์˜์ƒ์ด์—์š”




์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋ฉด GJK์ถฉ๋ŒํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ ๋„ํ˜•๊ฐ„์˜ ์ถฉ๋ŒํŒ์ •์„ ๊ตฌํ• ์ˆ˜ ์žˆ์–ด์š”