0

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

我的问题是:如何找到包含 X% 圆的圆的半径 R(其中 X% < 100%)?

以下是一些我认为可以很好测试的几何示例: L、Square、U 和 Star 测试几何

4

2 回答 2

0

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

然后考虑一个三角形与一个直径不断增大的圆的交点面积。这首先以等于中心角的系数二次增长,直到遇到第一个顶点。然后该区域越来越慢,直到遇到第二个顶点,并到达整个三角形区域。

通过为所有三角形添加这些函数,您将构建全局相交面积曲线,该曲线分段定义为顶点距离的函数。您将首先确定函数在哪些顶点之间达到总面积的 X%。然后,知道这条曲线的解析表达式,您将找到确切的半径值。这是否可以通过解析或数值方式完成,取决于三角形区域尾部的表达式。

于 2015-12-03T19:16:10.083 回答
0

我目前的蛮力方法是:

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

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

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

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

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

于 2015-12-02T22:13:01.317 回答