Нужен пакет Python, подходящий для визуализации моделирования очереди - PullRequest
3 голосов
/ 30 ноября 2009

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

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

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

Ответы [ 5 ]

1 голос
/ 30 ноября 2009

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

0 голосов
/ 01 декабря 2009

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

0 голосов
/ 30 ноября 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/) для получения графики.

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

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

0 голосов
/ 30 ноября 2009

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

Это в wx.lib.ogl.

0 голосов
/ 30 ноября 2009

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

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

...