三流Mayavi操作-Mayav-2.0

时间:2024-03-28 19:46:05

秉着边学边写边折腾的原则,开始粗糙的工作。真正掌握还是得讲解给别人听。
先给出网课
https://www.icourse163.org/course/BIT-1001871001
Mayavi官方
http://docs.enthought.com/mayavi/mayavi/index.html
(有时候这网站会装死,一般过几个小时就会活过来)
.

我打算分成几部分来写第2节,2.0是第一篇,先简单说一下
1.简述
2.基本图形的绘制
3.管线及脚本录制

我先把笔记整理一遍:这里对应网课的章节
2.4.1
虽然VTK强大,快速编写实用的三维可视化十(我想加一个万)分麻烦,于是有了后继的VTKdesigner,Mayavi(这个读没AV,不是马鸭维,我读错了几个月,至今改不过来)
Mayavi完全由py编写,所以十分方便用py编写扩展。
2.4.2
两个基本元素:
.mlab和.api

.mlab 处理图形可视化

绘图函数——对已有的数据进行可视化显示,可以是numpy构造,也可以是外部读取,(外部读取详见4.7.1)

barchar,contour3d,contour_surf,flow,imshow,mesh,
plot3d,points3d,quiver3d,surf,triangular_mesh

图形控制函数——本质是控制figure,gcf获得指针,clf清空当前图形,close关闭图形

clf,close,draw,figure,gcf,savefig,screenshot,sync_camera

图形修饰——选择配色方案,添加图标、标题栏等等。

colorbar,scalarbar,xlable,ylable,zlable,

相机控制——移动相机,例子见4.7.2

move,pitch,roll,view,yaw

其他函数

animate,axes,get_engine,show,set_engine

mlab管线

Open,set_vtk_src,adddataset,scalar_cut_plane

.api——操作管线对象

管线基础对象

Scene,Source,Filter,ModuleManager,Module
PipelineBase,Engine

主视窗UI对象

DecoratedScene,MayaviScene,SceneEditor,MlabSceneModel,EngineView,EngineRichView

--------------------------------------------------------------2018.9.30.------------------------------------------------------------------------
先写这么多,mayavi又挂了,他休息我也休息会。明天继续更。
--------------------------------------------------------------2018.9.30.------------------------------------------------------------------------
先上一个官方图,

三流Mayavi操作-Mayav-2.0
以及相应代码:

from mayavi import mlab
x = [[-1,1,1,-1,-1],[-1,1,1,-1,-1]]
y = [[-1,-1,-1,-1,-1],[1,1,1,1,1]]
z = [[1,1,-1,-1,1],[1,1,-1,-1,1]]
s = mlab.mesh(x,y,z)
mlab.show()

这段代码很明确,mesh用法和matlab一样,xyz二维数组。这里面很非常多的省略参数,图形绘制也不只有.mlab一个
三流Mayavi操作-Mayav-2.0
这里面有很多配置细节,回头再一一说明。现在调整的就是LUT(Look up table manager查阅管理器)里的配色方案Lut mode。
注意mayavi提供了脚本录制
三流Mayavi操作-Mayav-2.0
此处调整了透明度.opacity,还有观察视角的旋转