【问题标题】:Study of a vector field向量场的研究
【发布时间】:2018-04-23 18:11:42
【问题描述】:

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

如果能以任何方式获得 3D 图形,我可以在其中插入显示其中包含的矢量的剖切面,或者可以看到有助于我理解其行为的颜色图的平面,这将是很棒的.有什么帮助吗?

这是输入: https://pastebin.com/raw/pmGguxUc

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

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()

【问题讨论】:

    标签: python 3d vector-graphics graphic mayavi


    【解决方案1】:

    使用 mayavi 的管道更容易组织所有内容。它们与使用 mlab 绘图功能基本相同,但以管道方式组织您的可视化任务。

    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')
    

    您还可以为向量的大小绘制等值面轮廓

    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 可能满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2014-04-27
      • 2019-08-02
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多