Separating Axis Theorem(SAT)

引用: http://vision.twbbs.org/~jen/?p=78

SAT為一種可快速偵測不規則凸多邊是否碰撞的演算法,他的概念如下:給予兩個凸多邊形物體,如果我們能找到一個軸,使得兩個在物體在該軸上的投影互不重疊,則這兩個物體之間沒有碰撞發生,該軸並稱為其Separating Axis。 (紅色軸線)

Photo

Photo

對於2D的例子來說,可能存在的Separating Axis為垂直於該多邊形各個邊的軸(紅色軸線)。

Photo

因此,若我們要檢查兩多邊形是否碰撞,就去檢查兩多邊形在每個所有可能的軸上的投影是否重疊。

Photo

如果我們找到一個軸,使得兩多邊形在該軸上的投影互不重疊,則我們就可以知道這兩個多邊沒有碰撞發生。

Photo

如果是3D case的話,則需要考慮的可能的Saparating Axis包括各個面的normal,還有每個面中,兩兩edge之外積所形成的向量。

Metanet Software有一個很棒的互動式SAT教學
David Eberly也有發表一篇比較偏講解SAT理論方面的文章
Intersection of Convex Objects: The Method of Separating Axes

转载于:https://www.cnblogs.com/FireYang/archive/2006/11/17/563458.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值