Нужен пакет Python, подходящий для визуализации моделирования очереди

Я работаю над симуляцией в теории очередей в графическом интерфейсе wxPython. (ссылка на проект.) Какой инструмент подойдет для визуализации симуляций? Визуализация должна состоять из простых объектов, таких как клиенты, серверы, оборудование и население. Все они должны быть представлены простыми прямоугольниками или чем-то в этом роде. Будет несколько очередей, в которых будут ждать клиенты.

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

Что было бы хорошим инструментом для создания такой визуализации? Я мог бы сделать это в родной графике wxPython. Я также мог бы использовать PyGame. Но, может быть, здесь кто-то посоветует что-нибудь получше?


person Ram Rachum    schedule 30.11.2009    source источник


Ответы (5)


Рассматривали ли вы использование NS3? Это может быть немного больше, чем то, что вы ищете, но это стандарт для моделирования очередей с открытым исходным кодом. Вот документация по привязкам Python для NS3.

person Shane    schedule 30.11.2009

Вот список некоторых пакетов 2D-графики, которые вы можете рассмотреть:

http://www.vrplumber.com/py3d.py?category=graphics

person tgray    schedule 30.11.2009

В wxPython есть OGL (Библиотека объектной графики) для таких вещей. Я не использовал его, поэтому я не знаю, насколько он полезен или надежен, но это должно быть проще, чем использование необработанных графических примитивов wx.

Он находится в wx.lib.ogl.

person Dave Kirby    schedule 30.11.2009
comment
Проверил, разработка мертва. - person Ram Rachum; 02.12.2009

Вы можете попробовать использовать одну из привязок Python для GraphViz. Я мог видеть что-то вроде этого http://www.graphviz.org/Gallery/directed/cluster.html используется для иллюстрации имитации очереди.

Я использую Pydot и его gret: http://code.google.com/p/pydot/

Единственная проблема заключается в том, что Pydot записывает только файлы GraphViz, вам придется использовать сам GraphViz или другой рендерер (например, Canviz http://www.ryandesign.com/canviz/), чтобы получить графику.

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

Надеюсь, поможет

person Fabio de Miranda    schedule 30.11.2009

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

person PaulMcG    schedule 30.11.2009