fx(t) = t*cos(t)
fy(t) = t*sin(t)
fz(t) = t**2*(cos(t)**2-sin(t)**2)
#
set style line 100 lw 0.1 lc "white"
set pm3d depth lighting primary 0.6  hidden3d ls 100
set palette defined (0 "#6666ff", 1 "#6666ff")
set samples 21
set isosamples 21
unset colorbox
unset key
unset tics
unset border
set xyplane 0
set view 30,135,1.2, 0.8
set term pngcairo size 360,360 font ",10" background "dark-olivegreen"
set xr [-10:10]
set yr [-10:10]
set zr [-100:100]
set ur [0:11]

N = 100
do for [i = 0: N-1] {
 set out sprintf("im%03d.png", i)
 set multiplot
    set samples 21
    splot x**2-y**2 w pm3d
    set samples N
    splot '+' u (s = 0.55*(($1)+10), fx(s)):(fy(s)):(fz(s)) \
           w line lw 2 lc "gold",\
          '+' u (s = 0.55*(($1)+10), fx(s)):(fy(s)):(fz(s)) \
           every 1:1:i:0:i:0 lt 7 pt 7 ps 2 lc "salmon"
    unset multiplot
}
system("convert -adjoin -delay 5 im*.png pm3d_trajectory.gif")
system("rm im*.png")