3
$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()
將返回x,y
數組座標網格單元$i
。
不知道我是否錯過了這裏的東西,但我認爲這是非常多的。
我想結果的數學公式將基於div
s或mod
s,但我只是沒有精神力量來思考這個超過我自己。另外,我相信作爲一個問題,這對未來的其他人應該是有用的。呵呵,雖然我在這裏說PHP,這可能是語言無關...