次のスキーマ(x、y)で座標の配列を取得しました:
array = [[1,2],[1,5],[1,1],[2,2],[2,5],[2,1]]
効果を得るためにいくつかのプロセスを実行したいと思います:
array1 = [[[1,2],[1,5],[1,1]],[[2,2],[2,5],[2,1]]]; array2 = [[[2,2],[2,5],[2,1]]]
と
array1a = [[[1,2],[2,2]]]; array2a = [[[1,5],[2,5]]]; array3a=[[[1,1],[2,1]]]
つまり、すべての平行線と垂直線の座標を取得したいと考えています。私は 2 つの二重ループ (1 つは x によるもの、もう 1 つは y によるもの) を考え出しましたが、別のより高速な (より良い) 方法があるかもしれません。
-- 疑似コード:
for (var i = 0; i < length; i++) { for (var j = 0; j < length2; j++) { var x = points[i][j][0]; var y = points[i][j][1]; }; }; for (var i = 0; i < length2; i++) { for (var j = 0; j < length; j++) { var x = points[i][j][0] ; var y = points[i][j][1] ; }; };
編集
OK、状況は次のとおりです。
この種の長方形があり、点の座標(赤いマーク)を配列として持っています:
array = [[1,2],[1,5],[1,1],[2,2],[2,5],[2,1]]
そして、次のような別の配列を作成したいと思います:
array1 = [[[1,2],[1,5],[1,1]],[[2,2],[2,5],[2,1]]]
上記の配列には、緑色の線の 1 つである点の座標が含まれています。これらの線は、長方形の辺に平行または垂直な線です。