Вращайте анимированное изображение в gnuplot с помощью мыши

Я создал несколько анимированных трехмерных картинок с помощью gnuplot. У меня возникли проблемы с отображением всех распределенных данных в GIF-файлах.

Использование команды "set view" не является оптимальным, поскольку разбивка автоматизирована, и данные варьируются от графика к графику, поэтому, когда одно представление может работать для одного набора данных, оно не будет работать для другого набора данных.

Я думаю, что было бы хорошо позволить пользователю поворачивать ось с помощью его / ее мыши, чтобы увидеть разные углы обзора. Я знаю, что это возможно, например, в терминале x11, но можно ли это сделать с помощью GIF? Возможно, это возможно с помощью терминала canvas и JavaScript.

Другим вариантом может быть автоматическое вращение изображения вокруг оси, чтобы при загрузке оно уже вращалось и продолжало вращаться, когда данные анимированы.

Есть ли способ сделать это в gnuplot?

1 ответ

Решение

Ваш второй вариант возможен. Вы можете установить угол обзора в каждой итерации.

set terminal gif animate delay 5 loop 0 optimize
set output "rot.gif"

unset surface
set pm3d at s

set label "sin(x)" at screen 0.7, 0.9

n = 100
do for [i=1:n] {
   set view 60, i*360/n
   splot sin(x) notitle
}

set output

Заметки:

  • Ключ перемещается от итерации к итерации, поэтому я заменил его фиксированной меткой.
  • i*360/n создает один полный поворот сюжета за одну полную анимацию

вращающийся анимированный GIF

Другие вопросы по тегам