我有一个 MxNx2 二维点数组,其中每个点代表网格的测量属性的中心。图形表示如下,白点是位置:
点结构是这样的(形状:MxNx2):
[[[xij, yij], [xij, yij], ...]],
[[xij, yij], [xij, yij], ...]],
[[xij, yij], [xij, yij], ...]],
[ ..., ...., ............... ],
[[xij, yij], [xij, yij], ...]]]
所需的输出将是这样的:
[[[x1, x2], [y1, y2]],
[[x1, x2], [y1, y2]],
....................,
[[x1, x2], [y1, y2]]
这样我就可以像这样一个一个地绘制每个段(使用每对 x,y 位置):
我尝试过类似的东西:
segments = []
for row in xrange(a.shape[0] - 1):
for col in xrange(a.shape[1] - 1):
here = a[row, col]
below = a[row+1, col]
right = a[row, col+1]
segments.extend(((here, right), (here, below)))
但这会使右侧和底部边缘未被覆盖。另外,我怀疑这是一种有点“愚蠢”、非矢量化、蛮力的做法,这似乎是一个很常见的问题,可能有一个网格创建功能。
欢迎任何建议!