兩個矩形的相交面積,怎麼求演算法效率相對較高?

時間 2021-12-20 15:28:18

1樓:楊克群

不需要那麼複雜。

一維兩線段[l1,r1]、[l2,r2]為例一維相交區長度為len1=min(r1-l2,r2-l1);len1*=len1>0

2. 對二維面,相交面積為len1*len2

2樓:火星貓

先找所有相交多邊形可能的頂點:

1)所有邊的相交

2)原來矩形的頂點

判斷所有在兩個矩形內(包括邊上)的頂點。

然後再計算相交的面積:

從左往右進行三角形劃分,然後計算面積

這樣比較容易實現

3樓:mathlover xd

這道題有兩種演算法。

1.直接求多邊形面積

多邊形的頂點包括以下兩部分:

所有相交的線段交點;

所有在對方內部的矩形頂點。

因此整個求解過程可以分為以下四步:

找到所有的線段交點;

找到所有的在對方內部的矩形頂點;

求出以上兩個點集並的凸包;

求出凸包面積。

2.半平面交

每個矩形都可以看作四個半平面的交,因此矩形面積交就等價於八個半平面交。

程式略,學習文中演算法可參考:

求線段交點:談談"求線段交點"的幾種演算法(js實現,完整版)求點是否在多邊形內部:判斷點在多邊形內的多種寫法求凸包:凸包,計算幾何-經典演算法

求多邊形面積:任意多邊形的面積公式

半平面交:半平面相交_羅伯斯

感謝關注。

求兩個相交平面的交線方程,可以用兩個平面方程相加或相減得到嗎?

shinbade 這個交線的特點是,線上的點既在第乙個平面上,又在第二個平面上。所以,交線上的點的座標,同時滿足兩個方程。兩個方程聯立求解,就能得出直線方程。方程的聯立求解,本質上就是兩個方程之間的加加減減。 wzd 兩個平面方程聯立就代表直線方程 交面式 否則求出方向向量,用點及方向的引數方程。相...

兩個向量的叉乘為什麼是面積?

二維叉積一圖搞定即可 對於三維叉積,考慮其定義 不難發現對於未知向量 在 為自變數時是線性的,於是我們也就可以將 看作是乙個從三維到一維 實數 的線性變換。那麼我們就可以假設 也就是 由點積幾何意義 投影相乘 和 幾何意義 三個向量圍成的平行六面體的有向體積或者說 顯然 的模長為兩個向量構成的平行四...

為什麼兩個相交的圓的方程,相減得到的式子是經過他們交點的直線解析式

impossible 對於乙個圓的方程 如果我們把方程右側的零捨去讓它成為乙個多項式,那麼帶入任意點,得到的多項式的值就是這個點對圓的冪。這樣的話,令兩個方程相減也就是讓兩個方程相等,那麼得到的軌跡應該是到這兩個點的冪相同的點構成的線。而兩個相交圓的根軸 也就是等冪線 恰好就是交點的連線。 愚乎 你...