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