200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 三维绘图之Mayavi.mlab

三维绘图之Mayavi.mlab

时间:2024-04-08 12:45:34

相关推荐

三维绘图之Mayavi.mlab

/pipisorry/article/details/40662397

Mayavi的安装

mayavi已经支持python3了:Done, supports 2.5, 2.6, 2.7 and 3.2+

下载安装依赖vtk

linux下:sudo apt-get install python-vtk(lz未测试过) windows下pip安装:

(lz是在mingw下操作的,cmd也同样) 下载并安装win编译好版本(支持python3),如VTK-7.0.0-cp34-cp34m-win_amd64.whl $python -m pip install --upgrade pip

$pip installVTK-7.0.0-cp34-cp34m-win_amd64.whl $python >>>import vtk 或者也可以在vtk官网下载并安装Standalone Python Interface (Installer),如vtkpython-7.0.0-Windows-64bit.exe(lz发现安装后好像只支持python2?)

下载安装mayavi

window下pip安装:

下载win编译好版本,如mayavi-4.4.4-cp34-cp34m-win_amd64.whl pip install mayavi-4.4.4-cp34-cp34m-win_amd64.whl

$python

>>>import mayavi

[mayavi doc: installation]

import

如果是直接安装的from mayavi import mlab

通过enthought安装的:from enthought.mayavi import mlab

运行时可能的错误及解决

from mayavi import mlab

ImportError: No module named 'tvtk.custom.light'

RuntimeError: module compiled against API version a but this version of numpy is 9

ImportError: numpy.core.multiarray failed to import

解决:pip install --upgrade numpy

从numpy 1.9更新到了1.11

from scipy import stats

from ._ufuncs import *

ImportError: DLL load failed: The specified module could not be found.

重装numpy和scipy[linux和windows下安装python拓展包]

pl = mlab.surf(x, y, rv.pdf(pos))

ImportError: Could not import backend for traits

Also make sure that either wxPython or PyQT is installed.

而wxpython不支持python3,lz已放弃,转向matplotlib.mplot3d.[三维绘图之matplotlib.mplot3d工具包]

皮皮blog

Mayavi.mlab模块绘制3D曲面

NumPy快速产生能进行广播运算的数组的ogrid对象

>>> x,y = np.ogrid[:5,:5]>>> xarray([[0], [1], [2], [3], [4]])>>> yarray([[0, 1, 2, 3, 4]])

mgrid对象的用法和ogrid对象类似,但是它所返回的是进行广播之后的数组。请读者运行“np.mgrid[:5,:5]”试试看。

ogrid是一个很有趣的对象,它和多维数组一样,用切片元组作为下标,返回的是一组可以用来广播计算的数组。其切片下标有两种形式:

开始值:结束值:步长,和“np.arange(开始值, 结束值, 步长)”类似

开始值:结束值:长度j,当第三个参数为虚数时,它表示所返回的数组的长度,和“np.linspace(开始值, 结束值, 长度)”类似:

>>> x, y = np.ogrid[:1:4j, :1:3j]>>> xarray([[ 0. ], [ 0.33333333], [ 0.66666667], [ 1. ]])>>> yarray([[ 0. , 0.5, 1. ]])

利用ogrid的返回值,我们能很容易计算二元函数在等间距网格上的值。

皮皮blog

Mayavi.mlab绘图实例

绘制三维曲面

02-numpy/numpy_ogrid_mlab.py

用ogird产生二维坐标网格,计算三维空间的曲面,使用Mayavi的mlab模块快速绘制3D曲面

import numpy as npfrom enthought.mayavi import mlabx, y = np.ogrid[-2:2:20j, -2:2:20j]z = x * np.exp( - x**2 - y**2)pl = mlab.surf(x, y, z, warp_scale="auto")mlab.axes(xlabel='x', ylabel='y', zlabel='z')mlab.outline(pl)mlab.show()

[使用ogrid创建的三维曲面]

from:/pipisorry/article/details/40662397

ref: mayavi doc

Mayavi2 tips

mayavi homepage

用python做科学计算:Mayavi-更方便的可视化

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。