【发布时间】:2017-08-24 12:19:33
【问题描述】:
【问题讨论】:
-
这看起来像是 quadtrees 可能有用的东西 - 但在我看来,没有什么比这更有用了。
-
不知道答案,但我猜一些基于四叉树的算法一定是可能的,你只计算附近元素之间的点线距离。
-
基于边界框的方法可能会有所帮助。计算部分折线的边界框(例如,A 中的点 1...4、4...7 和 B 中的 8...10、10...12)。对于每对框,您可以计算最小和最大距离并丢弃无法与最佳对竞争的对,递归地细化框,直到它们都是 2 点(1 线)框,您可以在其中精确计算。似乎是 O(N logN)。
-
在您的示例中,最近的点位于折线的顶点,这只是一种特殊情况 - 如果 2 条线段相交但该交点处没有顶点,则距离是否为零?
-
是——如果两个线段相交,它们的距离为零。
标签: algorithm performance computational-geometry