科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

时间:2022-02-04 12:54:29

一:Mayavi库的基本元素

.处理图形可视化和图形操作的mlab模块
.操作管线对象,窗口对象的api

(一)mlab模块

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

(二)mayavi的api

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

二:快速绘图实例

(一)mlab.mesh的使用,快速创建绘图

>>> x = [[-,,,-,-],[-,,,-,-]]  
>>> y = [[-,-,-,-,-],[,,,,]]
>>> z = [[,,-,-,],[,,-,-,]]
>>> 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点,每一部分中四个点代表一个面(空白区域)

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

(二)创建一个较为复杂绘图

from numpy import pi, sin, cos, mgrid
from mayavi import mlab #建立数据
dphi,dtheta = pi/250.0,pi/250.0
[phi,theta] = mgrid[:pi+dphi*1.5:dphi,:*pi+dtheta*1.5:dtheta]
m0 = ; m1 = ; m2 = ; m3 = ; m4 = ; m5 = ; m6 = ; m7 = ;
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()

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

s = mlab.mesh(x,y,z,representation="wireframe",line_width=1.0)

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)