import java.applet.*;
import java.awt.*;
import java.lang.Math;

public class ZeroCrossing extends Applet {

   int width, height;

   public void init() {
      width = getSize().width;
      height = getSize().height;
      setBackground( Color.black );
   }

   public void paint( Graphics g ) {

      double[] wave1=new double[1000];
      double[] wave2=new double[1000];
      double[] wave3=new double[1000];
      double[] wave4=new double[1000];
      double[] wave5=new double[1000];
      int i;
      for (i = 0; i < 1000; i++ ) {
	  wave1[i]=Math.sin(i*Math.PI/180);
	  wave2[i]=Math.sin(1.5*i*Math.PI/180);
	  wave3[i]=Math.sin(2.5*i*Math.PI/180);
	  wave4[i]=wave1[i]+wave2[i];
	  wave5[i]=wave1[i]+wave3[i];

      }
      for(i=1;i<1000;i++)
	  {
      g.setColor( Color.green );
	      g.drawLine(i-1,(int)(wave1[i-1]*50)+100, i, (int)(wave1[i]*50)+100);
	      g.drawLine(i-1,(int)(wave2[i-1]*50)+250, i, (int)(wave2[i]*50)+250);
	      g.drawLine(i-1,(int)(wave3[i-1]*50)+400, i, (int)(wave3[i]*50)+400);
	      g.drawLine(i-1,(int)(wave4[i-1]*50)+550, i, (int)(wave4[i]*50)+550);
	      g.drawLine(i-1,(int)(wave5[i-1]*50)+700, i, (int)(wave5[i]*50)+700);

	      g.setColor(Color.blue);
	      if(Math.abs(wave1[i])<.01)
		  g.fillOval(i,100,5,5);
	      if(Math.abs(wave2[i])<.01)
		  g.fillOval(i,250,5,5);
	      if(Math.abs(wave3[i])<.01)
		  g.fillOval(i,400,5,5);
	      if(Math.abs(wave4[i])<.01)
		  g.fillOval(i,550,5,5);
	      if(Math.abs(wave5[i])<.01)
		  g.fillOval(i,700,5,5);
	  }
   }
}