我有一个三维速度向量场,在一个numpy数组中(zlength,ylength,xlength,3)。“3”包含速度分量(u,v,w)。在
我可以很容易地在正交的x-y,x-z,y-z平面上绘制向量场
X, Y = np.meshgrid(xvalues, yvalues)
xyfieldfig = plt.figure()
xyfieldax = xyfieldfig.add_subplot(111)
Q1 = xyfieldax.quiver(X, Y, velocity_field[zslice,:,:,0], velocity_field[zslice,:,:,1])
但是,我希望能够观察任意平面内的速度场。在
我试图将速度场投影到一个平面上,方法是:
^{pr2}$然而,这(当然)仍然留给我一个具有相同形状的3d numpy数组:(zlength,ylength,xlength,3)。投影的_场现在包含每个(x,y,z)位置的速度矢量,这些矢量位于每个局部(x,y,z)位置的平面内。在
如何将速度场投影到一个平面上?或者,我现在如何沿着一个平面绘制投影的_场?在
提前谢谢!在
你很接近。丹尼尔F的建议是对的,你只需要知道如何做插值。这是一个有效的例子
如果您想增加一些
tensordot
操作,可以减少行数。另外,这个或一些相近的变体在meshgrid
中没有indexing='ij'
也可以工作。在原始字段:
^{pr2}$投影场:
相关问题 更多 >
编程相关推荐