Simulationsanimation für LKW-Transporte in Python

In diesem Artikel werde ich ein Beispiel für eine Simulation einer diskreten Ereignissimulation in Python vorstellen. Genauer gesagt eine LKW-Transportsimulationsanimation für eine Mine unter Verwendung von SimPy und DesViz in Python. Dieses Beispiel und das DesViz-Modul wurden von Prof. Paul Corry und seinem Team entwickelt und ich teile sein Beispiel in diesem Beitrag erneut. Mit DesViz SimPy können Modellentwickler ihr Simulationsmodell animieren .

Unten finden Sie eine Animation eines SimPy-Lkw-Transportsimulationsmodells für Bergbaubetriebe.

Das Beispiel ist dokumentiert und im GitHub-Repository von Paul Corry verfügbar: https://github.com/corryp/DesViz

Wie kann DesViz für Simulationsanimationen in Python verwendet werden?

Direktes Zitieren aus der DesViz-Dokumentation:

DesViz ist eine Sammlung von Python-Klassen und -Funktionen, die asynchrone Animationen für DES -Modelle (Discrete Event Simulation) ermöglichen. Es basiert auf dem Pyglet-Paket, das die zugrunde liegende Grafikfunktionalität bereitstellt. Mit DesViz kann ein DES- Modell eine CSV-Datei schreiben, die später von DesViz interpretiert wird, um Sprites zu konfigurieren und zu verschieben, die Hintergrund- und Vordergrundobjekte in der Simulation darstellen. Jede Zeile der CSV-Datei gibt die Simulationszeit, eine Animationsanweisung und eine Reihe von Argumenten im Zusammenhang mit dieser Anweisung an. Diese Anweisungen bieten eine kompakte Methode, um das Erscheinungsbild und die Bewegungen von Sprites auf eine Art und Weise festzulegen, die in einem DES- Kontext nützlich ist.DesViz-Dokumentation von Paul Corry

SimPy-Entwickler können DesViz verwenden, um ihr Simulationsmodell in einem zweistufigen Ansatz zu animieren. Zunächst müssen sie die DesViz-Bibliothek verwenden, um Animationsdaten zu generieren und zu speichern. Als nächstes wird die Animation zum Rendern einer Animation verwendet.

Hier sind einige Beispiele dafür, was Sie mit DesViz animieren können:

  • Bewegungen von Pixelpunkt zu Pixelpunkt oder entlang vordefinierter Pfade, mit automatischer Objektausrichtung
  • Anpassen der Objektausrichtung, dh Animieren von Objektdrehungen
  • Definieren Sie Master-Slave-Beziehungen zwischen Objekten für Animationszwecke, z. B. LKW (Master) und Anhänger (Slave).
  • Fortschrittsbalken, entweder statisch oder an ein anderes Objekt angehängt (z. B. zusammen mit dem zugehörigen Objekt bewegen)
  • Beschriftung, Anmerkung und Hintergrundbilder
  • definierte Animationsgeschwindigkeit (Bildintervall, d. h. fps – Bilder pro Sekunde)

Unter der Haube füllt DesViz eine Datenbank (CSV-Datei) mit definierten Animationsanweisungen. Diese Anweisungen müssen in die Simulationsanwendung selbst implementiert werden. Die zugrunde liegende Datenbank wird während der Simulationsausführung gefüllt und dann zum Rendern der Animation selbst verwendet. Zu diesem Zweck stellt DesViz eine Reihe von Klassen, Methoden und Funktionen zur Verfügung.

Verwandte Inhalte

Wenn Sie mehr über die Simulation diskreter Ereignisse und die damit verbundene Modellimplementierung in Python erfahren möchten, könnten die folgenden Blogbeiträge für Sie von Interesse sein:

Wenn Sie mehr über Simulation und ihre Anwendungsfälle in der Bergbauindustrie erfahren möchten, könnten die folgenden Artikel für Sie von Interesse sein:

You May Also Like

Leave a Reply

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.