Aula 06 Processing - Lançamento Balistico


                                                                      TAREFA   
A tarefa dessa aula foi utilizar a função text, para incluir os valores das variáveis utilizadas na própria aplicação do lançamento balístico. Como está representado no Gif abaixo.



Procedimento e código


Declaração de variaveis

t= Tempo.
d= Distancia no eixo X.
y= Altura alcançada.
A= Aceleração.
V= velocidade.

Primeiramente defini o espaço de tela para 600x600 px, que podia ser de outro tamanho, Como se trata de um lançamento balistico, a distancia percorrida pela bola pode ser maior ou menor de acordo com os parâmetros definidos. 

O frame Rate foi diminuído para para 1 para que víssemos o movimento com posições precisas. Como optei por mostrar os eixos X e Y pelos quais a bolinha passa, preferi não criar uma animação fluida mostrando os dados percorrendo junto em tempo real para que os valores não cobrissem uns aos outros durante o desenho. Para essa melhor visualização usei também a função mostraMundo que dividiu a tela com linhas verticais e horizontais com blocos de 50x50 px.

Para gerar o lançamento duas funções foram utilizadas. Com a função MRU calculamos simplesmente o percorrer da bolinha no eixo X. Usando variáveis locais teríamos a distancia percorrida pela bola de acordo com a velocidade e tempo determinados. Na funçao MRUV temos um lançamento vertical onde 'a" se torna a aceleração da gravidade e 'd' retorna a distancia vertical percorrida.






Criando os textos:







Foi criada uma função TEXTO, nela temos todos os textos que apareceram na tela. Para que as palavras ficassem bem visíveis e pudessem serem atualizadas em tempo real seria necessário ficar atualizando o background, mas fazendo isso perderíamos informações do lançamento com as posição precisas marcadas na grade. Pensando nisso criei um retângulo 580x10 px e o colori de azul. As letras receberam  o tamanho 12 e a cor branca. Sendo assim as letras ficariam bem destacadas e de fácil leitura.

Como está bem destacado como comentários no código temos a descrição do que cada texto estará imprimindo exatamente. Uma linha com o texto literalmente e outra com os respectivos valores que cada um deles vai assumir. 


Desenho na tela:

Dentro do Draw() setamos qual vai ser a velocidade e a aceleração da gravidade escolhida. Durante a digitação ouve um erro e os valores foram inseridos duas vezes. Como são valores iguais não causaram problemas na hora execução. De qualquer forma consideremos os primeiros valores. já que são eles que seram lidos pelas funçoes MRU e MRUV. Vale lembrar que A recebe um valor negativo já que se trata da aceleração da gravidade, como a bolinha é jogada para cima a aceleração ao invés de impulsiona-la mais, fará com que ela perca velocidade quando atingir uma altura especifica e caia até tocar o "chão".


Criei um sistema que fizesse a leitura das funções e dos textos enquanto o eixo Y da bolinha fosse maior que zero e não ultrapassasse a distancia da tela no eixo X. Fazendo isso evitei que as funçoes continuassem funcionando, a bolinha sairia da tela e os valores mostrados na tela continuariam sendo atualizados. 


o 'y' recebe a posição vertical encontrada na função MRUV e o 'd' a distancia do eixo X, dessa forma fica mais facil definir como a elipse receberá as novas posições. o tempo incrementa em 1 a cada loop. Como o frame rate foi setado para 1, o tempo funciona como segundos.


Comentários