Animation 如何使用gnuplot从单个数据文件为多个点(行星)设置动画。

Animation 如何使用gnuplot从单个数据文件为多个点(行星)设置动画。,animation,gnuplot,physics,Animation,Gnuplot,Physics,我正试图在稳定的拉格朗日点L5处制作一个木星、太阳和一颗小行星围绕其质量中心运行的动画。我想用gnuplot制作这个动画 我写了一个程序,可以在t/AU时找到他们的位置。我得到的数据如下,有列、时间、x位置、y位置,还有行、行星、太阳、小行星。我已经研究过在gnuplot中制作动画的其他解决方案,但它们似乎对我不起作用。请帮助我理解我需要在gnuplot命令行中键入什么来获取此数据的动画 多谢各位 0 0 5.19481 0 0 -0.00519481 0 4.50634 2

我正试图在稳定的拉格朗日点L5处制作一个木星、太阳和一颗小行星围绕其质量中心运行的动画。我想用gnuplot制作这个动画

我写了一个程序,可以在t/AU时找到他们的位置。我得到的数据如下,有列、时间、x位置、y位置,还有行、行星、太阳、小行星。我已经研究过在gnuplot中制作动画的其他解决方案,但它们似乎对我不起作用。请帮助我理解我需要在gnuplot命令行中键入什么来获取此数据的动画

多谢各位

0   0   5.19481
0   0   -0.00519481
0   4.50634 2.6


0.01    0.0275397   5.19473
0.01    -2.75397e-05    -0.00519473
0.01    4.52006 2.57607


0.02    0.0550786   5.19451
0.02    -5.50786e-05    -0.00519451
0.02    4.53365 2.55208


0.03    0.082616    5.19415
0.03    -8.2616e-05 -0.00519415
0.03    4.54712 2.52801


0.04    0.110151    5.19364
0.04    -0.000110151    -0.00519364
0.04    4.56046 2.50386


0.05    0.137683    5.19298
0.05    -0.000137683    -0.00519298
0.05    4.57367 2.47965


0.06    0.165211    5.19218
0.06    -0.000165211    -0.00519218
0.06    4.58675 2.45537
etc...
这只是一份草稿:

stats 'test.txt' u 2:3
set xr [STATS_min_x:STATS_max_x]
set yr [STATS_min_y:STATS_max_y]
do for [i=0:STATS_blocks-1] { 
    plot 'test.txt' index i u 2:3 w p pt 7 title sprintf("time: %f",i*0.01)
    pause 1
}
您可以直接创建动画gif:

stats 'test.txt' u 2:3
set xr [STATS_min_x:STATS_max_x]
set yr [STATS_min_y:STATS_max_y]
set term gif animate
set output 'test.gif'
do for [i=0:STATS_blocks-1] { 
    plot 'test.txt' index i u 2:3 w p pt 7 title sprintf("time: %f",i*0.01)
}

现在这是非常基本的,但可以调整以生成真正高质量的图像。

Nice。另外请注意,如果电影很长,或者如果用户希望能够浏览,那么最好使用比动画gif更高级的内容。例如,使用gnuplot生成单个帧,然后将它们与外部应用程序放在一起(例如:然后使用一些视频创建者,而不是
convert
)。