0

通常は三角形ですが、時には長方形のポリゴンを含むかなり大きなメッシュがあります。メッシュの各ポイントには値があります (値は座標とは関係ありません)。

現在、古いメッシュと同じ座標空間に 2 番目のメッシュを作成しています。古いメッシュの値を使用して、新しいメッシュのすべてのポイント (頂点) の値を補間したいと考えています。

これで、新しいメッシュで各ポリゴンをループし、2D 衝突検出を行うことで、各ポリゴンにある古い頂点を検出できます (これでも適切に機能しないため、2D 衝突検出用のシンプルで高速なコードを誰かが持っている場合 (三角形)で十分です)私は喜んでそれを見ます)。

しかし、私の要点をもう一度。新しいポリゴンごとに古い頂点をループするのは効率的ではないようです。より良い方法はありますか?

4

1 に答える 1

1

問題のヒューリスティックについてさらに知識がなくても、考えられる解決策として私が提案するのは次のとおりです。風景全体の長方形の境界を決定し、この領域を100x100などの等しい長方形のパーティションに分割します。パーティションごとに、このパーティション内の頂点を持つ古いポリゴンのリストを保持できます (古いポリゴンを「ハッシュ」するようなものです)。次に、新しい各ポリゴンを反復処理し、接触する可能性のあるパーティションを決定し (ポリゴンの境界矩形の頂点とその間のすべてのパーティションを使用するだけで問題ありません)、事前に作成されたリストを検索して、対応する古い頂点の候補を見つけます。正確な衝突検出。

これにより、時間のかかる正確な衝突検出計算の回数が減りますが、メモリ消費量は確実に増加します。したがって、正確な問題によっては、これが適切な解決策になる場合もあれば、実際的でない場合もあります。

于 2012-11-10T14:15:51.047 に答える