鉴于
$c = 2; // number of columns
$r = 3; // number of rows
我需要找到特定单元格(从左到右,从上到下)的索引$i所对应的
x,y
网格坐标。通常情况下,可以通过两个循环来解决;一个用于行,另一个用于列,但在我的情况下,我需要使用数学方法来解决。
因此,在上述情况下,我会有类似以下的内容:
$grid = new Grid(2, 3);
// i x y
list($x, $y) = $grid->getCoordOfCell(0); // 0 0 0
list($x, $y) = $grid->getCoordOfCell(1); // 1 1 0
list($x, $y) = $grid->getCoordOfCell(2); // 2 0 1
list($x, $y) = $grid->getCoordOfCell(3); // 3 1 1
list($x, $y) = $grid->getCoordOfCell(4); // 4 0 2
list($x, $y) = $grid->getCoordOfCell(5); // 5 1 2
假设
getCoordOfCell()
会返回一个包含格子$i
的x,y
坐标的数组。
我不知道是否有遗漏,但我认为这就是全部内容了。
我猜得到的数学公式应该基于div
或mod
,但我自己没有精力去思考。此外,我相信这个问题对未来的其他人也会有用。哦,虽然我在谈论PHP,但这可能与语言无关...