OpenDX

OpenDX Menu: Top Page Next Back

簡単なアニメーションを作る

Sequencerとは何か?

1. Sequencerとは整数を順番に出力するものです。VPEを起動して、Sequencerと echoをつないでみましょう。 [画面を表示]
	    
	    

2. Sequencerをダブルクリックします。すると
	    
のようなものが出ます。再生を押すと、Message WindowにECHO: 1からECHO: 100までが表示されます。このEchoというのはデバッグのときに便利で、出力 をMessage Windowに表示してくれます。すなわち、Sequencerからは1から100 までが順々に出力されていることが分かります。 [画面を表示]
	    
	    

連番ファイルからアニメーションを作る

ここでは連番ファイル(data1.dat, data2.dat .... data50.dat)から以下の ようなアニメー ションを作ることを目指します
[アニメー ションを表示]
	    
	    

dataのサンプルをダウンロード

Importする

サンプルのdata??.datは、二次元データで、50× 50のグリッドデータで、[データのImport]でつ くった3次元データとほぼ同じように作られました。
まず、data1.dat data2.dat ... data50.datに対して、それぞれ data1.general data2.general ... data50.generalを作らねばなりませんが、 これはいちいち、やってられません。でも。data1.datについてだけとり あえず、data1.generalをつくって、中を見てみると、
file = /home/username/dxdata/data1.dat
grid = 50 x 50
format = lsb ieee
interleaving = record
majority = column
field = p
structure = scalar
type = float
dependency = positions
positions = regular, regular, 0, 1, 0, 1

end
だけで、たいしたことは書いてありません。この場合は一行目のfileのとこ ろだけ代えてやれば、他のファイルにも使えるので、シェルなどで自動で data??.generalを全部作ってしまいます。

VPE

1. 早速、VPEを作成します。 [VPEを表示]
	    
	    

2. ポイントは、Sequencerで出した連番をファイル名に 代えて出せばよい、ということです。これを行うには、Formatを用います。 Sequencerの出力はFormatの入力のまんなか(value)につなぎます。 Formatのtemplateを"data%d.general"のように書き換えます。この"%d"のとこ ろに、Sequencerからの数字が入るしくみです。 [画面を表示]
	    
	    

3. ここでは、Sequencerからもう一つのFormat (template="time %d [sec]") につなぎ、これをCaptionを通して、Imageにつないでいます。こ れで、「time 32 [sec]」のようなcaptionが入ります。
4. 出力の所ですが、Image、RenderをWriteImageにつないで、ファイルを作り ます。WriteImageのformatはmiffにします。 [画面を表示]
	    
	    

5. VPE中の残りの部分は、本題と関係ないので省略します。miffは使 いにくいので、gifアニメなどに変換するにはImageMagikをつかっ て、
convert anim2d.miff anim2d.gif
のようにします。ほかの形式でもできます
*ポイント Sequencerからの数列をFormatで成形して使う。