2014-01-30 187 views
2

我有一個無盡的網格,需要一個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)。

我知道這是基礎數學,但我在這裏找不到一個聰明的解決方案。

回答

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