3

このプログラミングゲームを参考に、現在制作中です。

この投稿の回答のおかげで、長方形のすべての点の xy 座標を見つけることができるようになり (回転した場合でも)、壁による衝突検出はほぼ完全に機能するようになりました。

ここで、ボット自体との衝突検出を実装する必要があります (明らかに、アリーナには複数のボットが存在するためです)。

この場合、Square-Square Collision Detection (Non-rotated) は有効ではありません。これは、ボットが角度を付けて回転するためです (ここで説明したように)。

では、この形式の回転四角形の衝突検出を WPF で実装する最良の方法は何でしょうか?

数学が関係しているに違いないと思いますが、通常、WPFにはこれらの数学を「計算」する関数があることがわかります(この場合のように)

4

2 に答える 2

0

各行の衝突をチェックします (したがって、最大 4*4 行の衝突チェックがあり、2 つの線が衝突した場合、ボットも衝突し、停止することができます)、より良い/より高速な方法があると確信していますがこれをする。長方形のサイズが異なる可能性がある場合は、小さい方が他の長方形の内側にあるかどうかも確認する必要があります。

最初に長方形の回転した x/y-min/max-value をチェックすると (または、ボットの周りに 2 つの円を計算してこれらをチェックすることもできます。これはさらに高速です)、パフォーマンスがわずかに向上する可能性があります。線が互いに離れているかどうかを確認します。

于 2009-02-28T10:05:33.733 に答える