如何在网格坐标中找到最近的对象
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
字段)
【讨论】:
以上是关于如何在网格坐标中找到最近的对象的主要内容,如果未能解决你的问题,请参考以下文章