一般的に配置されたブロックとの円の交差または衝突を検出したいと考えています。ブロックは長方形で、任意のサイズまたは回転にすることができます。
この背後にある数学は何ですか?
一般的に配置されたブロックとの円の交差または衝突を検出したいと考えています。ブロックは長方形で、任意のサイズまたは回転にすることができます。
この背後にある数学は何ですか?
任意のセグメントabが円Cと交差するかどうかをチェックする関数を 1 つ作成します。点pが円Cの内側にあるかどうかをチェックする 2 番目の関数を作成します。次に、4 つの四角形の辺に対して 1 番目の関数を 4 回呼び出し、それらがすべて失敗した場合は、1 つの角で 2 番目の関数を呼び出します (四角形が完全に円の内側にあるかどうかを確認するため)。「衝突」の定義によっては、円が完全に長方形の内側にあるかどうかも確認する必要がある場合があります。
リアルタイム シミュレーションでこの数百万回を呼び出す場合に備えて、計算を高速化するさまざまな方法があります。最も明白なのは、最初に円Cに外接する正方形Sをチェックしてから、(わずかに) コストのかかる円テストに進むことです。