ParaView によるアニメーション作成

2014年2月3日

はじめに

ParaView によるアニメーションの作成方法について説明する。

使用バージョン

ParaView 3.12.0

アニメーションのデータ

ParaView は、名前に番号が振られたデータをアニメーションデータをみなす。

ファイルを開くとき、名前に番号が振られたデータはツリー状に表示される。一番上のデータ (上の図では "cavity_..vtk") を選択すると、一連のデータがアニメーションとして読み込まれる。

アニメーションの再生

ツールバーの再生 (Play) ボタンを押せば、アニメーションが再生される。

アニメーションの制御

メニュー [View]-[Animation View] にチェックを入れると、Animation View パネルが表示される。

このパネルにより、アニメーションの制御を行うことができる。

Mode

  • "Snap To TimeSteps" : 時間ステップをもとのデータに合わせてアニメーションする。
  • "Sequence" : 指定したフレーム数 (No. Frames) でアニメーションする。
  • "Real Time" : 指定した実時間 (Duration) でアニメーションする。

Mode の入力の下にある表のようなところで、時間やカメラ、フィルターのパラメタを制御したりできる。

時間の補間

データ数 (時間ステップ数) が少ないとアニメーションはあっというまに終わってしまう。Animation View の "Sequence" や "Real Time" のモードを使ってステップ数を増やしても、カクカクのアニメーションにしかならない。データ数を増やすために、Temporal Interpolator フィルターで時間の補間を行うことができる。

読み込んだデータに対してフィルター Temporal Interpolator を適用し、"Discrete Time Step Interval" に時間刻み幅を設定する。たとえば、1 秒ごとの 5 ステップのデータに対し時間刻み幅を 0.1 とすると、50 ステップのデータになる。

表示の調整

メニュー [Tools]-[Lock View Size Custom...] で画面サイズを固定できる。

640x480 のサイズ (解像度) のアニメーションを出力したい場合は、[Lock View Size Custom...] で 640x480 の画面サイズに固定しておけば、画面の見え方とアニメーションの出力結果を一致させることができる。

画面サイズの固定をやめる場合は、メニュー [Tools]-[Lock View Size] を選ぶ。

アニメーションの出力

メニュー [File]-[Save Animation] でアニメーションを出力できる。

"Resolution (pixels)" で動画のサイズ (解像度) を指定する。

アニメーションの保存方法としては、時間ステップ分の絵を JPEG などで保存する方法と、動画ファイルを書き出す方法がある。

JPEG などで保存する場合は、別途動画を作成する作業が必要になる。Linux の場合は、convert コマンドにより MPEG や GIF に変換できる。

$ convert *.jpg anime.mpeg

Windows 版の ParaView の場合、動画ファイルを書き出すことができる。その場合、"Frame Rate (fps)" や "Animation Duration (sec)" (Animation View の Mode が "Real Time" の場合) などを設定することができる。

仮想粒子アニメーション

仮想粒子による流れのアニメーションを行うには、Particle Tracacer/Particle Pathlines を使う。

下準備

なめらかな粒子アニメーションを作るには、十分に小さな時間刻み幅のデータが必要である。そのため、Temporal Interpolator フィルターで適当な時間刻み幅のデータを作っておく。

粒子の放出点の作成

粒子は点から放出される。全セルの中心点から放出する場合は、Cell Centers フィルターを使う。そのままだとうまくいかないことがあるので、一度 CSV ファイルで書き出してそれを読み込み、Table To Points フィルターで点に変換して使うとよい。Extract Block や Slice などのフィルターで作った面に Cell Centers フィルターを使ってもよいが、そのままではうまくいかないことがあるので、一度 VTK (vtm) ファイルで書き出してそれを読み込んで使うとよい。メニュー [Sources]-[Point Source] で点を作ってもよい。

仮想粒子アニメーション

Particle Tracer フィルターを使う。

"Input" で Temporal Interpolator のデータを指定し、"Source" で放出点のデータを指定する。

"Force Reinjection Every NSteps" で何ステップごとに粒子を放出するかを指定する。"Termination Time" で粒子が消えるタイミングを指定できる。

Particle Tracer フィルターの結果に対し、Particle Pathlines フィルターを適用できる。

Particle Pathlines を適用すると、Pathlines と Particles という項目ができる。Pathlines では、粒子に尻尾が生えたようにパスが表示される。設定の "Mask Points" で粒子を間引くことができる (0 は設定できない)。"Max Track Length" は、粒子の尻尾の最大長さである。"Id Channnel Array" については、"ParticleId" を指定しておけばよさそうである。

追加処理

Particle Tracer/Particle Pathlines フィルターの結果に対して Glyph フィルターなどで見栄えをよくすることができる。

上の図は、Particle Tracer の結果に対して Glyph の Sphere を使ったもの。

上の図は、Particle Pathlines の結果に対して、Pathlines に Tube を、Particles に Glyph の Cone を使ったもの。