我在以下模式(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]]]
换句话说,我想获得所有平行线和垂直线的坐标。我想出了两个双循环(一个由 x,另一个由 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] ; }; };
编辑
好的,情况如下:
我有这种矩形,我有点坐标(红色标记)作为数组:
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]]]
在上面的数组中,有一些点的坐标,即绿线包含的点之一。这些线是与矩形边平行或垂直的线。