秉着边学边写边折腾的原则,开始粗糙的工作。真正掌握还是得讲解给别人听。
先给出网课
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.------------------------------------------------------------------------
先上一个官方图,
以及相应代码: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
一个
这里面有很多配置细节,回头再一一说明。现在调整的就是LUT(Look up table manager查阅管理器)里的配色方案Lut mode。
注意mayavi提供了脚本录制
此处调整了透明度.opacity
,还有观察视角的旋转