問題タブ [aabb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 3D Triangle と AABB の交差領域
三角形と AABB の交点の実際の表面積を探しています。現在、Tomas Akenine-Möller の AABB-Triangle 交差テストを使用していますが、これは非常にうまく機能しますが、開発中のリアルタイムの三角形からボクセルへのエンジンのレンダリング品質を向上させるために、さらに情報が必要です。
これを基本的に適用すると、元のモデルのどの三角形が特定のボクセル内で最も多くのスペースを占めているかがわかります。これにより、モデルから作成された結果のボクセルを元の三角形 ID に関連付けることができ、色の精度だけでなく永続性も確保できます。
私が考えたアプローチは、三角形と AABB の交点をすべて取り、それらをペアにグループ化することです。すべてのペアを取得したら、実際に AABB の外側にあるペアに関連付けられた 3 番目のポイントを簡単に見つけることができます。次に、単純に 3 つのベクトルのセットを取得し、それらを使用して三角形を作成します。完全な元の三角形の面積を取り、構築された三角形の面積を引きます。三角形が「主に AABB の内側にある」わけではない場合、AABB の内側にある三角形を作成し、全体の領域を無視してそれらを足し合わせます。AABB と交差するときに三角形が三角形以外の形状を作成する場合、どうすればよいかまだわかりません。以下は、2D 表現として思いついたケースの一部です (他にもある可能性があります)。
ここでの私のアイデアの実行可能性は本当に疑わしいので、どんな提案も歓迎します. 実際の領域を必要としない私の特定の問題を考えると、誰かがより良い解決策を持っている可能性がある場合は、お知らせください。
ありがとう。
c++ - Simple Oriented Bounding Box OBB 衝突検出の説明
簡単で安価な衝突を検出する AABB メソッドを実装できますが、より正確にするために OBB を実装したいので、モデルの初期化で境界ボックスを作成します。これは 8 つの境界頂点と中心で構成され、各フレームですべての頂点を変換しますOriented Bounding Box に適合する変換行列を使用しますが、2 つの OBB 間の衝突を検出する方法を理解できず、数学ではなくコードの視点でアルゴリズムを説明する単純化された明確なチュートリアルを見つけることができません。私は数学者ではありません。
私が持っている場合
モデルの初期化時にボックスを作成します
各フレームで、モデルの変換行列を使用してボックスを再計算します