我知道如何計算一個多邊形及其面積的質心,由此我可以計算以包含多邊形100%的質心爲中心的圓的半徑:它是從質心到最遠頂點的距離。包含X百分比多邊形的質心居中圓的半徑?
我的問題是:你如何找到一個圓的半徑R,其中包含百分之X的圓(其中X%是< 100%)?
這裏有一些例子幾何形狀,我覺得這是很好的測試: L, Square, U and Star Test Geometries
我知道如何計算一個多邊形及其面積的質心,由此我可以計算以包含多邊形100%的質心爲中心的圓的半徑:它是從質心到最遠頂點的距離。包含X百分比多邊形的質心居中圓的半徑?
我的問題是:你如何找到一個圓的半徑R,其中包含百分之X的圓(其中X%是< 100%)?
這裏有一些例子幾何形狀,我覺得這是很好的測試: L, Square, U and Star Test Geometries
目前的蠻力方法我是:
1)開始一個半徑爲R的一半大小以包圍多邊形
2)的100%近似爲16邊規則十六邊形(面積圓所需要的一個=具有相同半徑的圓)
3)的97%的使用的一個裁剪方法(例如維勒-阿瑟頓)找到兩個多邊形
4)的交點計算相交多邊形(多個)
5)的區域迭代爲半徑R的值,直到交叉處通過的面積除以面積該多邊形在(1.0262 * X%)的E%範圍內,其中E%是可接受的面積誤差,1.0262乘數說明了使用圓形和十六邊形之間的差異。
首先將多邊形分解爲一組三角形,其中一個頂點位於質心,另外兩個形成邊,具有正方向或負方向(取決於邊的方向)。三角形的代數區域的總和等於多邊形的面積。
然後考慮單個三角形與直徑增加的圓的相交區域。首先以係數等於中心角的方式二次生長,直到滿足第一個頂點。然後,該區域變得更慢,更慢,直到達到第二個頂點,並達到整個三角形區域。
通過爲所有三角形添加這些函數,您將構造全局交集區域曲線,該曲線作爲頂點距離的函數分段定義。您將首先確定函數在哪個頂點到達總面積的X%。然後,知道這條曲線的解析表達式,就可以找到確切的半徑值。這是否可以通過分析或數字來完成取決於三角形區域尾部的表達。