Exercício 9 - Colisões

            Neste exercício será necessário modificar o exemplo abaixo para a velocidade da bola aumentar em 1% a cada colisão e relacionar com o modelo de MRUV anteriormente trabalhado, discutindo a diferença de abordagem na solução.


         A única alteração necessária seria esta:
  
if (bolaX >= width-10) { 
    dX = -(dX+(0.01*dX));
    dY = (dY+(0.01*dY));
  } else if (bolaX<=0) {
    dX = -(dX+(0.01*dX));
    dY = (dY+(0.01*dY));
  }
  if (bolaY >=height-10) {
    dX = (dX+(0.01*dX));
    dY = -(dY+(0.01*dY));
  } else if (bolaY<=0) {
    dX = (dX+(0.01*dX));
    dY = -(dY+(0.01*dY));
  }

        Sempre quando a bola colidir, acrescenta o  dX  com  0.01*dX  e  o dY com 0.01*dY.

Segue abaixo o código completo:

int r=20;
int bolaX =0;
int bolaY = 0;
float dX = 5;
float dY = 5;
int dR= 1;
void setup() {
  size(640, 480);
}


void draw() {
  background(0);
  fill(255);
  r = r+dR;
  println(dX, dY);
  if (r<= 10) {
    dR= -dR;
  } else if (r>=80) {
    dR= -dR;
  }
  ellipse(bolaX, bolaY, r*2, r*2);
  bolaX+= dX;
  bolaY+= dY;
  if (bolaX >= width-10) { 
    dX = -(dX+(0.01*dX));
    dY = (dY+(0.01*dY));
  } else if (bolaX<=0) {
    dX = -(dX+(0.01*dX));
    dY = (dY+(0.01*dY));
  }
  if (bolaY >=height-10) {
    dX = (dX+(0.01*dX));
    dY = -(dY+(0.01*dY));
  } else if (bolaY<=0) {
    dX = (dX+(0.01*dX));
    dY = -(dY+(0.01*dY));
  }
}



Relação com MRU e MRUV

        Claramente nestes exercícios utilizamos MRU e MRUV.  No primeiro exemplo há evidente apenas o MRU, pois a velocidade da bola é constante e não possui aceleração.Já no segundo exemplo, a bola ganha um pouco de "aceleração" ao colidir com a extremidade da tela, assim simulando um movimento de MRUV. 
         Nos exercícios anteriores utilizamos os conceitos de MRU e MRUV explicitamente, seguindo as equações exatamente como na Física. Neste exercício a utilização de MRU E MRUV vem em consequência dos algoritmos que utilizamos para que a bola se movimente.
        Para trabalhar com MRU e MRUV não há a necessidade das formulas de equação e este exercício foi um exemplo disto.



    


    












Comentários

Postagens mais visitadas deste blog

Exercício 6 - Bandeira do Brasil

Exercício 10 - Jogo do Pong

Execício 8 - Sensor de distância