需要一个适合可视化队列模拟的Python包

时间:2009-11-30 16:43:58

标签: python wxpython visualization simulation scientific-computing

我正在wxPython GUI中进行排队论的模拟。 (Project link。)什么是可视化模拟的好工具?可视化应由简单对象组成,例如客户端,服务器,设施和人口。它们都应该用简单的盒子或类似的东西来代表。将有几个客户端等待的队列。

由于这是进行模拟的可视化,因此对象将在屏幕上移动,如果它们可以从一个地方平滑移动到另一个地方,并且不会突然跳跃,那将是很好的。

创建可视化的好工具是什么?我可以在原生的wxPython图形中做到这一点。我也可以使用PyGame。但也许有人在这里推荐一些更好的东西?

5 个答案:

答案 0 :(得分:1)

您考虑过using NS3了吗?它可能比您正在寻找的更多,但它是开源队列模拟的标准。这是关于Python bindings for NS3的文档。

答案 1 :(得分:0)

以下是您可能会考虑的一些2D图形包的列表:

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

答案 2 :(得分:0)

wxPython有OGL(对象图形库)来做这种事情。我没有使用它,所以我不知道它有多么有用或强大,但它应该比使用原始wx图形基元更容易。

位于wx.lib.ogl。

答案 3 :(得分:0)

您可以尝试使用GraphViz的Python绑定之一。我可以看到这样的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/)来获取图形。

优势在于您只需定义图表的结构并忘记耗时的细节,例如线路布线,绘图等。

希望有所帮助

答案 4 :(得分:0)

我会考虑使用VPython。您还可以使用Processing在Java中创建动态图形,并让模拟通过您选择的网络协议发送更新消息。