terça-feira, 3 de maio de 2016

Aula 6 - Movimento Uniformemente Variado




float tAtual = 0;
float vAtual = 100;
float aAtual = -9.80665;
float dAtualX;
float dAtualY;
float angulo = radians(75);

void setup(){
  size(600,600);
  frameRate(60);
  colorMode(HSB,2);
  background(2);
  mostraMundo();
}

void draw(){
  background(2);
  mostraMundo();
  noStroke();
  fill(sin(tAtual/60)+1,2,2);
  dAtualX = MRU(vAtual*cos(angulo),tAtual/60);
  dAtualY = MRUV(vAtual*sin(angulo),aAtual,tAtual/60);
  //println(tAtual,dAtualX,height-dAtualY);
  ellipse(dAtualX,height-dAtualY,10,10);
  fill(0);
  text("Velocidade "+vAtual,10,10);
  text("Angulo "+angulo,10,20);
  text("Posição "+int(dAtualX)+", "+int(dAtualY),10,30);
  tAtual++;
  if (dAtualY < 0){
    noLoop();
  }
}

void mostraMundo(){
  stroke(2,2,2,0.5);
  for(float x = 0; x < 60; x++) {
    line(x * 10, 0, x * 10, 600);
    line(0, x * 10, 600, x * 10);
  }
  stroke(0);
  for(float x = 0; x < 12; x++) {
    line(x * 50, 0, x * 50, 600);
    line(0, x * 50, 600, x * 50);
  }
}

float MRU(float v, float t){
  float d;
  d = v * t;
  return(d);
}

float MRUV(float v, float a, float t){
  float d;
  d = v * t + a * t * t / 2;
  return d;
}

Nenhum comentário:

Postar um comentário

Pode falar, eu não mordo... Pelo menos não através da internet