在mayavi的情节梯度矢量场

时间:2014-03-17 13:15:23

标签: mayavi

我使用二维数组绘制三维表面,我想绘制渐变矢量场。我已经按gx,gy = numpy.gradient(Z)计算了渐变,并知道应该使用绘制箭头quivers3d(x,y,z,u,v,w),但我不明白我应该将u,v,w作为什么。 你能帮帮我,怎么办?

1 个答案:

答案 0 :(得分:0)

来自文档http://docs.enthought.com/mayavi/mayavi/auto/mlab_helper_functions.html#quiver3d

u,v,w是numpy数组,给出了向量的组成部分。

如果只传递3个数组u,v和w,则它们必须是3D数组,并且箭头的位置假定为(u,v,w)数组中相应点的索引。

如果传递了6个数组(x,y,z,u,v,w),则3个第一个数组给出箭头的位置,3个数组最后给出组件。它们可以是任何形状。

所以u,v,w是渐变,x,y,z是这些渐变描述的矢量的3D xyz坐标。所以如果你对可视化中的那些东西不感兴趣(听起来你不是吗?),你可以打电话给mlab.quiver3d(0,0,0,gx,gy,0)

但你还没有解释这是否是你想要的。如果这个答案不适合您的使用案例,请澄清您的问题,如果可以,我会尝试更新它。