在多边形内绘制圆

时间:2013-04-19 22:34:55

标签: c# winforms computational-geometry

我需要一种算法,给定一个表示多边形的点数组(通常是一个矩形形状,但可以是任何不规则的多边形),并且在该多边形内给出一个点击位置,拟合一个圆形触及多边形的三个边最接近点击的位置,但最大化圆的整体覆盖范围而不离开边界

触摸两侧很容易(找到质心,然后找到距边缘最短的距离等) - 但触摸三面是挑战。见附图。

enter image description here

我很快就需要回答。谢谢!

1 个答案:

答案 0 :(得分:3)

问题与medial axis有关。作为接触3个或更多个边的圆的中心的点是中轴的分支点。足以制作中轴,找到分支点,并且对于给定的点击位置找到最接近的点。