移动受限时,找到网格中2个点之间的距离

时间:2012-05-19 19:50:54

标签: algorithm grid points

网格中有各种各样的点。

可以在一个单位时间内从(x-1,y + 1)到达Say(x,y)。那么找到点(x1,y1)到(x2,y2)之间距离的通用公式是什么。

表示(0,0)到(-2,-1),即坐标也可以是负数。

我想不出通用公式。

2 个答案:

答案 0 :(得分:3)

如果我正确理解这个问题,并且对角线移动与“曼哈顿”移动的成本相同,在大多数情况下它比曼哈顿距离便宜 - 只有x和y距离的最大值是相关的:

max(abs(x1 - x2),abs(y1 - y2))

基本上你以每单位成本1对角移动,直到你达到x2或y2,然后沿着网格。

答案 1 :(得分:-1)

if(x,y)是否可以从(x-1,y + 1)到达。 然后从(x1,y1)到达的所有点都是(x1 + k,y1-k),其中k大于0.