首页 文章

将网格中顺序分配的数字转换为x-y坐标

提问于
浏览
2

假设我有一个5x5的网格,网格中的每个单元格从0到24,从左到右 . 给定一个像17这样的单元格数,如何确定单元格的x和y坐标?我已经能够这样做,反之亦然,如果给定坐标我可以计算单元格数:

Cellnumber = x + y∗width
(x和y坐标代表每个单元格的左上角)

但现在我想要相反 . 有任何想法吗?

3 回答

  • 6

    假设基于0的坐标和类似C的语法,它将是这样的:

    int y = Cellnumber / width;
    int x = Cellnumber % width;
    
  • 1

    使用 % 是模数运算符的表示法:

    x = Cellnumber % width  
    y = Floor(Cellnumber / width)
    

    所以在你的5 x 5例子中, Cellnumber = 17

    x = 2
       y = 3
    
  • 10

    我认为:

    Y = (cellnum / 5) + 1   
    X = (cellnum % 5) + 1
    

相关问题