長方形間の重なりの決定:
長方形間の重なりを決定するための最初のアプローチは、リンクされているアルゴリズムとは異なるアルゴリズムに基づいているようです。という質問。提供されるアルゴリズムは、以下に示すように、長方形座標のより直接的な比較を使用します。
if (RectA.Left < RectB.Right && RectA.Right > RectB.Left && RectA.Top > RectB.Bottom && RectA.Bottom < RectB.Top) // Assuming Left, Right, Top and Bottom are the coordinates of the rectangles along the X and Y axis
デカルト座標では、この条件は次のように表現できます。
if (RectA.X1 < RectB.X2 && RectA.X2 > RectB.X1 && RectA.Y1 > RectB.Y2 && RectA.Y2 < RectB.Y1)
証明矛盾:
この条件は矛盾による証明の原則に基づいています。次の条件のいずれかが true の場合、長方形は重なり合うことができません:
したがって、重複の条件はこれらの逆になります条件:
補足:
以上が2 つの長方形が重なっているかどうかをどのように判断しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。