Python 中的卡车运输模拟动画

在本文中,我将分享一个 Python 中的离散事件模拟动画示例。更具体地说,使用 Python 中的 SimPy 和 DesViz 制作矿山的卡车运输模拟动画。这个示例和 DesViz 模块是由Paul Corry 教授和他的团队开发的,我将在这篇文章中重新分享他的示例。使用 DesViz Si​​mPy 模型开发人员可以为其仿真模型制作动画。

下面是采矿作业SimPy 卡车运输模拟模型的动画。

该示例已在 Paul Corry 的 GitHub 存储库中记录并可用: https: //github.com/corryp/DesViz

如何在Python中使用DesViz进行模拟动画?

直接引用 DesViz 文档:

DesViz 是 Python 类和函数的集合,可促进离散事件模拟 ( DES ) 模型的异步动画。它构建在 Pyglet 包之上,提供底层图形功能。DesViz 允许DES模型写入 csv 文件,随后由 DesViz 解释该文件以配置和移动代表模拟中背景和前景对象的精灵。csv 文件的每一行都给出了模拟时间、动画指令以及与该指令相关的参数集。这些指令提供了一种紧凑的方法,以在DES上下文中有用的方式指定精灵外观和运动。DesViz 文档,作者:Paul Corry

SimPy 开发人员可以使用 DesViz通过两步方法为他们的仿真模型制作动画。首先,他们必须使用 DesViz 库来生成和存储动画数据。接下来,使用动画来渲染动画。

以下是一些可以使用 DesViz 制作动画的示例:

  • 从像素点到像素点或沿着预定义路径的移动,具有自动对象方向
  • 调整对象方向,即动画对象旋转
  • 定义用于动画目的的对象之间的主从关系,例如卡车(主)和拖车(从)
  • 进度条,可以是静态的,也可以附加到另一个对象(即与关联的对象一起移动)
  • 标签、注释和背景图像
  • 定义的动画速度(帧间隔,即 fps – 每秒帧数)

在底层,DesViz 使用定义的动画指令填充数据库(csv 文件)。这些指令必须实施到模拟应用程序本身中。底层数据库在模拟执行期间填充,然后用于渲染动画本身。为此,DesViz 提供了一系列类、方法和函数。

相关内容

如果您有兴趣了解有关 Python 中的离散事件模拟和相关模型实现的更多信息,您可能会对以下博客文章感兴趣:

如果您有兴趣了解有关模拟及其在采矿业中的用例的更多信息,您可能会对以下文章感兴趣:

You May Also Like

Leave a Reply

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据