判斷兩個線段\矩形相交

來源:互聯網
上載者:User

如何判斷兩個線段\矩形相交?

首先來判斷兩個線段的情況:假設有兩個線段A和B,左右端點分別為A1,A2和B1,B2,分別考慮下面兩種情況

1. 線段A線上段B的左邊,即A1< B1,那麼 A,B不相交的條件是 A1 < B1 && B1 > A2

2. 線段A線上段B的右邊,即A1> B1,那麼 A,B不相交的條件是 B1 < A1 && A1 > B2

那麼將上面兩種情況綜合起來考慮就是Min(A2,B2) - Max(A1,B1) < 0兩條線段不會相交, 感興趣的可以在紙上畫一下就出來這個規律了。高X=Min(A2,B2) - Max(A1,B1) ,如果X>=0,那麼X就是相交的地區大小。

將其拓展到二維矩形,只需要再求出另一維的Y值,如果X和Y都大於等於0,說明兩個矩形是相交的,面積為X * Y

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.