9

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

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

4

1 回答 1

10

要计算索引,您应该使用以下内容:

index = X + Y * Width;

因此,为了扭转这一点,您可以利用整数除法截断来获得 Y,然后 X 就是 Y“用完”之后剩下的东西:

Y = (int)(index / Width)
X = index - (Y * Width)
于 2011-05-13T12:35:03.347 回答