Collision & spatial queries · 4 / 10

Separating Axis Theorem / SAT

凸形状の投影に隙間があるかで衝突を判定する。

Compare in motion

近づく凸形

Synchronized comparison
AReference
回転を無視した外接箱

回転を無視した外接箱

BSeparating Axis Theorem / SAT100%
凸形の接触を判定できる

凸形の接触を判定できる

Loading demo…

Scrub to pause and inspect. At 0%, B matches A; at 100%, B shows the effect. The scene repeats every 8 seconds.

Look for: 複数軸へ投影して比較 → 区間が重なる。

This model simplifies the technique to show its use case and effect. Operation counts describe the model; they are not performance measurements.

Read the storyboard

例: 近づく凸形

  1. 1. Start

    投影区間が離れる

  2. 2. Change

    複数軸へ投影して比較

  3. 3. Result

    区間が重なる

凸形の接触を判定できる。時間変化を示す模式図です。実際の描画結果や処理速度を再現したものではありません。

How it works

  1. 1. Input

    二つの凸形

  2. 2. Process

    候補軸へ投影する

  3. 3. Result

    離れた軸・接触判定

A schematic of Separating Axis Theorem / SAT. It shows the relationship between input, process, and result; exact values and rendering depend on the implementation.

Further reading

Box2D Collision ↗

A general reference for this subcategory.