繁体   English   中英

如何直接找到一个点旁边的所有点?

[英]How to find all points directly next to a point?

我有一组坐标。 我正在寻找一种方法来获取给定坐标的所有周围邻居。 我正在寻找它旁边的所有点,这样您就不需要“穿越”另一个点来到达那里。

我最初只用 K-nearest neighbors 尝试了这个,但它给出了每一个最近的点,即使它不是直接在你旁边

一个例子:

如果我有这样的坐标网格:

A
                      E
             C   D
      B
      F

我想要一个结果,如果你是 A,你会返回 B。我不能 go 到 C 或 F,因为 B 在路上

在 B 你返回 A、C 和 F

在 C 您返回 B 和 D

在 D 你返回 C 和 E

在 E 你返回 D

有这样的算法名称吗? 还是我可以使用的某种方法?

首先获取最大坐标 position,假设它是 0 索引,例如 (3,4),然后创建一个大小为 max+1 的二维矩阵(网格),在我们的示例中为 (4,5),并填写您的坐标。

要获取特定坐标的邻居,请在所有 4 个方向上移动并获取您在每个方向上找到的第一个邻居。

注意:不要忘记使用默认值初始化您的二维矩阵,它将帮助您找到邻居。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM