Map 行主要顺序索引

Map 行主要顺序索引,map,indexing,block,coordinate,Map,Indexing,Block,Coordinate,我目前正在做一个项目,将二维地形图保存到一维数组中。地图中的每个块都由xy坐标索引。因此,为了将贴图保存到一维数组中,我使用row-major-order方法()将xy坐标转换为单个索引值(这使我可以将块放入数组中) 现在,我的问题是如何将其转换回?我有一个唯一的数字,我必须转换回xy坐标。 任何帮助都将不胜感激^^ 要计算指数,您应该使用以下方法: index = X + Y * Width; 所以,为了扭转这种情况,你可以利用整除截断得到Y,然后X就是Y“用完”后剩下的东西: 这似乎不起作

我目前正在做一个项目,将二维地形图保存到一维数组中。地图中的每个块都由xy坐标索引。因此,为了将贴图保存到一维数组中,我使用row-major-order方法()将xy坐标转换为单个索引值(这使我可以将块放入数组中)

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

要计算指数,您应该使用以下方法:

index = X + Y * Width;
所以,为了扭转这种情况,你可以利用整除截断得到Y,然后X就是Y“用完”后剩下的东西:


这似乎不起作用。例如(0,4)给出20,当反过来时,20给出(16,4)他有正确的想法,我认为他只是打了个错字。X=索引-(y*宽度);所以,X是在你去掉Y所用的行之后剩下的。哎呀,这就是你刚起床回答问题的结果!谢谢你纠正我。
Y = (int)(index / Width)
X = index - (Y * Width)