cos
𝐴𝐵
𝐴
𝐵
𝐶 𝐴𝐶
𝐴𝐵
𝐴
𝐵
𝐶
𝐴𝐶
𝐴𝐵 ∙ 𝐴𝐶 > 0
𝐴𝐵 ∙ 𝐴𝐶 < 0
𝑂𝐵 𝑂𝐴
𝑂𝐴′
𝐴
𝐵
𝑂 𝐴′
𝑂𝐴 ∙ 𝑂𝐵 𝑂𝐴 𝑂𝐵 cos𝜃
𝐴
𝐵
𝑂 𝐴′
𝑂𝐴′ 𝑂𝐴 cos𝜃
𝑂𝐵 ෢
𝑂𝐵
𝐴
𝐵
𝑂 𝐴′
𝑂𝐴′ 𝑂𝐴 cos𝜃
෢
𝑂𝐵
𝑂𝐵
||𝑂𝐵||
𝑎 = (𝑎𝑥, 𝑎𝑦, 𝑎𝑧) b = 𝑏𝑥, 𝑏𝑦, 𝑏𝑧
𝑎 × 𝑏 = (𝑎𝑦 ∙ 𝑏𝑧 − 𝑏𝑦 ∙ 𝑎𝑧, 𝑎𝑧 ∙ 𝑏𝑥 − 𝑏𝑧 ∙ 𝑎𝑥, 𝑎𝑥 ∙ 𝑏𝑦 − 𝑏𝑥 ∙ 𝑎𝑦)
𝑎 × 𝑏 × 𝑐
𝑎 × 𝑏 × 𝑐
𝑂𝐴 × 𝑂𝐴 × 𝑂𝐵
𝑂
𝐴
𝐵
𝑂𝐴 × 𝑂𝐵
𝑂𝐴 × 𝑂𝐴 × 𝑂𝐵
𝑆1이 𝑆2일
𝑆1𝑚𝑎𝑥 𝑆2𝑚𝑖𝑛 고 𝑆2𝑚𝑎𝑥 𝑆1𝑚𝑖𝑛
𝑆1
𝑆2
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
3D AABB Algorithm - YouTube
AABB 정밀 충돌 감지 - YouTube
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
Ԧ
𝑣
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣
𝑆1 𝑆2
Ԧ
𝑑 Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
Ԧ
𝑣
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣
𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
(𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
𝑆1𝑚𝑎𝑥 𝑆2m𝑖𝑛 Ԧ
𝑣
Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ
𝑣
𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ
𝑣
Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ
𝑣
𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ
𝑣
Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ
𝑣
𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ
𝑣
Ԧ
𝑣
𝑆1𝑚𝑖𝑛 𝑆1𝑚𝑎𝑥
𝑆2𝑚𝑎𝑥
𝑆2𝑚𝑖𝑛
(𝑆2𝑚𝑎𝑥 − 𝑆1min) ∙ Ԧ
𝑣 (𝑆1𝑚𝑎𝑥 − 𝑆2m𝑖𝑛) ∙ Ԧ
𝑣
𝑆1 𝑆2
𝑆1min 𝑆2𝑚𝑎𝑥 Ԧ
𝑣
𝑆2m𝑖𝑛 𝑆1𝑚𝑎𝑥 Ԧ
𝑣
Ԧ
𝑣
OBB Algorithm - YouTube
⊕ ∈ ∈
⊖ ∈ ∈
–
→
→
𝑆𝐶
Ԧ
𝑑 = 𝑆𝐴 ( Ԧ
𝑑) 𝑆𝐵 (− Ԧ
𝑑)
GJK Algorithm - Minkowski Different - YouTube
Ԧ
𝑑
𝑆𝑠3
Ԧ
𝑑 = 𝑆𝑠1 ( Ԧ
𝑑) 𝑆𝑠2 (− Ԧ
𝑑)
𝐴𝑂
𝑆𝑠3 𝐴𝑂 = 𝑆𝑠1 (𝐴𝑂) 𝑆𝑠2 (−𝐴𝑂)
𝐴𝑂
𝐴𝑂
𝑂𝐵 𝐴𝑂
𝑂𝐵 ∙ 𝐴𝑂
𝐴𝑂
∙
𝑂𝐵
𝑂𝐵 𝐴𝑂
𝐴𝑂
𝑂𝐵
𝑂𝐵 ∙ 𝐴𝑂
𝐴𝑂
𝑂𝐵
𝑂𝐵 ∙ 𝐴𝑂
𝐴𝐵
Ԧ
𝑑 𝐴𝐵 × 𝐴𝑂 × 𝐴𝐵
𝐴𝐵
𝐴𝑂
×
Ԧ
𝑑
Ԧ
𝑑
𝐴𝐵 × 𝐴𝑂
𝐴𝐵 𝐴𝑂
𝐴𝐵 𝐴𝑂
𝐴𝐵
𝐴𝑂
𝐴𝐵 × 𝐴𝑂 × 𝐴𝐵
𝐴𝐵
Ԧ
𝑑
𝐴𝐵
𝐴𝑂
Ԧ
𝑑
Ԧ
𝑑
𝑂𝐶 ∙ Ԧ
𝑑
𝑂𝐶
𝑅𝐴𝐵𝐶
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵
𝑅𝐴
𝑅𝐵
𝑅𝐶
𝑅𝐴𝐵𝐶
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵
𝑅𝐴
𝑅𝐵
𝑅𝐶
𝑅𝐴𝐵𝐶
𝐴𝑂
𝑅𝐴
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵
𝑅𝐴
𝑅𝐵
𝑅𝐶
𝐴𝑂
𝑅𝐴𝐵𝐶
𝑅𝐵
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵
𝑅𝐵
𝑅𝐶
𝑅𝐴𝐵𝐶
𝐴𝐵
𝑅𝐴𝐵
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵
𝑅𝐶
𝑅𝐴𝐵𝐶
𝑅𝐶
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐶
𝑅𝐴𝐵𝐶
𝑅𝐵𝐶 𝑅𝐴𝐶 𝑅𝐴𝐵𝐶
𝑅𝐵𝐶
((𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵 ∙ 𝐶𝑂
𝑅𝐴𝐶
𝑅𝐵𝐶
𝐶𝐴 × 𝐶𝐵
(𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵
𝐶𝐵
𝑅𝐴𝐶
𝑅𝐵𝐶
(𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵
𝑅𝐴𝐵𝐶
𝐶𝑂
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵𝐶
Ԧ
𝑑 𝐶𝑂
𝑅𝐵𝐶
𝑅𝐵𝐶
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵𝐶
𝑅𝐴𝐶
(𝐶𝐵 × 𝐶𝐴 × 𝐶𝐴
𝐶𝑂
𝑅𝐴𝐶
𝑅𝐵𝐶
𝑅𝐴𝐵𝐶
((𝐶𝐴 × 𝐶𝐵 × 𝐶𝐵 ∙ 𝐶𝑂 ((𝐶𝐵 × 𝐶𝐴 × 𝐶𝐴 ∙ 𝐶𝑂
𝑅𝐴𝐶
𝑅𝐵𝐶
GJK Algorithm - YouTube
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)

충돌 알고리즘(collision detection algorithms)