Как я могу анимировать данные координат в gnuplot? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть 4 набора координатных данных (2D, скажем, он представляет квадрат в разных позициях). Как я могу анимировать их позиции в gnuplot (пожалуйста, порекомендуйте, если другим программам это проще сделать), чтобы они выглядели так, как будто они вращаются против часовой стрелки?

Позиция 1:

1 1 3 1 3 3 1 3

Позиция 2:

-1 1 -3 1 -3 3 -1 3

Позиция 3:

-1 -1 -3 -1 -3 -3 -1 -3

Позиция 4:

1 -1 3 -1 3 -3 1 -3

1 Ответ

2 голосов
/ 20 февраля 2020

Вы не пишете, хотите ли вы заполненный квадрат или линии или анимацию gif или что-то еще. Вы можете начать с чего-то вроде этого. Убедитесь, что данные разделены двумя пустыми строками, так что gnuplot распознает блоки, к которым вы можете обратиться через index i. Также проверьте help gif.

Код:

### animation of square
reset session
set size square 

$Data <<EOD
# Position 1:
1 1
3 1
3 3
1 3


# Position 2:
-1 1
-3 1
-3 3
-1 3


# Position 3:
-1 -1
-3 -1
-3 -3
-1 -3


# Position 4:
1 -1
3 -1
3 -3
1 -3
EOD

set xrange [-4:4]
set yrange [-4:4]

set term gif animate delay 100 optimize
set output "tbAnimationSquare.gif"
do for [i=0:3] {
    plot $Data u 1:2 index i w filledcurves lc rgb "red" not
}
set output
### end of code

Результат:

enter image description here

...