Python 向量场的研究

Python 向量场的研究,python,3d,vector-graphics,graphic,mayavi,Python,3d,Vector Graphics,Graphic,Mayavi,我有一个6列的输入数据,其中前三列是位置x,y,z,其余是向量场的向量分量。我只能用python(x,y,z,px,py,pz)中的mayavi库的quiver3d创建一个三维图形,创建6个numpy数组x,y,z,px,py,pz来可视化它 通过任何方式获得一个3D图形都是很好的,我可以在其中插入剖切面来显示包含在其中的向量,或者在其中可以看到彩色地图的平面来帮助我理解它的行为。有什么帮助吗 以下是输入: 下面是我使用quiver3d函数实现可视化的代码。 将numpy作为np导入 将may

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

通过任何方式获得一个3D图形都是很好的,我可以在其中插入剖切面来显示包含在其中的向量,或者在其中可以看到彩色地图的平面来帮助我理解它的行为。有什么帮助吗

以下是输入:

下面是我使用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()

使用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\u cut\u plane(Pmag)
mlab.pipeline.image\u plane\u widget(Pmag)

有关允许的参数、装饰等的更多详细信息,请参阅

也和 可能适合你的需要