Lesson 07 — SAT: Separating Axis Theorem

Va chạm đa giác lồi tổng quát. Kéo và xoay hai đa giác, xem các trục pháp tuyến và hình chiếu, trục tách được tô màu, và vector tách tối thiểu (MTV). Đơn vị toạ độ hiển thị theo lưới canvas.

1. SAT Explorer — chiếu lên trục, tìm trục tách, tính MTV

Kéo thân đa giác để di chuyển; dùng thanh trượt để xoay. Mỗi trục pháp tuyến của hai hình được chiếu thành một thanh [min, max] bên phải; trục có khe hở (trục tách) tô xanh lá. Nếu chạm, mũi tên cam là MTV.

Đa giác A Đa giác B Trục tách MTV
Mỗi hàng = một trục. Thanh xanh = chiếu A, thanh đỏ = chiếu B. Có khe hở → trục tách.

2. Xoay → AABB báo sai vs SAT đúng

Cùng hai đa giác, hai bộ kiểm tra song song. AABB (hộp bao thẳng trục, nét đứt) báo "chạm" thừa khi vật xoay; SAT báo đúng. Xoay hình B để thấy AABB sai còn SAT đúng.

AABB nói:
SAT nói:

3. Đa giác bay va chạm — SAT phát hiện + MTV đẩy ra

Các đa giác lồi bay quanh hộp, dội tường. Mỗi cặp dùng SAT kiểm tra; khi chạm, dùng MTV đẩy rời và đảo vận tốc theo pháp tuyến va chạm. Đếm số lần SAT chạy mỗi frame để thấy chi phí O(cặp²) (lý do cần broad-phase ở L08).