Есть ли способ предварительно визуализировать анимации V Python, чтобы они работали плавнее? - PullRequest
0 голосов
/ 17 января 2020

У меня есть анимация, которая отображает все местоположения около 3000 спутников вокруг Земли, используя sgp4. Местоположения этих 3000 спутников вычисляются каждую секунду, а затем анимируются, каждую секунду долгота и широта на Земле от спутников также рассчитываются с использованием ephem. Я хотел бы нанести на карту эти местоположения вокруг Земли, чтобы за одну секунду реальной жизни вы могли видеть 3000 спутников, перемещающихся в течение 5 минут или около того. Анимация Земли и спутников выполнена с использованием V Python.

Однако этот процесс невероятно медленный. Есть ли способ заставить мой компьютер визуализировать анимацию перед воспроизведением, чтобы я мог воспроизводить анимацию более плавно? Я думал о том, чтобы добавить «ждать клика», а затем сделать скриншот после того, как все отрендерено, но для завершения моей анимации потребуется около 7200 скриншотов. Будет ли это лучшим решением? Если так, есть ли программа, которая делает это для меня?

Спасибо

1 Ответ

0 голосов
/ 23 января 2020

Посмотрите на v python FAQ ответ на вопрос В: Есть ли способ записать графический вывод V Python в виде mov ie?

https://vpython.org/contents/FAQ.html

Чтобы увидеть, как v python выполняет анимацию с 1000 объектами, см. Демонстрационную программу v python RotatingCubes-V Python здесь

https://www.glowscript.org/# / пользователь / GlowScriptDemos / папка / examples / program / RotatingCubes-V Python

В этой программе используется glowscript v python, который компилирует v python в javascript и запускает его на веб-странице. Производительность, которую вы получите, будет зависеть от скорости вашего компьютера. Если вы сделаете копию этой программы и увеличите число кубов с 10x10x10 = 1000 до 14x14x14 = 2744, то вы можете создать бесплатную учетную запись на glowscript и запустить там свою модифицированную программу. Вы также можете попробовать запустить эту демонстрационную программу в текущей среде v python, просто замените первую строку программы на «from v python import *».

John

...