Mayavi的基本元素
![](https://img.haomeiwen.com/i1796993/79485a3def2b64ff.png)
Mayavi.mlab
![](https://img.haomeiwen.com/i1796993/d60b96d781d2d7d1.png)
Mayavi API
![](https://img.haomeiwen.com/i1796993/bd567c326852a36f.png)
例1
![](https://img.haomeiwen.com/i1796993/0207013845618063.png)
例1
![](https://img.haomeiwen.com/i1796993/eead835620df99f9.png)
例2
键盘鼠标对场景进行操作
旋转场景:左键拖动或键盘的方向键
平移场景:按住shift键拖动,shift+方向键盘
缩放场景:鼠标右键上下拖动或使用“+”和“-”按键
滚动相机:按住CTRL键并用左键拖动
工具栏:从坐标轴6个方向观察场景、等角投影、切花平行透视和成角透视等
![](https://img.haomeiwen.com/i1796993/7d2189a64c7379a2.png)
例2
Mayavi管线层级
Engine:建立和销毁Scenes
Scenes:多个数据集合Sources
Filters:对数据进行变换
Module Manager:控制颜色,Colors and Legends
Modules:最终数据的表示,如线条、平面等
基于Numpy数组的绘图函数
mlab对Numpy建立可视化过程:
1.建立数据源
2.使用filter(可选)
3.添加可视化模块
3D绘图函数-0D和1D数据
point3d() 基于Numpy数组x、y、z提供的三维点坐标,绘制点图形
plod3d() 基于1维Numpy数组x、y、z提供的三维坐标数据,绘制线图形
![](https://img.haomeiwen.com/i1796993/ad8e3589338b71b9.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/80d2d456b9eb7544.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/387de02e432f4ebd.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/91fd3c6c111fa7e8.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/f1ad8b6664d05b01.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/a74279825260103f.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/ce98133b9a6c1049.png)
3D绘图函数-Points3d()
![](https://img.haomeiwen.com/i1796993/b9b6e509fe6f6fb0.png)
3D绘图函数-plot3d()
![](https://img.haomeiwen.com/i1796993/845c997b301fec74.png)
3D绘图函数-plot3d()
![](https://img.haomeiwen.com/i1796993/d0bd944d06a1ede2.png)
3D绘图函数-plot3d()
![](https://img.haomeiwen.com/i1796993/75989037d88353cc.png)
3D绘图函数-plot3d()
![](https://img.haomeiwen.com/i1796993/f470f81e059b3b6b.png)
3D绘图函数-plot3d()
![](https://img.haomeiwen.com/i1796993/cc7af4df473ed721.png)
3D绘图函数-2D数据
![](https://img.haomeiwen.com/i1796993/c9bf00ccadefcc3a.png)
3D绘图函数-imshow()
![](https://img.haomeiwen.com/i1796993/fb06131e6e35f326.png)
3D绘图函数-imshow()
![](https://img.haomeiwen.com/i1796993/79e18bffab0c5ef8.png)
3D绘图函数-imshow()
![](https://img.haomeiwen.com/i1796993/aebafa2425c36873.png)
3D绘图函数-imshow()
![](https://img.haomeiwen.com/i1796993/e617ec633440b7c8.png)
3D绘图函数-surf()
![](https://img.haomeiwen.com/i1796993/2d7b20a23ee224a1.png)
3D绘图函数-surf()
![](https://img.haomeiwen.com/i1796993/c826c639588bfa57.png)
3D绘图函数-surf()
![](https://img.haomeiwen.com/i1796993/5b35c0bb98508d58.png)
3D绘图函数-contour_surf()
![](https://img.haomeiwen.com/i1796993/ffc4915646d0e68d.png)
3D绘图函数-contour_surf()
![](https://img.haomeiwen.com/i1796993/4d613681ce80b7af.png)
3D绘图函数-3D数据
![](https://img.haomeiwen.com/i1796993/f7ea852460a79c2b.png)
3D绘图函数-contour3d()
![](https://img.haomeiwen.com/i1796993/61777f04e1014caf.png)
3D绘图函数-contour3d()
![](https://img.haomeiwen.com/i1796993/5cb58e148f13c446.png)
3D绘图函数-contour3d()
![](https://img.haomeiwen.com/i1796993/aa07e56d7f36f402.png)
3D绘图函数-quiver3d()
![](https://img.haomeiwen.com/i1796993/f86b7c837bd2966a.png)
3D绘图函数-quiver3d()
![](https://img.haomeiwen.com/i1796993/785332928a56b667.png)
3D绘图函数-quiver3d()
改变物体的外观
1.改变颜色
colormap定义的颜色,也叫LUP(look up table)。
![](https://img.haomeiwen.com/i1796993/8c0302aac7398d48.png)
常见的colormaps
![](https://img.haomeiwen.com/i1796993/df791236b64f771a.png)
改变颜色
mlab控制函数
![](https://img.haomeiwen.com/i1796993/663b66f9edac354a.png)
图像控制函数
![](https://img.haomeiwen.com/i1796993/26ef546cf9d301d2.png)
图像装饰函数
![](https://img.haomeiwen.com/i1796993/b4af3034c8853d68.png)
相机控制函数
![](https://img.haomeiwen.com/i1796993/670e239f82458dc8.png)
其他控制函数
鼠标选取
1.选取一个物体,查看数据
2.选取物体上一点,查看数据
![](https://img.haomeiwen.com/i1796993/7563a0d284d44603.png)
鼠标选取
![](https://img.haomeiwen.com/i1796993/0385598c36070d55.png)
鼠标选取
![](https://img.haomeiwen.com/i1796993/c16668c144a38420.png)
选取红色小球问题分析
![](https://img.haomeiwen.com/i1796993/5572f2fc0d3a5658.png)
程序框架
![](https://img.haomeiwen.com/i1796993/d29bedb63ac2f836.png)
小球场景初始化建立
![](https://img.haomeiwen.com/i1796993/516ee696e443e3bb.png)
选取框初始化建立
![](https://img.haomeiwen.com/i1796993/1072fe266762d9cb.png)
"选取"回调函数的结构
![](https://img.haomeiwen.com/i1796993/dac1799a3f220b6c.png)
计算哪个小球被选取
![](https://img.haomeiwen.com/i1796993/a88ec508409caa16.png)
计算哪个小球被选取
![](https://img.haomeiwen.com/i1796993/e8568b4c8607e6a7.png)
计算哪个小球被选取
![](https://img.haomeiwen.com/i1796993/fcd771c4c01545c1.png)
建立响应机制
![](https://img.haomeiwen.com/i1796993/faa41fbd38db1637.png)
运行结果
程序优化
程序运行两个问题:1.小球初始速度太慢 2.鼠标选取不精确
![](https://img.haomeiwen.com/i1796993/d8edb182617e0308.png)
程序框架的优化
mlab管线控制函数
Sources:数据源
Filters:用来数据变换
Modules:用来实现可视化
mlap.pipeline.function()
![](https://img.haomeiwen.com/i1796993/2967a61337645cc1.png)
Sources
![](https://img.haomeiwen.com/i1796993/12749dbd991b8770.png)
Filters
![](https://img.haomeiwen.com/i1796993/ba6e35f162050a3f.png)
Filters
![](https://img.haomeiwen.com/i1796993/59d38dee576fc219.png)
Modules
![](https://img.haomeiwen.com/i1796993/277a0acb4ca01e05.png)
Modules
![](https://img.haomeiwen.com/i1796993/609b0ddc9ec51dc1.png)
Mlab Reference
标量数据可视化
![](https://img.haomeiwen.com/i1796993/87f6d96ec6d33288.png)
生成标量数据
![](https://img.haomeiwen.com/i1796993/caea0556bbff15b8.png)
等值面绘制
![](https://img.haomeiwen.com/i1796993/13f5dca80e164759.png)
切平面
![](https://img.haomeiwen.com/i1796993/1f0fb10a2190da77.png)
切平面
![](https://img.haomeiwen.com/i1796993/ee6bd4f5db63c00e.png)
复合观测方法
mlab.pipline.scalar_cut_plane 复合观测方法
![](https://img.haomeiwen.com/i1796993/7f00ed2e9bb0e2c7.png)
复合观测方法
矢量数据可视化
![](https://img.haomeiwen.com/i1796993/38eb38f26b7955ce.png)
生成矢量数据
![](https://img.haomeiwen.com/i1796993/72e47d46f4b7774b.png)
Quiver绘制
![](https://img.haomeiwen.com/i1796993/360a997ec813ee42.png)
Quiver绘制
![](https://img.haomeiwen.com/i1796993/42c33a8e2f69415e.png)
Masking Vector采样
![](https://img.haomeiwen.com/i1796993/b6b43e8356b7b614.png)
Masking Vector采样
![](https://img.haomeiwen.com/i1796993/3b48c623c2b002d8.png)
Cut Plane切面
![](https://img.haomeiwen.com/i1796993/528be9c30756f010.png)
Cut Plane切面
![](https://img.haomeiwen.com/i1796993/fe9430a6d905cbd6.png)
级数的等值面
![](https://img.haomeiwen.com/i1796993/22945e00b61b2090.png)
级数的等值面
![](https://img.haomeiwen.com/i1796993/507be5ad492ef888.png)
Flow可视化
![](https://img.haomeiwen.com/i1796993/3714f2e7ef0aff8b.png)
级数的等值面
![](https://img.haomeiwen.com/i1796993/ac91316f5bf38014.png)
复合观测方法
![](https://img.haomeiwen.com/i1796993/e9b8b31fa3d8a76f.png)
复合观测方法
网友评论