我有一个无尽的网格,需要一个javascript函数来获取开始和终点区域内的坐标。网格看起来像这样。
_______________________
| | | |
| -1,-1 | 0,-1 | 1,-1 |
|_______|_______|_______|
| | | |
| -1,0 | 0,0 | 1,0 |
|_______|_______|_______|
| | | |
| -1,1 | 0,1 | 1,1 |
|_______|_______|_______|
所以我想说我想要从(-1,-1)到(0,0)的所有坐标。在这种情况下,我会得到4个值(-1,-1),(0,-1),( - 1,0),(0,0)。
我知道这是基础数学,但我在这里找不到一个聪明的解决方案。
答案 0 :(得分:2)
您可以尝试这样的事情:
function GetCoordinatesBetween(xStart, xEnd, yStart, yEnd) {
var curX = xStart;
var curY = yStart;
var res = []; // Array for result coordinates
while (curX <= xEnd) {
while (curY <= yEnd) {
res.push({ x: curX, y: curY });
curY++;
}
curX++;
curY = yStart;
}
return res;
}
此函数以下列格式将坐标作为数组返回:
[
0: { x: -1, y: -1},
1: { x: -1, y: 0},
...
]