在這裏,我們爲另一個問題。屏幕上的圖形碰撞
之前的一個,我終於完成了kDop系統和一切有關。 (kDop的等級樹等)。 一切工作正常。
現在我想在屏幕上畫出衝突以進行調試,並查看工作結果。 (要查看我在特定模式下所做的分層選擇是否正確)
對於AABB/Sphere沒有問題,它非常容易創建。 問題是與kDOP ...
我:
軸系 (1,0,0)(0,1,0)(0,0,1)(1,1,1 )( - 1,1,1)(1,-1,1)(1,1,-1)(1,1,0)(1,0,1),(0,1,1),(1 ,-1,0),(1,0,-1),(0,1,-1) 和使用座標軸計算的最小/最大值。
如何用這些數據創建一系列多邊形(實際上是一個簡單的網格)? (我不在乎實現,我只是想理解它,所以我可以實現它)
非常感謝答案!
編輯:我可以很容易地計算網格的原因,我已經有了軸。問題是計算頂點的位置...
編輯2:我在網上發現這個代碼似乎是有用的(或至少在它說它創建一個調試網格的文檔),但我不'知道如何使用它來尋找頂點位置:
real Kdop::getDistanceOfPlaneToOrigin(int k) const {
if (k < 0 || k >= mK) {
return 0.0f;
}
if (k >= mK/2) {
return (real) (mDistances[k] * -1.0);
}
return mDistances[k];
}
編輯3:我想和具有法線與點(原點,我敢肯定,飛機越過),我可以建立所有飛機相關的操作...現在我需要更多的東西....
給定正常的n和距離原點d的距離,你基本上已經獲得了你的平面座標。如果你的法線是呃標準化的,點p的平面方程爲:np - d = 0(你可以根據你所關心的飛機的哪一側將其改變爲不等式) – comingstorm 2010-02-01 19:15:15
... if您的正常*不是*正常化,請使用:np - d | n | = 0 – comingstorm 2010-02-01 19:19:18