对于正方形网格,图块A和B之间的欧氏距离为:
distance = sqrt(sqr(x1-x2)) + sqr(y1-y2))
Run Code Online (Sandbox Code Playgroud)
对于被限制沿着正方形网格移动的演员,曼哈顿距离是我们必须行进的实际距离的更好度量:
manhattanDistance = abs(x1-x2) + abs(y1-y2))
Run Code Online (Sandbox Code Playgroud)
如何在六边形网格中获得两个瓷砖之间的曼哈顿距离,如下面的红色和蓝色线所示?

帮助找到在六边形场上通过螺旋创建单元格的算法.
看图像:
alt text http://img685.imageshack.us/img685/927/fieldr.png
让我们想象一个无量纲的二维数组.X轴是蓝线,Y是水平,螺旋是红色.
我需要通过螺旋将中心点x0y0的单元格添加到N点
请告诉我解决问题的方法.谢谢!