2017-07-12 14 views
0

2つの位置(緯度、経度):AとBを境界ボックスとして指定します。 A:(41,7) B:(43,8)バウンディングボックスを40x40のグリッドに離散化する

バウンディングボックスを離散化するために40×40グリッドを作成する必要があります。

41,8. . . . 43,8 
.   . 
.   . 
.   . 
.   . 
41,7. . . . 43,7 

私が得るポイントの1つは(41.005、7.001)です。

Javaでこのグリッドを作成して、この境界ボックスから1600ポイントを取得するにはどうすればよいですか?

答えて

0
//Make sure a.x<b.x & a.y <b.y 
    Point a = new Point(41,7); 
    Point b = new Point(43,8); 
    final int gridsize = 40;   

    ArrayList<Point> grid = new ArrayList<Point>(gridsize*gridsize); 
    for (double i = a.getX(); i <= b.getX(); i += b.getX() - a.getX()/(double)(gridsize-1)) 
     for (double j = a.getY(); j <= b.getY(); j += b.getY()- a.getY()/(double)(gridsize-1)) 
      grid.add(new Point(i, j)); 

私はあなたの質問を理解して完全にわからないんだけど、このコードは、希望perimetterに40 * 40のグリッドに1600のグリッドを含む配列リスト(グリッド寸法^ 2)のポイントを作成します。

ここで使用されるPointオブジェクトは、xとyと呼ばれる複素数であり、このオブジェクトを作成する必要があります。