【實時碰撞檢測算法Summary】k-DOP碰撞檢測

K-DOP名詞解釋

平行平面包圍體,不過平行平面是軸對齊的。利用一個法線和兩個浮點數值來確定平行平面的位置。而這個法線分量一般限制在(+-1,+-1,+-1)中。

k越多,包圍盒的擬合效果就越好,而且由於物體之間的法線可以共享(都是限制的),所以存儲空間也會減小,k-DOP只需要存儲每個軸的最大最小值就可以了。

如DOP8存儲如下

6-DOP一般稱作多面體,如果各個面都與座標軸平行,那就是AABB。

下圖是一個2D空間中8-DOP的例子

K-DOP最大的缺陷:即使空間中的物體很少碰撞,也需要對包圍盒執行更新/翻轉操作,來重新確定該軸上的最大/最小值

所以一般情況下,先用球體或者其他的什麼簡單的 包圍盒做一次一級測試,如果通過了再做K-DOP

K-DOP的計算方法如下:

 提升K-DOP檢測效率的方法:

一般情況下我們認爲,兩個平面如果法線相近,那麼相交結果也是相近的。所以我們在做K-DOP測試的時候,一般下一個測試的平面儘可能的和上一個測試平面正交。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章