domingo, 15 de abril de 2018

Aula 6 - Compondo os movimentos de MRU e MRUV

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