Usando as funções Seno e Cosseno foi possível recriar o movimento de um barco no mar. Aplicando-se os conceitos das funções pra mostrar a amplitude e o período da onda do mar, e num retângulo representando o barco em movimento sobre a onda.
Código:
int xspacing = 16;
int w;
float theta = 0.0;
float amplitude = 15.0;
float period = 250.0;
float dx;
float[] yvalues;
int angulo;
void setup() {
size(640, 360);
w = width+16;
dx = (TWO_PI / period) * xspacing;
yvalues = new float[w/xspacing];
}
void draw() {
background(0);
calcWave();
renderWave();
angulo ++;
if (angulo >360) {
angulo =0;
}
float seno = sin(radians(angulo));
float coseno = cos(radians(angulo));
rectMode(CENTER);
fill(100, 255, 200);
rect(width/2, 20*seno+height/2, 50, 20);
}
void calcWave() {
theta += 0.02;
float x = theta;
for (int i = 0; i < yvalues.length; i++) {
yvalues[i] = sin(x)*amplitude;
x+=dx;
}
}
void renderWave() {
noStroke();
fill(255);
for (int x = 0; x < yvalues.length; x++) {
fill(0, 150, 150);
ellipse(x*xspacing, height/2+yvalues[x], 16, 16);
}
}
Resultado:
segunda-feira, 15 de junho de 2015
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário