科学计算三维可视化---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)

猜你喜欢

转载自www.cnblogs.com/ssyfj/p/9302295.html