行主要订单指数

时间:2011-05-13 12:29:09

标签: map indexing block coordinate

我目前正在研究将2d地形图保存为一维数组的项目。地图中的每个块都由xy坐标索引。因此,为了将地图保存为一维数组,我使用行主要顺序方法(http://en.wikipedia.org/wiki/Row-major_order)将xy坐标转换为单个索引值(这让我将块放入数组中)。

现在,我的问题是如何将其转换回来?我有一个唯一的号码,我必须转换回xy坐标。 任何帮助,将不胜感激。 ^^

1 个答案:

答案 0 :(得分:9)

要计算指数,您应该使用以下内容:

index = X + Y * Width;

所以,要反过来你可以利用整数除法截断来得到Y,然后X就是Y“用完”之后遗留下来的东西:

Y = (int)(index / Width)
X = index - (Y * Width)