Menentukan Pertindihan Antara Segi Empat:
Pendekatan awal anda untuk menentukan pertindihan antara segi empat tepat nampaknya berdasarkan algoritma yang berbeza daripada yang dipautkan dalam soalan itu. Algoritma yang disediakan menggunakan perbandingan koordinat segi empat tepat yang lebih mudah, seperti ditunjukkan di bawah:
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
Dalam koordinat Cartesan, keadaan ini boleh dinyatakan sebagai:
if (RectA.X1 < RectB.X2 && RectA.X2 > RectB.X1 && RectA.Y1 > RectB.Y2 && RectA.Y2 < RectB.Y1)
Bukti oleh Percanggahan:
Syarat ini berdasarkan prinsip pembuktian dengan percanggahan. Jika mana-mana satu daripada syarat berikut adalah benar, maka segi empat tepat tidak boleh bertindih:
Oleh itu, syarat untuk bertindih adalah bertentangan dengan ini syarat:
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana Anda Menentukan jika Dua Segi Empat Bertindih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!