码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-13 00:01:53      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:使用   组成   图形可视化   code   mes   可视化   pre   数组   一个   

 一: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)

技术分享图片

 

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

标签:使用   组成   图形可视化   code   mes   可视化   pre   数组   一个   

原文地址:https://www.cnblogs.com/ssyfj/p/9302295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!