2011-11-26 7 views
3

今日、すべての衝突検出アルゴリズムではないにしても、ほとんどの場合、各2Dボディに幅広い段階でのみAABBを使用する必要があります。Axis-Aligned Bounding BoxesとBounding Ellipse

2Dボディの重心に円を置き、その円がボディ全体を取り囲んでいる場所に半径を拡張するのが最適なようです。ボディを回転させた後に更新する必要はなく、幅広いオーバーラップ計算がより高速になります。正しい?

ボーナス:
境界楕円は、それがより良い長く、細い形状を表すであろうから、また広範な位相計算のための実用的でしょうか?それとも広範な計算を必要とし、幅広い段階の目的を破るでしょうか?

答えて

2

境界ボックスは線形不等式制約によって表され、円と楕円は二次不等式制約を必要とします。両方とも機能することができますが、線形の場合は、アルゴリズムの方程式を解く方がずっと簡単です(行列の乗算だけが必要です)。境界ボックスがワールド座標軸と整列している場合、すべてのチェックはxa - xb > dxa + dxb,ya - yb > dya + dybおよびza - zb > dza + dzbのようになります。d$i$j$j方向の$i$方向の境界ボックスの寸法です。

楕円衝突検出ですが、数学ははるかに難しく、実装と計算の労力は節約に値するものではないかもしれません。いずれにしても、私はGoogleの学者が「楕円衝突検出」を検索し、最初のページの少なくとも2つの論文が正確にこのトピックに関するものと思われました:http://hub.hku.hk/bitstream/10722/47091/1/121854.pdf?accept=1ftp://crack.seismo.unr.edu/downloads/russell/doven_2005_neighbor_list_collision_driven_MD_II.PDF

関連する問題