我目前正在研究将2d地形图保存为一维数组的项目。地图中的每个块都由xy坐标索引。因此,为了将地图保存为一维数组,我使用行主要顺序方法(http://en.wikipedia.org/wiki/Row-major_order)将xy坐标转换为单个索引值(这让我将块放入数组中)。
现在,我的问题是如何将其转换回来?我有一个唯一的号码,我必须转换回xy坐标。 任何帮助,将不胜感激。 ^^
答案 0 :(得分:9)
要计算指数,您应该使用以下内容:
index = X + Y * Width;
所以,要反过来你可以利用整数除法截断来得到Y,然后X就是Y“用完”之后遗留下来的东西:
Y = (int)(index / Width)
X = index - (Y * Width)