もう一つの提案(封じ込めをカバーし、私は安価だと思う):
チェック#1の4つの頂点のいずれかが第2位の内側にある場合、#2の4つの頂点のいずれかが内部にある場合は、次にチェック#1。ここで私はそのことについてお勧めしたいと思います:
チェックしている#1の頂点をvとし、#2の4つの頂点をv1 ... v4とします。 逆回転すべての5つの頂点を#2の向きで回転します。 (方程式の向きが左乗算であると仮定して、Mを転置:M^T uでuを乗じる)が軸合わせされているので、すぐにv 'が含まれているかどうかを確認することができます。
#2-stopの内側に#1頂点がある場合、交差点があります。そうでなければ - 続行します。
サイズが固定されている場合は、各ボックスに回転していないコピーを格納することができます(おそらく、それらを比較して可能な包含物をただちに排除して3つの潜在的なテストを保存することができます?)しかし、あなたが箱の対のガゼリオンにそれを適用しない限り、このテストはそのままで十分安くなければならない。
動きについては、あなたが望むほど深くなることができます - 「連続的な衝突」を見て、あなた自身で見てください。 (私は特にStephane Redonの素晴らしい作品を覚えています)。私は全面的に、このような面白いことはしていないと心から考えています。あなたが本当に非常に速く動いている場合は、タイムステップを細分化し、各位置/方向のサブ反復で衝突チェックを実行できます。
(編集:)それについての別の議論right hereがあり、いい言及があります。
試してみてください:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.9172ソースコードはリクエストに応じて入手できます。 –