Python Framework для визуализации / анимации частиц в декартовом пространстве - PullRequest
4 голосов
/ 25 ноября 2010

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

Я думал о том, чтобы катиться самостоятельно, используя pyglet, но у меня нет опыта работы с pygletили OpenGL, и мне нужно что-то сделать в ближайшие несколько часов.Существуют ли какие-либо фреймворки или наборы инструментов (в идеале основанные на Python), которые делают что-то подобное из коробки, или, по крайней мере, что-то, что позволяет быстро создавать спрайты / 3d-объекты и анимировать их за несколько временных шагов?1004 * Для первого этапа (срочно) достаточно простой 2D-анимации.Однако я хотел бы иметь возможность расширить его для поддержки 3D и взаимодействия с пользователем (изменение вида, управление анимацией, экспорт анимации в файл и т. Д.).

Обновление

Спасибо за ответыдо сих пор.Я согласен, что «в течение следующих нескольких часов» звучит как большая просьба (отсюда мой поиск каркаса, который может ускорить процесс).

Просто чтобы уточнить, я не собираюсь рендерить сложную сцену,Примерно так:

пример вывода http://oi56.tinypic.com/t645yw.jpg

Это конкретное изображение - скриншот одного кадра для подобного набора данных.

Ответы [ 5 ]

3 голосов
/ 26 ноября 2010

Pyprocessing - это обработка Python обработки библиотеки анимации Java. Среда разработки обработки включает в себя несколько очень хороших примеров реализации системы частиц.

2 голосов
/ 25 ноября 2010

В 2D почему бы вам просто не использовать matplotlib, чтобы делать точечные графики кадров из вашего моделирования.

Например

import numpy as np
import matplotlib.pyplot as plt

# Just some sample data but I'm assuming that you 
# can get your data into vectors like this.
x = np.random.randn(100)
y = np.random.randn(100)

plt.figure()
plt.plot(x,y, '.')
plt.savefig('frame0000.png')

Затем вы можете сделать видео из кадров.

Что касается 3D - вы можете попробовать matplotlib mlab или mplot3D. Из моего опыта mlab немного сложнее начать. Прокомментируйте этот пост, если вам нужна дополнительная помощь по использованию matplotlib.

http://www.scipy.org/Cookbook/Matplotlib/mplot3D http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/mlab.html

2 голосов
/ 25 ноября 2010

Houdini by Side Effects Software - это приложение для 3D-анимации промышленного уровня с отличными привязками Python, выражениями Python и общей поддержкой. Было бы просто импортировать ваши данные, и у Houdini даже есть оболочка Python в приложении для работы.

После того, как вы импортируете его, вы сможете воспользоваться полным набором инструментов для анимации и визуализации, а также превосходным встроенным средством визуализации «Мантра».

Существует бесплатное издание " ученик " с очень небольшими ограничениями и различными уровнями платных лицензий.

1 голос
/ 25 ноября 2010

Мы использовали pyOGRE , которые являются привязками Python к библиотеке OGRE, которая описывает себя как:

Что такое OGRE?OGRE (Object-Oriented Graphics Rendering Engine) - это ориентированный на сцены гибкий 3D-движок, написанный на C ++, который разработан для того, чтобы облегчить и сделать интуитивно понятным для разработчиков создание приложений, использующих аппаратно-ускоренную 3D-графику.Библиотека классов абстрагирует все детали использования базовых системных библиотек, таких как Direct3D и OpenGL, и предоставляет интерфейс, основанный на объектах мира и других интуитивно понятных классах.

1 голос
/ 25 ноября 2010

Посмотрите на PyODE .Это поможет с физикой.Вы сами по себе с графикой.

...