Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

충돌 알고리즘(collision detection algorithms)

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 80 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Aktuellste (20)

Anzeige

충돌 알고리즘(collision detection algorithms)

  1. 1. cos
  2. 2. 𝐴𝐵 𝐴 𝐵 𝐶 𝐴𝐶 𝐴𝐵 𝐴 𝐵 𝐶 𝐴𝐶 𝐴𝐵 ∙ 𝐴𝐶 > 0 𝐴𝐵 ∙ 𝐴𝐶 < 0
  3. 3. 𝑂𝐵 𝑂𝐴 𝑂𝐴′ 𝐴 𝐵 𝑂 𝐴′
  4. 4. 𝑂𝐴 ∙ 𝑂𝐵 𝑂𝐴 𝑂𝐵 cos𝜃 𝐴 𝐵 𝑂 𝐴′ 𝑂𝐴′ 𝑂𝐴 cos𝜃
  5. 5. 𝑂𝐵 ෢ 𝑂𝐵 𝐴 𝐵 𝑂 𝐴′ 𝑂𝐴′ 𝑂𝐴 cos𝜃 ෢ 𝑂𝐵 𝑂𝐵 ||𝑂𝐵||
  6. 6. 𝑎 = (𝑎𝑥, 𝑎𝑦, 𝑎𝑧) b = 𝑏𝑥, 𝑏𝑦, 𝑏𝑧 𝑎 × 𝑏 = (𝑎𝑦 ∙ 𝑏𝑧 − 𝑏𝑦 ∙ 𝑎𝑧, 𝑎𝑧 ∙ 𝑏𝑥 − 𝑏𝑧 ∙ 𝑎𝑥, 𝑎𝑥 ∙ 𝑏𝑦 − 𝑏𝑥 ∙ 𝑎𝑦)
  7. 7. 𝑎 × 𝑏 × 𝑐 𝑎 × 𝑏 × 𝑐
  8. 8. 𝑂𝐴 × 𝑂𝐴 × 𝑂𝐵 𝑂 𝐴 𝐵 𝑂𝐴 × 𝑂𝐵 𝑂𝐴 × 𝑂𝐴 × 𝑂𝐵
  9. 9. 𝑆1이 𝑆2일 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 고 𝑆2𝑚𝑎𝑥 𝑆1𝑚𝑖𝑛 𝑆1 𝑆2 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛
  10. 10. 3D AABB Algorithm - YouTube
  11. 11. AABB 정밀 충돌 감지 - YouTube
  12. 12. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 Ԧ 𝑣
  13. 13. (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 𝑆1 𝑆2 Ԧ 𝑑 Ԧ 𝑣 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 Ԧ 𝑣
  14. 14. (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ 𝑣 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 Ԧ 𝑣
  15. 15. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 𝑆1𝑚𝑎𝑥 𝑆2m𝑖𝑛 Ԧ 𝑣 Ԧ 𝑣
  16. 16. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ 𝑣 𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ 𝑣 Ԧ 𝑣
  17. 17. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ 𝑣 𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ 𝑣 Ԧ 𝑣
  18. 18. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ 𝑣 𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ 𝑣 Ԧ 𝑣
  19. 19. 𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 (𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ 𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ 𝑣 𝑆1 𝑆2 𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ 𝑣 𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ 𝑣 Ԧ 𝑣
  20. 20. OBB Algorithm - YouTube
  21. 21. ⊕ ∈ ∈
  22. 22. ⊖ ∈ ∈
  23. 23. – → → 𝑆𝐶 Ԧ 𝑑 = 𝑆𝐴 ( Ԧ 𝑑) 𝑆𝐵 (− Ԧ 𝑑)
  24. 24. GJK Algorithm - Minkowski Different - YouTube
  25. 25. Ԧ 𝑑 𝑆𝑠3 Ԧ 𝑑 = 𝑆𝑠1 ( Ԧ 𝑑) 𝑆𝑠2 (− Ԧ 𝑑)
  26. 26. 𝐴𝑂 𝑆𝑠3 𝐴𝑂 = 𝑆𝑠1 (𝐴𝑂) 𝑆𝑠2 (−𝐴𝑂) 𝐴𝑂
  27. 27. 𝐴𝑂
  28. 28. 𝑂𝐵 𝐴𝑂 𝑂𝐵 ∙ 𝐴𝑂 𝐴𝑂 ∙ 𝑂𝐵
  29. 29. 𝑂𝐵 𝐴𝑂 𝐴𝑂 𝑂𝐵 𝑂𝐵 ∙ 𝐴𝑂
  30. 30. 𝐴𝑂 𝑂𝐵 𝑂𝐵 ∙ 𝐴𝑂
  31. 31. 𝐴𝐵
  32. 32. Ԧ 𝑑 𝐴𝐵 × 𝐴𝑂 × 𝐴𝐵 𝐴𝐵 𝐴𝑂 × Ԧ 𝑑 Ԧ 𝑑
  33. 33. 𝐴𝐵 × 𝐴𝑂 𝐴𝐵 𝐴𝑂 𝐴𝐵 𝐴𝑂 𝐴𝐵 𝐴𝑂
  34. 34. 𝐴𝐵 × 𝐴𝑂 × 𝐴𝐵 𝐴𝐵 Ԧ 𝑑 𝐴𝐵 𝐴𝑂 Ԧ 𝑑
  35. 35. Ԧ 𝑑 𝑂𝐶 ∙ Ԧ 𝑑 𝑂𝐶
  36. 36. 𝑅𝐴𝐵𝐶 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐴𝐵 𝑅𝐴 𝑅𝐵 𝑅𝐶
  37. 37. 𝑅𝐴𝐵𝐶 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐴𝐵 𝑅𝐴 𝑅𝐵 𝑅𝐶
  38. 38. 𝑅𝐴𝐵𝐶 𝐴𝑂 𝑅𝐴 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐴𝐵 𝑅𝐴 𝑅𝐵 𝑅𝐶 𝐴𝑂
  39. 39. 𝑅𝐴𝐵𝐶 𝑅𝐵 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐴𝐵 𝑅𝐵 𝑅𝐶
  40. 40. 𝑅𝐴𝐵𝐶 𝐴𝐵 𝑅𝐴𝐵 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐴𝐵 𝑅𝐶
  41. 41. 𝑅𝐴𝐵𝐶 𝑅𝐶 𝑅𝐴𝐶 𝑅𝐵𝐶 𝑅𝐶
  42. 42. 𝑅𝐴𝐵𝐶 𝑅𝐵𝐶 𝑅𝐴𝐶 𝑅𝐴𝐵𝐶 𝑅𝐵𝐶 ((𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵 ∙ 𝐶𝑂 𝑅𝐴𝐶 𝑅𝐵𝐶
  43. 43. 𝐶𝐴 × 𝐶𝐵 (𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵 𝐶𝐵 𝑅𝐴𝐶 𝑅𝐵𝐶 (𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵
  44. 44. 𝑅𝐴𝐵𝐶 𝐶𝑂 𝑅𝐴𝐶 𝑅𝐵𝐶
  45. 45. 𝑅𝐴𝐵𝐶 Ԧ 𝑑 𝐶𝑂 𝑅𝐵𝐶 𝑅𝐵𝐶 𝑅𝐴𝐶 𝑅𝐵𝐶
  46. 46. 𝑅𝐴𝐵𝐶 𝑅𝐴𝐶 (𝐶𝐵 × 𝐶𝐴 × 𝐶𝐴 𝐶𝑂 𝑅𝐴𝐶 𝑅𝐵𝐶
  47. 47. 𝑅𝐴𝐵𝐶 ((𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵 ∙ 𝐶𝑂 ((𝐶𝐵 × 𝐶𝐴 × 𝐶𝐴 ∙ 𝐶𝑂 𝑅𝐴𝐶 𝑅𝐵𝐶
  48. 48. GJK Algorithm - YouTube
  49. 49. the GJK Collision detection algorithm — Harold Serrano - Game Engine Developer Separating Axis Theorem (SAT) Explanation. – YouTube https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_collision_detection https://justicehui.github.io/other-algorithm/2018/06/23/OBB/ 여러 가지 물체 충돌 감지 알고리즘 속 수학적 원리 : 네이버 블로그 (naver.com)

×