import java.applet.*; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.text.*; import java.util.*; import java.util.zip.*; import netscape.javascript.*; import javax.comm.*; import javax.sound.midi.*; import javax.sound.midi.spi.*; import javax.sound.sampled.*; import javax.sound.sampled.spi.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.sax.*; import javax.xml.transform.stream.*; import org.xml.sax.*; import org.xml.sax.ext.*; import org.xml.sax.helpers.*; public class sine2d extends BApplet {//sine 2d

float[] pixY;
int points = 360;
float inc, inc2;

void setup(){
  size(400, 400);
  stroke(0xffffffff);
  pixY = new float[points];
}

void loop(){
  background(0xff000000);
  for (int i=0; i < points; i++){
     pixY[i] = sin(inc+i/(float)((mouseX-(width/2)))*8)*30;
     pixY[i] += cos(inc2+i/(float)((mouseY-(height/2)))*8)*25;
     pixY[i] += cos(inc2+i/(float)((mouseY+mouseX))*8)*20;
     //pixY[i] += tan(inc2+i/10.0);
  }
  drawPoints();
  inc += .05f;
  inc2 += .03f;
}
void drawPoints(){
//translate(20, 200);
   for (int i=0; i < points; i++){
     point(i+20, pixY[i]+200);
   }
}
}