A Atividade relativa a aula 6 solicitava explicações sobre a aplicação dos movimentos retilíneo uniforme (MRU) e o movimento retilíneo uniformemente variado (MRUV) e como os dois movimentos juntos poderia simular o lançamento de uma bola para cima e para frente e a partir de quando ela tocasse no solo quicasse diminuindo gradativamente sua velocidade vertical.
Primeiramente foi necessário separar os tempos dos dois movimentos, fazendo com que quando o valor do tempo do deslocamento do MRUV fosse zero e quando o resultado do movimento MRU, armazenado na variável X fosse maior que o limite da borda inferior da tela (Height, no caso 600 px), ou seja , no momento em qua a bola lançada tocasse pela primeira vez o solo, a velocidade vertical cairia na proporção de 1/2.5 e o tempo voltaria a ser zerado.
No mais o código abaixo exemplifica a aplicação da atividade:
float tInix=0.0;
float tIniy=0.0;
//wgamaa@gmail.com --> bolsista voluntário
float a=-0.1;
float veloVertIni=6;
float veloHoriztIni =1.5;
float x,y;
void setup() {
size (600, 600);
}
void draw() {
y=600-MRUV(veloVertIni,a,tIniy);
x=MRU(veloHoriztIni,tInix);
if (tIniy>0 && y>=height){
veloVertIni=veloVertIni/2.5;
tIniy=0;
}
background(0);
fill(255);
ellipse(x, y-6, 20, 20);
tInix=tInix+1;
tIniy=tIniy+1;
texto();
}
void texto() {
textSize(12);
fill(255);
text("Eixo X: "+ x, 45,50 );
text("Eixo Y: "+ y,45, 70);
text("Tempo: "+ tInix/60.0,45, 90);
}
float MRUV (float v, float a, float t) {
return(v*t+a*t*t/2.0);
}
float MRU (float v, float t) {
return(v*t);
}
Então foi isso. Atividade bastante complicada, mas no final deu tudo certo.
Nenhum comentário:
Postar um comentário
Deixe aqui seu comentário