A ideia era simular o lançamento de um objeto implantando as fórmulas de MRU e MRUV.
O objeto deveria ter a trajetória de parábola e no meu decidi traçar 1/4 de círculo ou elipse.
Segue o código bonitinho:
//definição das variáveis
float t = 0; //tempo
float dx; //distancia horizontal
float dy; //distancia vertical
float a = -5; //aceleracao
int v0 = 60; //velocidade
void setup()
{
frameRate(60);
size(600,600);
noStroke();
}
void draw()
{
background(0);
// um jeito menos penoso de desenhar a tal da grade
drawGrade();
fill(255);
//exibindo as coordenadas na tela
text ("Tempo: " + t + "s", 20, 20);
text ("Distancia: " + dx, 20, 60);
text ("Velocidade: " + (v0 + a*t), 20, 40);
lancamentoBalistico();
t = t + 0.0166666666666667;
}
// desenhando a grade
void drawGrade()
{
for(int i=0; i<(width/50); i++)
{
stroke(100, 100, 100);
line(i * 50, 0, i * 50, width);
line(0, i * 50, height, i * 50);
}
//Fórmula do Movimento Retilíneo Uniforme da bolinha
void moveBolaMRU()
{
dx = v0 * t;
ellipse(dx, 150, 20, 20);
}
//Fórmula do Movimento Retilíneo Uniforme Variado da bolinha
void moveBolaMRUV()
{
dx = v0*t + a*(pow(t,2)/2);
noStroke();
fill(124,252,0);
ellipse(300, height - dx, 20, 20);
}
//lançando a bolinha
void lancamentoBalistico()
{
dx = v0 * t;
dy = v0*t + a*(pow(t,2)/2);
float lanc = dx + dy;
ellipse(dx, 600 - dy, 20, 20);
}
}

Nenhum comentário:
Postar um comentário