从相反的矢量坐标创建3D网格

时间:2013-10-25 14:02:40

标签: python numpy grid

我正在寻找一种基于立方体的两个相对端点(a=(x1,y1,z1) and b=(x2,y2,z2))创建3D网格的方法。每个维度的步长为1。 刚刚找到一些以(0,0,0)开头的numpy fcts,虽然起点是变量和负数(例如(-5,-10,-15))。

2 个答案:

答案 0 :(得分:1)

如果您想要密集网格,请使用np.ogrid(或np.mgrid

>>> x1, y1, z1 = -4, -3, -2
>>> x2, y2, z2 = 4, 3, 2
>>> np.ogrid[x1:x2, y1:y2, z1:z2]
 [array([[[-4]],

       [[-3]],

       [[-2]],

       [[-1]],

       [[ 0]],

       [[ 1]],

       [[ 2]],

       [[ 3]]]),
 array([[[-3],
        [-2],
        [-1],
        [ 0],
        [ 1],
        [ 2]]]),
 array([[[-2, -1,  0,  1]]])]

答案 1 :(得分:0)

列出理解FTW!

xRng = range(a[0],b[0]+1)
yRng = range(a[1],b[1]+1)
zRng = range(a[2],b[2]+1)
g = [(a,b,c) for a in xRng for b in yRng for c in zRng]