[英]Python: Calculate the Gradient of a 3D grid
我有一个粒子立方体,我投射到2D网格上,通过细胞中的云将粒子投射到网格上,并用标量加权。
然后我会喜欢每个网格点处的标量梯度。 在2D中,我使用np.gradient
进行此操作,我得到两个在x和y方向上具有渐变的数组:
gradx, grady = np.gradient(grid)
有谁知道如何将其概括为3维度? 3D中的细胞中的云很好,但我留下了一个形状为(700,700,700)的网格。
据我np.gradient
无法处理这个问题?
谢谢,丹尼尔
Numpy文档表明gradient
适用于任何维度:
numpy.gradient(f, *varargs)
返回N维数组的渐变。
使用内部的中心差异和边界处的第一个差异来计算梯度。 因此,返回的渐变具有与输入数组相同的形状。
参数:
f: array_like.
包含标量函数样本的N维数组。
*varargs:
0,1或N个标量指定每个方向的采样距离,即:dx,dy,dz,...默认距离为1。退货:
g: ndarray.
与f相同形状的N个阵列给出关于每个维度的f的导数。
好像你应该能够像你期望的那样将二维码扩展到3D。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.