两个多边形的最近点

时间:2013-09-24 05:44:41

标签: algorithm geometry polygon

我有两个多边形,我想获得最小距离,并测量该距离之间的点。当然,这一点很可能位于两个节点之间的边缘。

以下是一个例子:

Example

我正在寻找能够给出绿色距离和两点的算法。

1 个答案:

答案 0 :(得分:2)

如果多边形不相交,您可以这样做:

如果你有多边形A和多边形B,A [i]和B [j]分别是A和B的顶点。然后你可以计算从A [i]到B的每个段的最近距离(你可以使用类似this的东西,但考虑到你正在使用段,所以你必须使用起始和段的结束点)。

然后你必须做同样的事情,但是从所有B [j]到A的所有部分。

最后拿最小的一个。

请记住我以前的评论:在计算到此段所在线的最短距离时考虑段的起点和终点,因为交点可能在段之外。看here来检查最后一件事。如果该点为out,则保持该段的最近边缘

此致