行主要订单指数

Biz*_*ake 9 indexing block map coordinate

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

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

Mar*_*tin 10

要计算指数,你应该使用这样的东西:

index = X + Y * Width;
Run Code Online (Sandbox Code Playgroud)

所以,为了反转这个,你可以利用整数除法截断来得到Y,然后X就是Y"用完"之后剩下的东西:

Y = (int)(index / Width)
X = index - (Y * Width)
Run Code Online (Sandbox Code Playgroud)