标签: algorithm geometry polygon
我有两个多边形,我想获得最小距离,并测量该距离之间的点。当然,这一点很可能位于两个节点之间的边缘。
以下是一个例子:
我正在寻找能够给出绿色距离和两点的算法。
答案 0 :(得分:2)
如果多边形不相交,您可以这样做:
如果你有多边形A和多边形B,A [i]和B [j]分别是A和B的顶点。然后你可以计算从A [i]到B的每个段的最近距离(你可以使用类似this的东西,但考虑到你正在使用段,所以你必须使用起始和段的结束点)。
然后你必须做同样的事情,但是从所有B [j]到A的所有部分。
最后拿最小的一个。
请记住我以前的评论:在计算到此段所在线的最短距离时考虑段的起点和终点,因为交点可能在段之外。看here来检查最后一件事。如果该点为out,则保持该段的最近边缘
此致