假设我有一个5x5的网格,网格中的每个单元格从0到24,从左到右 . 给定一个像17这样的单元格数,如何确定单元格的x和y坐标?我已经能够这样做,反之亦然,如果给定坐标我可以计算单元格数:
Cellnumber = x + y∗width(x和y坐标代表每个单元格的左上角)
Cellnumber = x + y∗width
但现在我想要相反 . 有任何想法吗?
假设基于0的坐标和类似C的语法,它将是这样的:
int y = Cellnumber / width; int x = Cellnumber % width;
使用 % 是模数运算符的表示法:
%
x = Cellnumber % width y = Floor(Cellnumber / width)
所以在你的5 x 5例子中, Cellnumber = 17
Cellnumber
x = 2 y = 3
我认为:
Y = (cellnum / 5) + 1 X = (cellnum % 5) + 1
3 回答
假设基于0的坐标和类似C的语法,它将是这样的:
使用
%
是模数运算符的表示法:所以在你的5 x 5例子中,
Cellnumber
= 17我认为: