質問

Visualization ToolKit(VTK)の良いレビューを開発者から聞いたことがあります。しかし、それは正確にどれほど強力なのでしょうか?たとえば、数十億のグリッドポイントを持つ(シミュレーター内の)石油貯留層全体の視覚化を処理できますか?ほとんどの工業用貯水池シミュレータは、並列プロセッサで実行されます。 VTKが並列処理をサポートしていることは知っていますが、リザーバーシミュレーションのようなものを実行する際に、並列プロセッサを利用することで安定性が向上しますか?このような大規模プロジェクトでVTKを使用した人はいますか?

Mathematicaはいくつかの簡単な貯水池シミュレーションをサポートしていますが、Java Swingライブラリを使用していると思います。だから、誰かが3DSplice以外の強力な視覚化にVTKが使用されているという考えを持っていますか?また、VTKを使用した開発時間について誰かが何か言うことはできますか?

役に立ちましたか?

解決

VTKはC ++でコーディングされており、C ++、Python、Tcl / Tk、Javaで使用できます。サンディア( Titan の努力を含む)、Los Alamos、Livermoreなどのラボでは、あなたの野望に匹敵する規模の視覚化努力のためのVTK of grid points"は、このような極端なスキルを持つチームが存在するまで取り組まなければならないプロジェクトではありません。

これ(あなたが念頭に置いている非常に野心的なスケールの視覚化プロジェクト)は、どのように取り組むかに関係なく簡単になると主張していませんが、それを作る代替フレームワークは考えられませんVTKよりも簡単です!-)

他のヒント

VTKは、非常に強力なツールキットであり、さまざまな視覚化アルゴリズムの合理的に効率的な実装を提供します。 VTKの機能を確認するには、 ParaView を確認することをお勧めします。 ParaViewはVTKを中心に使用可能なアプリケーションを構築するため、さまざまなVTKコンポーネントを結合することにより、データを即座に視覚化できます。

より直接的に質問に対処するために、VTKの並列処理を使用して視覚化の作成を加速します。これは安定しているはずですが、シミュレーション計算とは無関係です。 VTKの使用方法を学習するには時間がかかりますが、使用方法の多くの側面を説明する本を購入できます。 Pythonのラッピングを試すことは、VTKの使用方法を理解するための良い方法です。

アプリケーションにとって、VTKが最適なソリューションであるかどうかはわかりません。シミュレーションの合理的な視覚化を作成できるかどうかを確認するには、ParaViewまたはPython VTKバインディングを使用した小規模な実験をお勧めします。

VTKでの個人的な経験はプラスですが、小さなデータセットのみです。あなたの場合のように、大きなデータセットがある場合、間違いなく非常に遅くなる可能性があります。プラス面としては、非常に多くの視覚化モードがあるため、純粋なOpenGLでそれらを書き換えることは考えられません。 VTKの速度低下の原因はわかりませんが、パイプラインアーキテクチャはおそらく役に立たないでしょう。また、その多くは使用するフィルターに依存します。たとえば、体積プロットは、構築によって非常に遅くなります(多くの平行な透明な平面)。

有用なソリューションは、データセットをプロットする前に最小限にトリミングすることでした。非常に多くの場合、視覚的精度の低下はごくわずかです。 LevelOfDetail(LOD)フィルターを試すこともできますが、経験はありません。

「強力な」方法を定義するVTK(またはライブラリ)は不可能です。それはすべてあなたのニーズに依存します。 VTKでグリッドを投げ、負荷の多いハードウェアで強化し、スムーズに動作することを期待できるというわけではありません。 VTKは巨大なモデル向けではありませんが、これをサポートしようとする Paraview というライブラリがあります。

補足:数十億個のセルモデルをプレーンなラップトップでインタラクティブに視覚化します(VTK / Paraviewを使用しません)。どうやって?それは秘密だと思う...:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top