科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)
一:Mayavi库的基本元素
1.处理图形可视化和图形操作的mlab模块 2.操作管线对象,窗口对象的api
(一)mlab模块
(二)mayavi的api
二:快速绘图实例
(一)mlab.mesh的使用,快速创建绘图
>>> 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]] >>> from mayavi import mlab >>> s = mlab.mesh(x,y,z)
x,y,z数组对应坐标的元素组成了三维坐标点
(-1,-1,1)
(1,-1,1)
......
(-1,1,-1)
(-1,1,1)
以上8个坐标
数组都分为2部分,一部分4点,每一部分中四个点代表一个面(空白区域)
(二)创建一个较为复杂绘图
from numpy import pi, sin, cos, mgrid from mayavi import mlab #建立数据 dphi,dtheta = pi/250.0,pi/250.0 [phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta] m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4; r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6**theta)**m7 x = r*sin(phi)*cos(theta) y = r*cos(phi) z = r*sin(phi)*sin(theta) #对该数据进行三维可视化 s = mlab.mesh(x,y,z) mlab.show()
s = mlab.mesh(x,y,z,representation="wireframe",line_width=1.0)