简单多边形内的小圆圈

时间:2015-08-07 22:40:21

标签: computational-geometry

我一直在研究计算几何问题,并遇到了以下问题(作为子程序需要)但未能找到任何好的参考或算法。

给定一个简单的(可能是凹的)多边形P,目标是计算完全包含在P(空圆)中的最小圆的中心和半径,但在至少两个位置(点或边)触摸多边形。如果两个“位置”碰巧是多边形的点,那么就没有约束。如果我们达到一个点和一个边缘也没有约束。但是如果我们击中两条边,则它们不应该是连续的(假设是顺时针或逆时针顺序)。

我的目标是以n ^ 3或更好的顺序运行可实现的算法。任何指针,参考或想法都会非常有用。

谢谢! AMER

1 个答案:

答案 0 :(得分:0)

既然你只是在寻找指针或想法,我会很简短。多边形的中间轴是在两个或多个位置(https://en.wikipedia.org/wiki/Topological_skeleton#Centers_of_bi-tangent_circles)中接触边界的圆的中心集。中轴也称为骨架,由一条由线和抛物线组成的树状图组成。如果检查此图顶点处的圆圈(忽略与多边形顶点重合的图形顶点),则可以找到最大和最小圆圈。你必须进行微调以适应你的“无连续边缘”要求。