【发布时间】:2015-05-21 08:41:38
【问题描述】:
我需要计算网格上 2 点之间的距离。 允许的移动是水平和垂直以及与下一个邻居成对角线(因此旋转 45 度)。
因此,曼哈顿距离不是一种选择。此外,欧几里得距离不是一个选项,因为它不会沿着网格正确移动,这可能导致值过低(如红线所示)。
我正在寻找从一个单元格移动到另一个单元格的绿线中的距离。
最好公式快。
【问题讨论】:
-
在这个例子中,您是在寻找绿线的长度还是绿线通过的单元格数?
-
@binoternary,它通过的单元格数始终为
max(dx, dy)。 -
@aioobe,没错,我只是想知道在这种情况下这是否是一个合适的“距离”
标签: java math language-agnostic distance