想象一下二维平面上的一组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索引加速这些类型的问题。

10-04 10:24