3

Je travaille sur une simulation dans Queuing Theory, au sein d'une interface graphique wxPython. (Project link.) Quel serait un bon outil pour visualiser les simulations? La visualisation doit être composée d'objets simples, tels que des clients, des serveurs, une installation et une population. Ils devraient tous être représentés par de simples boîtes ou quelque chose comme ça. Il y aura plusieurs files d'attente dans lesquelles les clients vont attendre. Comme il s'agit d'une visualisation d'une simulation progressive, les objets se déplaceront autour de l'écran, et ce serait bien s'ils pouvaient se déplacer facilement d'un endroit à un autre, et ne pas sauter brusquement.Besoin d'un package Python adapté à la visualisation des simulations de file d'attente

Quel serait un bon outil pour créer cette visualisation? Je pourrais le faire dans les graphismes wxPython natifs. Je pourrais aussi utiliser PyGame. Mais peut-être que quelqu'un ici a quelque chose de mieux à recommander?

Répondre

0

wxPython a OGL (Object Graphics Library) pour faire ce genre de chose. Je ne l'ai pas utilisé donc je ne sais pas à quel point c'est utile ou robuste, mais cela devrait être plus facile que d'utiliser des primitives graphiques raw wx.

Il est dans wx.lib.ogl.

+0

Vérifié, le développement est mort. –

1

Avez-vous considéré using NS3? C'est peut-être un peu plus que ce que vous cherchez, mais c'est la norme pour les simulations de file d'attente open source. Voici la documentation sur Python bindings for NS3.

0

Vous pourriez essayer d'utiliser l'une des liaisons Python pour GraphViz. Je pourrais voir quelque chose comme ceci http://www.graphviz.org/Gallery/directed/cluster.html étant utilisé pour illustrer une simulation de file d'attente.

J'utilise Pydot et son Gret: http://code.google.com/p/pydot/

Le seul problème est que Pydot écrit que les fichiers GraphViz, vous devez utiliser GraphViz lui-même ou un autre moteur de rendu (comme Canviz http://www.ryandesign.com/canviz/) pour obtenir les graphiques.

L'avantage est que vous avez juste à définir la structure du graphique et oublier chronophages des détails tels que le routage de ligne, dessin, etc.

Hope it helps

0

J'envisageraient d'utiliser VPython . Vous pouvez également créer un graphique dynamique en Java à l'aide de Processing et demander à la simulation d'envoyer des messages de mise à jour via le protocole réseau de votre choix.