[[
movie
]]
Applied Mechanics Lab. WIKI
トレース:
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== dataファイルによる動画の作成 ====== dataファイルをguplotで可視化し,gif形式で保存して,最後にそれらを連結させて動画をつくる. 必ずdataファイルは連番(output01.dat,output02.dat,....)とすること。([[http://basewall.kuciv.kyoto-u.ac.jp/dokuwiki/doku.php?id=fortran#%E9%80%A3%E7%95%AA%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B|連番のファイル名をつける。]]) ===== シェル ===== シェルスクリプトを適当なファイル"hoge.sh"に保存し,dataファイルと同じディレクトリに置く. あとは、ターミナルでシェルを実行する。 <code> $ sh hoge.sh </code> ==== シェルスクリプト ==== <code bash> #!/bin/bash minx=0 maxx=10 miny=0 maxy=10 ## mkdir gif ## for filename in output*.dat do ## output11.dat -> 11 ##### newname=${filename#output} newname=${newname%.dat} ## make gif file '0011.gif' #### gnuplot <<GNU set terminal gif set output "gif/${newname}.gif" set xrange[$minx:$maxx] # set xlabel "location from upstream [km]" set yrange[$miny:$maxy] # set ylabel "water level & bed [m]" plot '${filename}'with l GNU done # make movefile #### convert -delay 10 -loop 0 gif/*.gif movie.gif </code> 変数の定義 <code bash> 変数=値or文字列 </code> 以後変数を参照する時は,変数の頭に $ をつけるか, ${ }で囲む. <code bash> echo ${変数} </code> 与えられた引数の数だけ処理の繰り返しを行いたい場合はfor文を使用する。for文はinの後に続く引数を変数に代入しながら doとdoneの間に記述されたコマンドを繰り返し実行する。そしてinの後の引数がなくなり次第ループから抜ける。 <code bash> for filename in output*.dat do ... done </code> 変数の一部を削りたい場合,以下のパターンマッチを用いる. <code bash> ${hoge#pattern} #hoge前方から最短マッチ部分を除く ${hoge##pattern} #hoge前方から最長マッチ部分を除く ${hoge%pattern} #hoge後方から最短マッチ部分を除く ${hoge%%pattern} #hoge後方から最長マッチ部分を除く </code> 一番上の例では変数"filename"から"output"と".dat"を削っている. <code bash> ## output11.dat -> 11 ##### newname=${filename#output} newname=${newname%.dat} </code> 以下のように囲むことによって,シェルの中でgnuplotを動かせる.末尾のGNUは必ず行頭に置かなければならない. <code bash> gnuplot <<GNU ...(gnuplotコマンド)... GNU </code> また,動画をつくる際,グラフの範囲を指定して置く. ===== convertコマンドのオプション ===== "-delay"オプションは次の絵を表示するための待ち時間で、単位は1/100秒。アニメーションをループさせたい場合は "-loop 回数" をconvertの引数に指定する。繰り返しの場合は回数を0とする. <code bash> # make movefile #### convert -delay 10 -loop 0 gif/*.gif movie.gif </code> ===== gifsicle ===== gifファイルからgifアニメを作成 使い方はこんな感じ.convertと似てる. <code bash> gifsicle --delay 50 --loopcount 100 hoge*gif > anime.gif </code> ===== gifview ===== gifアニメを見るにはgifview.gifsicleをインストールする必要あり. <code bash> gifview -a anim.gif </code>
movie.1253056411.txt.gz
· 最終更新: 2009/09/16 08:13 by
10.249.202.212
文書の表示
以前のリビジョン
[unknown link type]
文書の先頭へ