Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
网格中有多个点。
假设 (x,y) 可以在一个单位时间内从 (x-1,y+1) 到达。那么找到点(x1,y1)到(x2,y2)之间距离的一般公式是什么。
比如说(0,0)到(-2,-1),即坐标也可以是负数。
我想不出通用公式。
如果我正确理解了这个问题,并且对角线运动与“曼哈顿”运动的成本相同,那么在大多数情况下它比曼哈顿距离便宜——只有 x 和 y 距离的最大值是相关的:
最大值(绝对值(x1 - x2),绝对值(y1 - y2))
基本上,您以每单位 1 的成本沿对角线移动,直到达到 x2 或 y2,然后沿着网格移动。
如果 (x,y) 可以从 (x-1, y+1) 到达。那么从 (x1,y1) 可到达的所有点都是 (x1+k, y1-k),其中 k 大于 0。