//created=18 Oct 06
//description=Mesh plane deformed by sine waves
//title=Sine Waves
//publish=true
 
import SGCamera.*;
 
SGCamera cam;
 
int gres = 40;
int sc = 20;
 
double [] heights = new double [gres*gres];
 
int time =0;
 
void setup()
{
size(550, 550,P3D);
rectMode(CENTER);
cam = new SGCamera(this,800,-100,800,gres*sc/2,0,gres*sc/2);
cam.setMouseMode(LEFT,SGCamera.ORBIT);
cam.setMouseMode(RIGHT,SGCamera.ZOOM);
for (int i= 0; i < gres*gres; i++){
heights[i] = 0;
}
 
}
 
void draw()
{
background(255);
time++;
cam.feed();
 
fill(50,150,50,100);
stroke(0,0,0,100);
 
 
 
for (int j = 0; j < gres; j ++){
beginShape(QUAD_STRIP);
for (int i =0; i < gres; i++){
vertex(sc*i, 10*sin(i + time/10.0) + 10*sin(j + time/10.0) , sc*j);
vertex(sc*i, 10*sin(i + time/10.0) + 10*sin(j+1 + time/10.0), sc*(j+1));
}
endShape();
}
}