gnuplot でアニメーション
サイクロイド曲線
gnuplot はフリーのグラフ描画ツールですが、アニメーションも作ることができます。
ファイル名が連番な jpg ファイルを書き出し、
「TMPGEnc」や「Giam」を用いて結合することでアニメーションを実現します。
今回は、円を回転させたときの円の1点が描く軌跡であるサイクロイド曲線のアニメーションを行います。
■サイクロイド曲線について:Wikkipedia:サイクロイド
■参考図書:gnuplotの精義―フリーの高機能グラフ作成ツールを使いこなす [単行本]
サイクロイド曲線のアニメーション
Giam
Giam →GIFアニメーション
TMPGEnc
TMPGEnc → m1v形式(MPEG1) → YOUTUBE
gnuplot テンプレート
連番 jpg ファイルが生成されるので、フォルダを作っておきます(フォルダ名:「f」)。
set size ratio 0.2 set samples 256 set xrange [0:15] set yrange [0:3] set trange [0:5*pi] set xtics 0, 2, 15 set ytics 0, 1, 3 set nokey set parametric set terminal jpeg enhanced font "Times" 20 size 600, 240 set tics font 'Times,18' if (exist("n")==0 || n<0) n=0 #変数の初期化 outfile(n) = sprintf("f/%d.jpg",n+1000) #出力ファイル名 title(n) = sprintf("t = %d",n) #タイトル名 unset label set label title(n) font 'Times,20' at 0 , 3.3 set output outfile(n) theta = pi/20 * n fx(t) = t<=theta ? t-sin(t) : 1/0 fy(t) = t<=theta ? 1-cos(t) : 1/0 plot fx(t),fy(t) w l,\ cos(t)+theta,sin(t)+1 w l ,\ fx(theta), fy(theta) with points pt 7 lc rgb "blue" if (n<100) n=n+1; reread n = 0