首頁 > 後端開發 > C++ > 兩個矩形重疊嗎?確定性方法

兩個矩形重疊嗎?確定性方法

Patricia Arquette
發布: 2024-12-25 04:12:16
原創
680 人瀏覽過

Do Two Rectangles Overlap? A Deterministic Approach

矩形重疊的確定性偵測

目標是確定兩個矩形是否在2D 平面內重疊,給定定義其位置的各種參數和麵向。您的實作似乎基於凸包理論,但需要進一步檢查以驗證其正確性。

基本重疊演算法

重疊檢測的直觀方法涉及比較每個矩形邊緣的相對位置:

if (
  RectA.Left < RectB.Right &&
  RectA.Right > RectB.Left &&
  RectA.Top > RectB.Bottom &&
  RectA.Bottom < RectB.Top
)
登入後複製

此條件確保矩形A的任何部分完全位於矩形B 的邊界之外,表明它們重疊。

解釋條件

為了澄清,條件檢查以下內容:

  • A 的左邊緣: 如果A的左邊緣位於B 的右邊緣,A 無法完全位於B 的右側。
  • A 的右邊緣: 如果 A 的右邊緣位於 B 左邊緣的右側,則 A 不能完全位於 B 的右側。 B 的左側。
  • A 的上緣: 如果 A 的上緣位於 B 的下緣之上, A 不能完全位於 B 的下方。
  • A 的下緣: 如果 A 的下緣位於 B 的上緣下方,則 A 不能完全位於 B 的上方。

總而言之,如果滿足所有四個條件,則矩形重疊,或者,如果任何一個條件不滿足,則它們不重疊。

以上是兩個矩形重疊嗎?確定性方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板