【问题标题】:Radius of Centroid Centered Circle Encompassing X Percent of Polygon?包含多边形X百分比的质心圆的半径?
【发布时间】:2015-12-02 20:22:12
【问题描述】:

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

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

以下是一些我认为可以很好测试的几何示例: L, Square, U and Star Test Geometries

【问题讨论】:

    标签: polygon computational-geometry geometry-surface centroid


    【解决方案1】:

    我目前的蛮力方法是:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 2016-10-05
        • 1970-01-01
        相关资源
        最近更新 更多