Polygon 围绕多边形X%的质心圆心半径?

Polygon 围绕多边形X%的质心圆心半径?,polygon,computational-geometry,geometry-surface,centroid,Polygon,Computational Geometry,Geometry Surface,Centroid,我知道如何计算多边形的质心及其面积,由此我可以计算出一个以质心为中心的圆的半径,它包含了100%的多边形:它是从质心到最远顶点的距离 我的问题是:如何找到一个圆的半径R,它包含圆的X%(其中X%小于100%) 以下是一些我认为是很好的测试的几何图形示例: 我目前采用的暴力方法是: 1) 从半径R开始,半径R是包围100%多边形所需半径的一半 2) 用16边正十六角近似圆(面积=相同半径圆的97%) 3) 使用其中一种剪裁方法(例如Weiler–Atherton)查找两个多边形的交点 4) 计算相

我知道如何计算多边形的质心及其面积,由此我可以计算出一个以质心为中心的圆的半径,它包含了100%的多边形:它是从质心到最远顶点的距离

我的问题是:如何找到一个圆的半径R,它包含圆的X%(其中X%小于100%)

以下是一些我认为是很好的测试的几何图形示例:

我目前采用的暴力方法是:

1) 从半径R开始,半径R是包围100%多边形所需半径的一半

2) 用16边正十六角近似圆(面积=相同半径圆的97%)

3) 使用其中一种剪裁方法(例如Weiler–Atherton)查找两个多边形的交点

4) 计算相交多边形的面积


5) 迭代半径R的值,直到交点面积除以多边形面积在(1.0262*X%)的E%范围内,其中,E%是可接受的面积误差,1.0262乘数解释了使用圆和十六边形之间的差异。

首先将多边形分解为一组三角形,其中一个顶点位于质心,另两个顶点形成一条边,具有正方向或负方向(取决于边方向)。三角形的代数面积之和等于多边形的面积

然后考虑单个三角形与成长直径圆的交点区域。这是第一个二次增长,系数等于中心角,直到遇到第一个顶点。然后,该区域变得越来越慢,直到第二个顶点相交,并到达整个三角形区域

通过为所有三角形添加这些函数,您将构造全局相交面积曲线,该曲线分段定义为顶点距离的函数。首先确定函数在哪些顶点之间达到总面积的X%。然后,了解曲线的解析表达式,您将找到精确的半径值。这是用解析法还是数值法取决于三角形区域尾部的表达式