如何在网格坐标中找到最近的对象

Posted

技术标签:

【中文标题】如何在网格坐标中找到最近的对象【英文标题】:How can I find a nearest object in grid coordinate 【发布时间】:2019-02-20 15:41:40 【问题描述】:

我有对象的坐标和主要对象的坐标。问题如下。如何找到离主对象最近的对象,以便以列表的形式构建离主对象最近的对象。

例如:有一个坐标系x,y。主要对象位于:x = 20, y = 40

还有6个有地址的对象:

    x = 22, y = 30 x = 26, y = 21 x = 29, y = 39 x = 42, y = 33 x = 48, y = 32 x = 23, y = 31

基于主对象的坐标 - x = 20, y = 40。我们需要从上面描述的六个对象中找到最近的坐标。

谢谢。如果可能的话,在 Java 编程视图中,php,swift。

【问题讨论】:

对于少量对象,只需按(平方)距离对它们进行排序。对于较大的集合使用 kd-tree @MBo 能详细解释一下吗?谢谢。 【参考方案1】:

计算到所有对象的平方距离

SqDist[i] = (X[i] - Xobj)^2 + (Y[i] - Yobj)^2

SqDist键升序排序对象列表(在Java中使Comparator比较SqDist字段)

【讨论】:

以上是关于如何在网格坐标中找到最近的对象的主要内容,如果未能解决你的问题,请参考以下文章

为啥网格在编辑模式下没有跟随骨架,如何获得骨架变形的网格上的点坐标?

如何在矩阵(坐标系)中找到对象表示的边界

如何从当前位置找到最近的经纬度?

如何在 kivy 中设置网格布局的位置(x,y 坐标)?

cad如何建立坐标系,cad怎么建立坐标系?

如何在 Qt 的 qgrid 布局中获取小部件的坐标