从参考点为网格中的图块创建唯一 ID

Creating unique ID for tiles in grid from a reference point

我需要为已知以下信息的网格中的图块创建一个整数(无符号)ID:

  1. 方块从(0, 0)
  2. 向上向右生长
  3. 总体范围已知
  4. 第一个图块以 (0, 0)
  5. 为中心

我的第一个想法是确定图块所在的行、列并将这两个数字组合起来;那是不成功的。之后,我想我可以使用每个图块的中心点并计算一个唯一的数字,代表它在 X 范围内的距离和 Y 范围内的距离 (0, 0).

如果您知道网格的宽度 - 它是 Wdt 格宽,那么

N = Col + Wdt * Row   

要从数字中检索图块坐标:

Col = N % Wdt      //integer modulo
Row = N // Wdt      //integer division