用Python三维可视化-一个神奇的函数


python的强大已经深入人心,除了语法优雅、入门容易、开发快速等优点外,其最大的强大之处在于:

无所不能!

他的无所不能得益于它易扩展、胶水语言、开源的特性,全世界广大开发者都会为Python添加各种领域、各种功能并且质量优良的扩展库,比如今天要讲的这位:

Mayavi——一个方便、强大的三维可视化库

除此之外,还要讲一位神奇的二元函数:

 

为什么神奇?为什么有个系数4/3?用Mayavi将其显示出来,你看了就知道。

首先,确保你的python是2.X版本(3.X版本没试过,应该也可以),并安装了numpy、mayavi库

然后,代码如下:

1 import numpy as np
2 from enthought.mayavi import mlab
3 x,y=np.ogrid [-2:2:160j,-2:2:160j]
4 z=abs(x)*np.exp(-x**2-(y/.75)**2)
5 pl=mlab.surf(x,y,z,warp_scale=2)
6 mlab.axes(xlabel='x',ylabel='y',zlabel='z')
7 mlab.outline(pl)
8 mlab.show()

其中,

第1、2行:导入numpy和mayavi可视化库;

第3行:划分自变量x和y的范围(都是-2到2)和间隔(分成160等份),将区域栅格化

第4行:计算每个(x,y)组合对应的z的值,在numpy里,只需要一句话,它会自动生成一个numpy数组,保存每个自变量对应的函数值

第5行:创建一个mlab.surf对象,用于将数据显示为曲面效果,将x,y,z作为参数

第6行:设置三个坐标轴的标签

第7行:为显示区域添加外框线

第8行:显示在屏幕上

 

短短8行,就能得到以下效果:

python,就是这么厉害!

ps:系数4/3是为了调整y方向的缩放比例,让画面更有冲击力,你懂的

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM