set term gif animate {delay n} {loop n} {{no}optimize} ...と指定しておき,シーン毎の静止画を次々と描画すればよいのです.
あるいは,pngcairoやjpegなどで連続するシーンの静止画像を作成しておいて, 後で外部ツールなどで,アニメーションGIFに変換するのも一法です.Unix系で は,ImageMagickのconvertが便利です.例えば,
convert -adjoin {-delay n} img***.png img.gifなどのコマンドをgnuplotのsystem()で呼び出せば,gnuplotのスクリプト だけで作成可能です.pngcairoで生成されるpng画像の方が品質が高いです. 「軌道上の点の動き」ではありませんが,以下に例を示します.
### prepare.plt ### samp=100 set xrange[-10:10] set yrange[-10:10] set zrange[-100:100] set term table set out 'trajectory.dat' set parametric set samples samp set trange[0:11] plot t*cos(t), t*sin(t) #splot x**2-y**2 set out 'surface.dat' set noparametric set isosamples 21,21 set samples 30 splot x**2-y**2 set out set term x11 set nomouse set pointsize 2 set ticslevel 0 set nokey set view 30,45,,1.2 i=0 j=0 load "main.plt"
### main.plt ### interval=0.05 set multiplot; \ set noparametric; set hidden3d; splot "surface.dat" w lines; \ set parametric; set nohidden3d; \ splot "trajectory.dat" using 1:2:($1**2-$2**2) every 1:1:i:0:i:0 lt 1 pt 7,\ "trajectory.dat" using 1:2:($1**2-$2**2) w lines lt 3 ; \ set nomultiplot if (i < samp) i=i+1; pause interval; reread exit