假设我有一个5x5的网格,网格中的每个单元格从0到24,从左到右。给定一个像17这样的单元格数,如何确定单元格的x和y坐标?我已经能够这样做,反之亦然,如果给定坐标我可以计算单元格数:
Cellnumber = x + y∗width
(x和y坐标代表每个单元格的左上角)
但现在我想要反其道而行之。有什么想法吗?
答案 0 :(得分:10)
假设基于0的坐标和类似C的语法,它将是这样的:
int y = Cellnumber / width;
int x = Cellnumber % width;
答案 1 :(得分:6)
表示%
是模数运算符:
x = Cellnumber % width
y = Floor(Cellnumber / width)
因此,在您的5 x 5示例中,Cellnumber
= 17
x = 2
y = 3
答案 2 :(得分:1)
我想:
Y = (cellnum / 5) + 1
X = (cellnum % 5) + 1