Tarefa 3 - Aula 4
- Ulisses Silva
- 20 de ago. de 2018
- 2 min de leitura
Atualizado: 14 de set. de 2018
Programa de simulação do Movimento Retilíneo Uniforme (MRU) rodando a 60 fps e mantendo o tempo real.

Primeiramente estabelecemos que 1 pixel será igual a 1 metro no nosso programa. Depois, criamos uma função no Processing que recebe duas variáveis do tipo "float" e retorna um valor do tipo "float" que é a multiplicação das duas variáveis recebidas. O retorno será o nosso espaço percorrido (s), e as variáveis recebidas são o tempo (t) e a velocidade (v). Temos assim uma função que calcula o MRU dada uma determinada velocidade e tempo.

Em seguida criamos um procedimento que utiliza imagens para desenhar uma nave espacial, que será o nosso objeto em MRU.
Outro procedimento também foi criado para simular uma grade na tela para melhorar a visualização do nosso objeto no espaço.
A imagem ao lado mostra o código das funções/procedimentos.
O programa do Processing roda a 60 quadros por segundo (fps = frame per seconds), ou seja, o procedimento dele de "void draw" roda 60 vezes à cada segundo.
Como a movimentação da nave está baseada em metros por segundos e o intuito é mostrar a movimentação da mesma como se estivesse voando suavemente, precisamos ajustar o incremento do tempo da nave para condizer com o tempo real do observador. Então, se a cada 1 segundo no mundo real equivale a 60 quadros no Processing, temos que incrementar o tempo da nave de acordo com isso, precisamos obter assim o valor da divisão de 1 por 60.
O valor obtido é de "0.0166666666666667", portanto esse é o incremento a ser usado na nave para que ela voe no mesmo tempo do tempo real. Abaixo segue o exemplo da aplicação.

Link da pasta do código em Processing.
Link do código somente em texto.
As imagens usadas no código foram retiradas da internet. No entanto precisei recortar a nave e editar para criar duas imagens para dar ilusão de animação no fogo de propulsão da nave. A imagem do espaço sideral também foi editada para ficar com grades, pois fazendo a grade através de um procedimento que a desenhava no Processing fazia com que o desempenho ficasse muito lento. Abaixo seguem as imagens utilizadas.
コメント