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



