首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >向量场的研究

向量场的研究
EN

Stack Overflow用户
提问于 2018-04-24 02:11:42
回答 1查看 223关注 0票数 0

我有一个有6列的输入数据,其中前三列是位置x,y,z,其余的是向量场的向量分量。我只能用python中的mayavi库的quiver3d (x,y,z,px,py,pz)制作一个3d图形,创建6个numpy数组x,y,z,px,py,pz,只是为了可视化它。

通过任何方式获得3D图形都很棒,我可以在其中插入剖切平面,其中包含的矢量将显示在其中,或者可以看到颜色映射的平面,这将有助于我了解其行为。有什么帮助吗?

下面是输入:https://pastebin.com/raw/pmGguxUc

这是我用quiver3d函数获得可视化效果的代码。将numpy导入为np将mayavi.mlab导入为mlab

代码语言:javascript
复制
data = np.loadtxt("vectorfield.dat", dtype = float)
dataTranspuesta=data.T
x=dataTranspuesta[0]
y=dataTranspuesta[1]
z=dataTranspuesta[2]
px=dataTranspuesta[3]
py=dataTranspuesta[4]
pz=dataTranspuesta[5]

mlab.quiver3d(x, y, z, px, py, pz, line_width=0.7 ,scale_mode="vector" ,scale_factor=0.0045,mask_points=7 ,mode="arrow", colormap="seismic" )
mlab.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-03 04:58:01

使用mayavi的流水线可以更容易地组织一切。它们基本上与使用mlab绘图函数相同,但以流水线方式组织可视化任务。

代码语言:javascript
复制
Pfld = mlab.pipeline.vector_field(x, y, z, px, py, pz)
Quiver = mlab.pipeline.vectors(Pfld)
Pcut = mlab.pipeline.vector_cut_plane(Quiver, plane_orientation='x_axes')

你也可以为矢量的大小绘制等值面轮廓。

代码语言:javascript
复制
Pmag = mlab.pipeline.extract_vector_norm(Pfld)
Piso = mlab.pipeline.iso_surface(Pmag)

并且可以通过mlab.pipeline.scalar_cut_plane(Pmag)mlab.pipeline.image_plane_widget(Pmag)实现标量场的平面切割

有关允许的参数、修饰等的详细信息,请参阅documentations

此外,examples 1exmaples 2可能会满足您的需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49987453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档