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とは関係ない。

Mayavi2と呼ばれるMayaViの最新バージョンは、科学的なPythonプログラムのEnthoughtスイートのコンポーネントである。オリジナルのMayaViとの違いは、インタラクティブなプログラムだけでなく、Pythonでの3Dプロット用の再利用可能なコンポーネントの作成にも重点を置いている点である。公開されるインタフェースとAPIはオリジナルのMayaViとは若干異なるが、より多くの機能が追加されている。

主な機能 計算グリッド、スカラー、ベクトル、テンソルデータの視覚化。 使いやすい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, r, r, 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()

参考文献

外部リンク