5

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

这是一个例子:

例子

我正在寻找一种算法,可以给我绿色距离和两点。

4

1 回答 1

2

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

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

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

最后取最小的一个。

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

问候

于 2013-09-26T09:35:38.590 回答