圓和矩形是否有重疊

2021-10-04 21:50:58 字數 743 閱讀 9297

寫這篇部落格主要是把它當做乙個雲筆記,順便幫助一下做這道題沒有思路的人。

因為之前想的比較複雜,現在看這道題感覺是如此簡單…

給你乙個以 (radius, x_center, y_center) 表示的圓和乙個與座標軸平行的矩形 (x1, y1, x2, y2),其中 (x1, y1) 是矩形左下角的座標,(x2, y2) 是右上角的座標。

如果圓和矩形有重疊的部分,請你返回 true ,否則返回 false 。

換句話說,請你檢測是否 存在 點 (xi, yi) ,它既在圓上也在矩形上(兩者都包括點落在邊界上的情況)。

首先判斷圓心座標是否矩形範圍內。

如果圓心橫座標在矩形範圍內,那麼只要比較圓心到矩形的兩個寬所在的兩條直線的距離,選擇最小的距離和半徑比較,如果距離大於半徑,那麼沒有重疊,反之則有重疊。圓心縱座標也同理。

如果圓心橫縱座標都不在矩形範圍內,那麼就和矩形的四個頂點的距離比較。如果圓心到頂點的最小距離大於半徑,那麼沒有重疊,反之則有重疊。

總結:

如果圓心橫縱座標都不在矩形範圍內,那麼就把圓心到頂點最短距離和半徑作比較。

如果圓心橫縱座標不是都不在矩形範圍內,那麼就把圓心到四個邊最短距離和半徑作比較。

class

solution

};

1401 圓和矩形是否有重疊

題目描述 給你乙個以 radius,x center,y center 表示的圓和乙個與座標軸平行的矩形 x1,y1,x2,y2 其中 x1,y1 是矩形左下角的座標,x2,y2 是右上角的座標。如果圓和矩形有重疊的部分,請你返回 true 否則返回 false 換句話說,請你檢測是否 存在 點 x...

判斷兩個矩形是否重疊

兩個矩形的邊均與x軸或y軸平行,即軸對齊的矩形 將第乙個矩形記做a,第二個矩形記做b 判斷矩陣a與矩陣b是否重疊 邊沿重疊也認為是重疊 第一種方案,正向思維 按照一般的思路,先列舉出所有的矩形重疊的情況,然後,判斷是否是其中一種,如圖所示,共有四種重疊情況,我們使用紫色代表矩形a,紅色代表矩形b,並...

判斷圓和矩形是否相交(非面積相交)

題解。問題很簡單,給你乙個矩形和乙個圓,問你是否他們相交。注意,這裡的相交不是面積相交。也就是說,圓在矩形內 且不相切 是不相交的。或者矩形在圓內 且矩形的四個點不在圓上 也是不相交的。那麼,我們怎麼來判斷呢?中間輪廓線是矩形的邊,各向外和內距離為圓半徑r劃線 當然,四個角的肯定不太標準 如果圓心在...