Как программно создать картинку с анимированными аспектами

StackOverflow https://stackoverflow.com/questions/267660

Вопрос

Предыстория

Клиент попросил меня создать картину мира с анимированными стрелками / лучами, которые идут из одной части света в другую.

Лучи будут рандомизированы, будут представлять транзакцию, будут исчезать после того, как они произойдут, и будут увеличиваться по частоте с течением времени.Лучи будут начинаться на границе одной страны и заканчиваться на границе другой.По мере выполнения каждой анимированной транзакции в нижней части изображения будет отображаться постоянно обновляемая сумма сумм всех транзакций.Суммы отдельных транзакций будут рандомизированы.На изображении также будет показан год, который будет увеличиваться каждые n секунд.

Рандомизация, суммирование и увеличение для меня не проблема, но я в растерянности относительно того, как подойти к анимации стрелок / лучей.

Мой вопрос в том, каков наилучший способ сделать это?Какие фреймворки / библиотеки лучше всего подходят для этой работы?

Я лучше всего владею python, поэтому предложения на python для меня наиболее просты, но я открыт для любого элегантного способа сделать это.Клиент представит это в виде слайда в презентации на компьютере с Windows.

Это было полезно?

Решение

Если вы любитель приключений, используйте OpenGL :)

Вы можете нарисовать кривые Безье в 3d-пространстве поверх текстурированной плоскости (карта земли), вы можете указать для них толщину и вы можете нарисовать точку (маленький конус) в конце.Это просто и выглядит красиво, проблема в том, чтобы изучить основы OpenGL, если вы им раньше не пользовались, но это было бы весело и, вероятно, полезно, если вы увлекаетесь программированием графики.

Вы можете использовать OpenGL из python либо с пиопенгль или пиглет.

Если вы создадите анимацию таким образом, вы можете записать ее в avi-файл (используя камтазия или что-то подобное), которые можно поместить на слайд презентации.

Другие советы

Клиент представит это в виде слайда в презентации на компьютере с Windows

Я думаю, что это ключ к вашему ответу.Прежде чем перейти к 3d-реализации и написать весь код в мире для создания этой функции, вам нужно взглянуть на презентационное программное обеспечение.Скорее всего, ваши варианты будут сводиться к двум вещам:

  1. Анимированный Gif-файл
  2. Пользовательские Сценарии презентаций

Очевидно, что анимированный gif-файл не идеален из-за того, что он повторяется при завершении рендеринга, и чтобы он длился долго, получился бы большой gif.

Пользовательские сценарии презентаций, вероятно, были бы другим способом, позволяющим ему представить это в презентации, не запуская никаких побочных программ и не делая ничего странного.Я не уверен, какое презентационное приложение является целевым, но это может быть ценной информацией.

Похоже, он более нетехничен, и просить о чем-то, чего он не осознает, будет сложно.Я думаю, вам следует предложить несколько вариантов, объяснить трудности в их реализации и предложить другое решение, которое подпадает под категорию "за свои деньги".

Это во многом зависит от усилий, которые вы хотите затратить на это, но в общих чертах это простой способ.Можно было бы загрузить изображение стрелки и использовать библиотеку рисования для раскрашивания и поворота ее в нужном направлении (или нарисовать ее с помощью фигур / кривых).

Наконец, чтобы действительно анимировать его, выполните интерполяцию между координатами на основе времени.

Если это просто для презентации, я бы использовал Macromedia Flash или аналогичную анимационную программу.(сделал бы то же самое, что и выше, но вам не нужно ничего программировать)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top