我正在 wxPython GUI 中进行排队理论的模拟。(项目链接。)什么是可视化模拟的好工具?可视化应该由简单的对象组成,例如客户端、服务器、设施和人口。它们都应该用简单的框或类似的东西来表示。将有几个队列供客户端等待。
由于这是一个正在进行的模拟的可视化,对象将在屏幕上移动,如果它们能够从一个地方平滑地移动到另一个地方,而不是突然跳跃,那就太好了。
什么是创建该可视化的好工具?我可以在原生 wxPython 图形中做到这一点。我也可以使用 PyGame。但也许这里有人有更好的推荐?
我正在 wxPython GUI 中进行排队理论的模拟。(项目链接。)什么是可视化模拟的好工具?可视化应该由简单的对象组成,例如客户端、服务器、设施和人口。它们都应该用简单的框或类似的东西来表示。将有几个队列供客户端等待。
由于这是一个正在进行的模拟的可视化,对象将在屏幕上移动,如果它们能够从一个地方平滑地移动到另一个地方,而不是突然跳跃,那就太好了。
什么是创建该可视化的好工具?我可以在原生 wxPython 图形中做到这一点。我也可以使用 PyGame。但也许这里有人有更好的推荐?
您是否考虑过使用NS3?它可能比您正在寻找的要多一点,但它是开源队列模拟的标准。这是有关NS3 的 Python 绑定的文档。
您可以尝试使用 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/)来获取图形。
优点是您只需要定义图形的结构,而无需考虑线路布线、绘图等耗时的细节。
希望能帮助到你
以下是您可能会考虑的一些 2D 图形包的列表:
wxPython 有用于做这类事情的 OGL(对象图形库)。我没有使用它,所以我不知道它有多有用或有多强大,但它应该比使用原始 wx 图形基元更容易。
它在 wx.lib.ogl 中。
我会考虑使用VPython。您还可以使用Processing在 Java 中创建动态图形,并让模拟通过您选择的网络协议发送更新消息。