如何在网格大小(w,h)中获取点(x,y)的地址

时间:2009-09-06 01:43:46

标签: arrays grid geometry coordinates

concrete example http://img246.imageshack.us/img246/602/6x7gridsm.png

按地址我是指从左到右,从上到下计数的位置,从0开始

我知道如何在网格大小(w,h)中获得给定点(x,y)的地址

  address = (y * w) + x

也就是说,在网格7 x 6单位中,点(2,5)给出地址37(见上图

如何获得点(x,y),给定地址37和网格(7,6)

3 个答案:

答案 0 :(得分:4)

根据您的描述,您似乎正在进行列首次寻址。在这种情况下,您可以通过计算(地址%w)找到x。一旦你有x,你就可以通过计算(address-x)/ w。

得到y

答案 1 :(得分:2)

x=Address MOD w
y=Address INT_DIV w

答案 2 :(得分:1)

x = address mod w<br>
y = address div w