我正在wxPython GUI中进行排队论的模拟。 (Project link。)什么是可视化模拟的好工具?可视化应由简单对象组成,例如客户端,服务器,设施和人口。它们都应该用简单的盒子或类似的东西来代表。将有几个客户端等待的队列。
由于这是进行模拟的可视化,因此对象将在屏幕上移动,如果它们可以从一个地方平滑移动到另一个地方,并且不会突然跳跃,那将是很好的。
创建可视化的好工具是什么?我可以在原生的wxPython图形中做到这一点。我也可以使用PyGame。但也许有人在这里推荐一些更好的东西?
答案 0 :(得分:1)
您考虑过using NS3了吗?它可能比您正在寻找的更多,但它是开源队列模拟的标准。这是关于Python bindings for NS3的文档。
答案 1 :(得分:0)
以下是您可能会考虑的一些2D图形包的列表:
答案 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中创建动态图形,并让模拟通过您选择的网络协议发送更新消息。