想象一下二维平面上的一组m
点,称为“候选点”。然后是两种情况之一:
还有一组n
点(“对象”)——见图1
还有一组与x或y轴(“对象”)共线的cc行-参见图2。
我想知道哪一个候选对象对的笛卡尔距离最短。
拜托,有人知道这个问题在计算几何中有没有名字吗?有比o(m*n)快的算法吗?如果对象保持不变,并且只有候选者会改变,那么通过一些巧妙的预计算,有可能比o(m*n)更快吗?
图1
c o
c
o c o
o c
c
c o
c o
c
o c
c
图2
| c |
-------------+----------------------------------+------
| |
| c | c
c |
| |
-------------+----------------------------------+------
| c c |
-------------+----------------------------------+------
| c |
最佳答案
这基本上是对所有候选人的近邻搜索。您可以使用kd tree索引加速这些类型的问题。