[[
movie
]]
Applied Mechanics Lab. WIKI
トレース:
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== dataファイルによる動画の作成 ====== dataファイルをguplotで可視化し,gif形式で保存して,最後にそれらを連結させて動画をつくる. ===== シェルスクリプト ===== <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[$minl:$maxl] # 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>
movie.1253016514.txt.gz
· 最終更新: 2009/09/15 21:08 by
130.54.130.245
文書の表示
以前のリビジョン
[unknown link type]
文書の先頭へ