MayaVi
表示
A screenshot of the main window, with an example visualization | |
開発元 | Enthought |
---|---|
初版 | 2019年 |
最新版 |
4.5.0
/ 2019年8月1日 |
プログラミング 言語 | Python, VTK, wxPython/Qt |
対応OS | GNU/Linux, Mac OS X, Microsoft Windows |
対応言語 | 英語 |
サポート状況 | Active |
種別 | データ可視化 |
ライセンス | BSD License |
公式サイト |
docs |
MayaViはPythonで書かれた科学データビジュアライザで、 Visualization Toolkit (VTK) を使用し、 Tkinter経由でGUIを提供する。MayaViはPrabhu Ramachandranによって開発され、 BSD Licenseの下で無料で配布されている。 クロスプラットフォームであり、PythonとVTKの両方が利用可能なすべてのプラットフォームで動作する(ほとんどすべてのUNIX 、Mac OS X、またはWindows )。 MayaViは単一の名前として発音される。 "Ma-ya-vee"は、サンスクリットで「魔法」を意味する。MayaViのコードは、MayaやテキストエディタのViとは関係ない[1]。
Mayavi2と呼ばれるMayaViの最新バージョンは、科学的なPythonプログラムのEnthoughtスイートのコンポーネントである。オリジナルのMayaViとの違いは、インタラクティブなプログラムだけでなく、Pythonでの3Dプロット用の再利用可能なコンポーネントの作成にも重点を置いている点である。公開されるインタフェースとAPIはオリジナルのMayaViとは若干異なるが、より多くの機能が追加されている[2][3]。
主な機能
[編集]- 計算グリッド、スカラー、ベクトル、テンソルデータの視覚化。
- 使いやすいGUI
- 他のPythonプログラムからPythonモジュールとしてインポート、Pythonインタプリタからスクリプトを作成。
- テクスチャおよびレイキャストマッパによるデータのボリューム可視化。
- VTKデータ形式を使用する任意のVTKデータセットのサポート
- PLOT3D データのサポート
- 複数のデータセットを同時に使用可能
- VTKパイプライン内のオブジェクトを参照および編集できるパイプラインブラウザ
- シンプルなVRMLおよび3D Studioシーンのインポート
- カスタム・モジュールおよびデータ・フィルタの追加
- PostScriptファイル、PPM/BMP/TIFF/JPEG/PNG画像、Open Inventor、Geomview OOGL、VRMLファイル、Wavefront .obj file、またはRenderMan RIBファイルの出力
例
[編集]球面調和関数
[編集]from numpy import linspace, meshgrid, array, sin, cos, pi, abs
from scipy.special import sph_harm
from mayavi import mlab
theta_1d = linspace(0, pi, 91)
phi_1d = linspace(0, 2*pi, 181)
theta_2d, phi_2d = meshgrid(theta_1d, phi_1d)
xyz_2d = array([sin(theta_2d) * sin(phi_2d),
sin(theta_2d) * cos(phi_2d),
cos(theta_2d)])
l = 3
m = 0
Y_lm = sph_harm(m, l, phi_2d, theta_2d)
r = abs(Y_lm.real) * xyz_2d
mlab.figure(size=(700, 830))
mlab.mesh(r[0], r[1], r[2], scalars=Y_lm.real, colormap="cool")
mlab.view(azimuth=0, elevation=75, distance=2.4, roll=-50)
mlab.savefig("Y_%i_%i.jpg" % (l, m))
mlab.show()
参考文献
[編集]- ^ “MayaVi project page”. SourceForge. 2016年5月4日閲覧。
- ^ “MayaVi2 wiki page”. 2016年5月4日閲覧。
- ^ “MayaVi2 project page”. 2018年4月13日閲覧。