我知道如何计算一个多边形及其面积的质心,由此我可以计算以包含多边形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%。然后,知道这条曲线的解析表达式,就可以找到确切的半径值。这是否可以通过分析或数字来完成取决于三角形区域尾部的表达。