获取网格的坐标

时间:2014-01-30 14:55:30

标签: javascript math

我有一个无尽的网格,需要一个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)。

我知道这是基础数学,但我在这里找不到一个聪明的解决方案。

1 个答案:

答案 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},
    ...
]