2016-03-22 2 views
1

Я пытаюсь сделать анимацию Юпитера, солнца и астероида в устойчивой точке Лагранжа L5, когда они движутся вокруг своего центра масс. Я хочу сделать эту анимацию с помощью gnuplot.Как анимировать несколько точек (планет), используя 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... 

ответ

1

Это только проект:

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) 
} 

Сейчас это довольно простой, но может быть настроен, чтобы сделать действительно высокое качество изображений.

+0

Ницца. Также обратите внимание, что если фильм длинный, того, если пользователь хочет просматривать, если может быть лучше использовать что-то более продвинутое, чем анимированный gif. Например, сгенерируйте отдельные кадры с помощью gnuplot, а затем поместите их вместе с внешним приложением (например: http://stackoverflow.com/questions/28671129/gnuplot-and-sierpinks-triangle/28687379#28687379, а затем вместо этого используйте некоторого видео создателя «конвертировать»). – Miguel

Смежные вопросы