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 abstractscape3_int extends BApplet {//-abstractscape3_int-
// interactive version of abstactscape3
// built with processing 0.67/0.68
// by Alessandro Capozzo - GHOSTAGENCY -
// winter 03-04
float noiseScale=0.012f;
float gg=1;
int limit;
int ytarget,ydif,yspeed;
int xtarget,xdif,xspeed;
float ydelay=.8f;
int newy=1;
int newx=1;
float coefW;
void setup(){
  size(600,200);
  coefW=width*.5f;
  limit=width+180;

}
void loop() {
  background(220);
  ydif=mouseY-newy;
  yspeed=(int)(ydif*ydelay);
  newy+=yspeed*.2f;
  xdif=mouseX-newx;
  xspeed=(int)(xdif*ydelay);
  newx+=xspeed;
  gg+=(newx-(coefW))*.01f;
  for(int x=0; x<(limit); x++) {
    float noiseVal = noise((gg+x)*noiseScale,newy*noiseScale);
    int c=color(noiseVal*255,noiseVal*230,noiseVal*210,20);
    stroke(c);
    beginShape(LINE_STRIP);
    bezierVertex(x, height*noiseVal);
    bezierVertex(.8f*x+noiseVal, 200+noiseVal*1.2f);
    bezierVertex(.6f*x-noiseVal, 200+noiseVal*1.4f);
    bezierVertex(x,height*noiseVal);
    endShape();
    int d=color(noiseVal*220,noiseVal*230,noiseVal*210,20);
    stroke(d);
    beginShape(LINE_STRIP);
    bezierVertex(x,height*noiseVal);
    bezierVertex(.8f*x-noiseVal, noiseVal*1.2f);
    bezierVertex(.9f*x+noiseVal, noiseVal*1.4f);
    bezierVertex(x,height*noiseVal);
    endShape();
  }
}
}