半平面的交集 多邊形的核 多邊形的交集基本概念

2021-10-04 06:37:44 字數 619 閱讀 8739

簡單多邊形 p 的核(kernel),k(p)定義如下:k(p)由多邊形內部的點構成,這些點與多邊形的任何頂點相連所構成的線段完全包含在 p 中。

乙個重要的性質是現,k(p)作為半平面的交集,它或者為空或者為完全包含在p 內的有界凸集。

紅色部分。

半平面,在數學定義下就是

ax + by + c >= 0

所控制的乙個的半空間。半空間在不同維度下意義不同,如果是2維的話,其實此時ax + by + c >= 0 就是二維中一條直線的一側。

此時如果你再看核,其實可以理解為線性規劃時得到的乙個可行域。

我們上面說到 如果是2維的話,其實此時ax + by + c >= 0 就是二維中一條直線的一側。所以直線(也就是決定半平面的直線)切割多邊形 ,讓直線不斷的去切割當前多邊形,然後得到新的多邊形。

不難想象,其實結果可能是乙個多邊形(一定是凸的)、乙個線段、空、乙個點等等。我們記錄頂點的資料來進行描述。

綜上,如果計算半平面的交集,可以使用乙個

同理如果計算多邊形交,可以將每乙個邊對應到乙個半平面,從而執行半平面交集進行計算。

多邊形的核 模板

謝勇大神畫了張圖,然後這個問題就解決了。本質是 半平面交 問題。直線切割多邊形,公共的部分就是多邊形的核 這裡找到乙個不錯的模板 include include include include include include include include include define cl arr...

計算幾何 多邊形交集

問題描述 已知兩個多邊形poly1和poly2,分別由點集c1 和c2 表示,求這兩個多邊形的交集。演算法思想 兩個多邊形相交後,其頂點要麼是兩個多邊形邊的交點,要麼是在多邊形內部的點。演算法步驟 1.計算兩個多邊形每條邊之間的交點。2.計算包含在多邊形內部的點。3.將交點和多邊形內部的點,按逆時針...

計算幾何 多邊形交集

問題描述 已知兩個多邊形poly1和poly2,分別由點集c1 和c2 表示,求這兩個多邊形的交集。演算法思想 兩個多邊形相交後,其頂點要麼是兩個多邊形邊的交點,要麼是在多邊形內部的點。演算法步驟 1.計算兩個多邊形每條邊之間的交點。2.計算包含在多邊形內部的點。3.將交點和多邊形內部的點,按逆時針...