Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 计算两组点之间最小距离的最快算法是什么?_Algorithm_Geometry_Distance_Computational Geometry - Fatal编程技术网

Algorithm 计算两组点之间最小距离的最快算法是什么?

Algorithm 计算两组点之间最小距离的最快算法是什么?,algorithm,geometry,distance,computational-geometry,Algorithm,Geometry,Distance,Computational Geometry,我想找到两个顶点数为百万的多边形之间的最小距离(不是它们顶点之间的最小距离)。我必须找到第一个形状的每个顶点与另一个形状的所有顶点之间的最小最短距离。类似于,但我需要最小值而不是最大值。也许您应该查看(PDF警告!还要注意,由于某些原因,页面顺序颠倒了)“,由Toussant和Bhattacharya编写: 本文表明,该方法是可行的 两个有限元之间的最小距离 如果[sic]n个点可以 在O(n logn)最坏情况下计算 运行时间,这是最佳的 在一个常数范围内。 此外,当集合形成 凸多边形这种复杂

我想找到两个顶点数为百万的多边形之间的最小距离(不是它们顶点之间的最小距离)。我必须找到第一个形状的每个顶点与另一个形状的所有顶点之间的最小最短距离。类似于,但我需要最小值而不是最大值。

也许您应该查看(PDF警告!还要注意,由于某些原因,页面顺序颠倒了)“,由Toussant和Bhattacharya编写:

本文表明,该方法是可行的 两个有限元之间的最小距离 如果[sic]n个点可以 在O(n logn)最坏情况下计算 运行时间,这是最佳的 在一个常数范围内。 此外,当集合形成 凸多边形这种复杂性可以 还原为O(n)

如果两个多边形相交于凸多边形,也许您也应该查看(PDF警告!页面顺序也颠倒了)“,由Toussaint提供:

设p={p1, p2,…,pm}和Q={q1,q2,。。。, qn}是指定顶点的两个相交多边形 通过它们的笛卡尔坐标 秩序。最优O(m+n) 提出了一种用于计算的算法 最小欧氏距离 P和a中的顶点pi Q中的顶点qj


你能更新一下你的问题吗?提到多边形可能有数百万个点,它们是否凸/凹,它们是否可以重叠。是的,多边形有数百万个点,它们是非凸的。实际上,更倾向于使用适用于两组点的算法。两个多边形之间的最小距离并不总是每个多边形中垂直面之间的最小距离。你到底想要什么?你是对的。有时,最小距离是顶点和线段之间的距离。但它不能在两段之间。顺便说一下,最简单的算法是用另一个多边形检查每个顶点,然后对两个多边形都进行检查。