对于凹多边形中的点,多边形外部的最近点是什么?

时间:2016-10-25 06:25:24

标签: geometry computational-geometry

我有一个位于凹多边形内的点,我想在多边形外面找到只是的最近点。我在For a point in an irregular polygon, what is the most efficient way to select the edge closest to the point?中实现了答案,但它找到了多边形边缘上的最近点,而不是多边形外部。

我尝试将线条从多边形内的点延伸到边缘上的点,但有些情况不会起作用。

有什么建议吗?

编辑:为了使它更清晰,我在凹面或凸面多边形内有一个点,我想找到多边形外面的一个点,尽可能接近内部的点。所以在下图中,我想找到红点。它不必在距离上完美地最小化,只需要在外面并且离原始点不太远。也许固定数量?

enter image description here

2 个答案:

答案 0 :(得分:1)

对于大多数情况,向外延伸线的方法看起来足够好

如果确定最近的点是拐角,则只需在外角的平分线处获得外部点。

答案 1 :(得分:0)

如果您需要多个查询,可以计算多边形的Voronoi diagram(有CGAL implementation)。然后,您可以查找查询点所在的Voronoi单元格。您获得最近的输入边缘作为此单元格的站点。如果您还计算多边形外部的Voronoi图,则只需从单元格外边缘处取一个靠近此站点的点。