Animação de simulação de transporte de caminhão em Python

Neste artigo, compartilharei um exemplo de animação de simulação de eventos discretos em Python. Mais especificamente, uma animação de simulação de transporte de caminhão para uma mina, usando SimPy e DesViz em Python. Este exemplo, e o módulo DesViz, foram desenvolvidos pelo Prof. Paul Corry e sua equipe e estou compartilhando novamente seu exemplo neste post. Usando o DesViz SimPy, os desenvolvedores de modelos podem animar seu modelo de simulação .

Abaixo está uma animação de um modelo de simulação de transporte de caminhão SimPy para operações de mineração.

O exemplo está documentado e disponível no repositório GitHub de Paul Corry: https://github.com/corryp/DesViz

Como o DesViz pode ser usado para animação de simulação em Python?

Citando diretamente da documentação do DesViz:

DesViz é uma coleção de classes e funções Python que facilitam a animação assíncrona para modelos de simulação de eventos discretos ( DES ). Ele é construído sobre o pacote Pyglet, que fornece a funcionalidade gráfica subjacente. DesViz permite que um modelo DES escreva um arquivo csv que é posteriormente interpretado pelo DesViz para configurar e mover sprites que representam objetos de fundo e de primeiro plano na simulação. Cada linha do arquivo csv fornece o tempo de simulação, uma instrução de animação e um conjunto de argumentos relacionados a essa instrução. Estas instruções fornecem um método compacto para especificar a aparência e os movimentos do sprite de maneira útil em um contexto DES .Documentação DesViz, por Paul Corry

Os desenvolvedores do SimPy podem usar o DesViz para animar seu modelo de simulação , em uma abordagem de duas etapas. Primeiro, eles devem usar a biblioteca DesViz para gerar e armazenar dados de animação. A seguir, a animação é usada para renderizar uma animação.

Aqui estão alguns exemplos do que você pode animar com DesViz:

  • movimentos de ponto de pixel a ponto de pixel ou ao longo de caminhos predefinidos, com orientações automáticas de objetos
  • ajustar as orientações dos objetos, ou seja, animar as rotações dos objetos
  • definir relações mestre-escravo entre objetos para fins de animação, por exemplo, caminhão (mestre) e trailer (escravo)
  • barras de progresso, estáticas ou anexadas a outro objeto (ou seja, movendo-se junto com o objeto associado)
  • rotulagem, anotação e imagens de fundo
  • velocidade de animação definida (intervalo de quadros, ou seja, fps – quadros por segundo)

Nos bastidores, DesViz preenche um banco de dados (arquivo csv) com instruções de animação definidas. Estas instruções devem ser implementadas na própria aplicação de simulação. O banco de dados subjacente é preenchido durante a execução da simulação e então usado para renderizar a própria animação. Para isso, DesViz oferece uma gama de classes, métodos e funções.

Conteúdo Relacionado

Se você estiver interessado em aprender mais sobre simulação de eventos discretos e implementação de modelo relacionado em Python, você pode estar interessado nas seguintes postagens do blog:

Se você estiver interessado em aprender mais sobre simulação e seus casos de uso na indústria de mineração, poderá se interessar pelos seguintes artigos:

You May Also Like

Leave a Reply

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.