2009-09-04 3 views
4

私は、学問的アイデアを実験するためにPythonでプログラムを書いています。プログラムが生成する結果の画像を見てください:3Dでの単純な科学的視覚化のための軽量なPythonライブラリ

leaf

葉の中央に太いスケルトンラインが可視化されるために必要なものです。上の画像(pycairoで描画)にスケルトンラインのすべてのセグメントに関連する値があり、視覚化にはさまざまなグレーの色合いが使用され、明るい色は高い値を示し、黒い線はそれらに関連付けられた値0を示します。

2d in 3d

左の画像は、次のとおりです。問題は、人間の目には非常に直感的で、(紙から取られた)次のような3Dで値を視覚化するためにはるかに良いでしょう。この場合の色を使って視覚化したものです右の3D視覚化、線に関連する値は3Dの連続する壁の高さとして視覚化される。

これを行うには最適なライブラリは何ですか?私はこれに多くの時間を費やしたくないので、軽量のライブラリが好まれます。

+0

非常に遅い提案として、2つのオフセット2Dパースペクティブレンダリングを並べて表示し、次にフリービューの立体視覚化を行います(自分自身に注意してください:すぐに試してください)。 http://en.wikipedia.org/wiki/3d_photography#Side-by-side_.28non-shared_viewing_scenarios.29 – heltonbiker

答えて

3

あなたはmayaviを見ましたか?それがあなたの "軽量"の定義を満たしているかどうかはわかりませんが、一般的に見れば、その力で使いやすいです。

+0

私はmayaviを別のプロジェクトに使用しましたが、そのワークフローとパイプラインはかなり複雑で、 。 – btw0

+0

これは基本的にVTKのラッパーです。VTKを直接使用する方が簡単でしょう。 –

+0

ライブラリへの簡単なインターフェイスを提供するenthought.mayavi.mlabモジュールがあります。関数呼び出しは、MATLABの3Dプロット関数に似ています。 – SiggyF

4

軽量化が必要な場合は、PyOpenGLを使用すると、Pythonで直接OpenGL呼び出しをラップすることができます。これはおそらく軽量のオプションです。

多くの機能が必要な場合は、VTKを使用することをおすすめします。これは、Pythonラッパー(付属)を備えた非常に強力な視覚化ツールキットです。これに加えてMayaviやParaviewなどの他のパッケージもありますが、VTKラッパーだけでも使いやすいことがよくあります。これはおそらく私の最初の選択です。彼らには良いサンプルがあります.VtkPolyDataインスタンスを作ってレンダラーに投げるだけです。

軽いレンダリングエンジンのラッパー(IrrlichtPyrrなど)のように、開発を容易にするために、これを簡略化するものが必要な場合があります。これにより、画像を生成しやすくなります。

関連する問題