長方形の重なりの決定論的検出
目的は、2 つの長方形の位置と位置を定義するさまざまなパラメータが与えられた場合に、2 つの長方形が 2D 平面内で重なっているかどうかを確認することです。寸法。実装は凸包理論に基づいているようですが、その正しさを検証するにはさらなる調査が必要です。
基本的なオーバーラップ アルゴリズム
オーバーラップ検出の直感的な方法には、比較が含まれます。各長方形のエッジの相対位置:
if ( RectA.Left < RectB.Right && RectA.Right > RectB.Left && RectA.Top > RectB.Bottom && RectA.Bottom < RectB.Top )
この条件により、長方形 A の一部は長方形 B の境界の完全に外側にあり、それらが重なっていることを示しています。
条件の説明
明確にするために、条件は次のことをチェックします。
要約すると、4 つの条件がすべて満たされると長方形は重なり、いずれかの条件が満たされない場合は重なりません。重なっています。
以上が2つの長方形は重なっていますか?決定論的なアプローチの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。