import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Color;
public class dog7 extends java.applet.Applet{
  Color col1,col2;
  int N,taka,haba,ni,nj;
  int k,i,j,l,co,minj,minj2,minj3;
  int xz,xz2,yz,yz2,label;
  String NS,habaS,takaS;
  double Nd,takad,habad,th;
  Color cl[]=new Color[13];


  public double dou(String dous){
    double dou1;
    dou1 = (Double.valueOf(dous)).doubleValue();
    return dou1;
  }
  public double rand(){
    double rand1;
    rand1=Math.random();
    return rand1;
  }
  public void init(){
    col1=Color.black;
    col2=Color.yellow;
    cl[0]=Color.white;
    cl[1]=Color.cyan;
    cl[2]=Color.green;
    takaS=getParameter("takap");
    habaS=getParameter("habap");
    NS=getParameter("Np");
    habad=dou(habaS);
    takad=dou(takaS);
    Nd=4-50*Math.log(rand());
    haba=(int)habad;
    taka=(int)takad;
    N=(int)Nd;
  }
  double x1;
  double y1;
  int x;
  int y;
  double s;
  String sss;
  public double jou(double a,double b){
    double jou1;
    jou1=Math.pow(a,b);
    return jou1;
  }
  public double arcsinaw(double atasw){
    double artn1saw;
    artn1saw=Math.asin(atasw);
    return artn1saw;
  }
  public double d(double d1,double d2,double d3,double d4){
    double dw;
    dw=jou(jou(d3-d1,2.0)+jou(d4-d2,2.0),0.5);
    return dw;
  }

    public void paint(java.awt.Graphics g){
        g.setColor(col1);
        g.fillRect(1,1,haba,taka);

        double a0;
        double a1;
        double a2;
        double a3;
        double a4;
        double a5;
        double a6;
        double a7;
        double centerx;
        double centery;
        centerx=200.0;
        centery=175.0;
        double theta;
        double rr;
        double pi;
        double r;
        double x;
        double y;
        long colr;
        long colg;
        long colb;
        pi=3.141592653589793;
        r=-3.0+6.0*rand();
        a0=-2.0+4.0*rand();
        a1=-2.0+4.0*rand();
        a2=-2.0+4.0*rand();
        a3=-2.0+4.0*rand();
        a4=-2.0+4.0*rand();
        a5=-2.0+4.0*rand();
        a6=-2.0+4.0*rand();
        a7=-2.0+4.0*rand();
        long li;
        double maxabs;
        maxabs=0.0;
        for(i=0;i<7;i++){
            for(li=0;li<10000;li=li+1){
                theta=2.0*pi*(li+i*10000)/70000;
                x=a7*Math.pow(r,7.0)*Math.cos(7.0*theta)+a6*Math.pow(r,6.0)*Math.cos(6.0*theta)+a5*Math.pow(r,5.0)*Math.cos(5.0*theta)+a4*Math.pow(r,4.0)*Math.cos(4.0*theta)+a3*Math.pow(r,3.0)*Math.cos(3.0*theta)+a2*Math.pow(r,2.0)*Math.cos(2.0*theta)+a1*r*Math.cos(theta)+a0;
                y=a7*Math.pow(r,7.0)*Math.sin(7.0*theta)+a6*Math.pow(r,6.0)*Math.sin(6.0*theta)+a5*Math.pow(r,5.0)*Math.sin(5.0*theta)+a4*Math.pow(r,4.0)*Math.sin(4.0*theta)+a3*Math.pow(r,3.0)*Math.sin(3.0*theta)+a2*Math.pow(r,2.0)*Math.sin(2.0*theta)+a1*r*Math.sin(theta);
                if(Math.abs(x)>maxabs){
                    maxabs=Math.abs(x);
                }
                if(Math.abs(y)>maxabs){
                    maxabs=Math.abs(y);
                }
            }//theta
        }
        rr=165.0/maxabs;
        colr=122;
        colg=122;
        colb=122;
        g.setColor(new Color((int)colr,(int)colg,(int)colb));
        g.drawLine(1,(int)centery,550,(int)centery);
        g.drawLine((int)centerx,1,(int)centerx,400);
        g.drawString("f(x)=a7*x^7+a6*x^6+a5*x^5+a4*x^4+a3*x^3+a2*x^2+a1*x+a0",15,15);
        g.drawString("a7="+a7,15,30);
        g.drawString("a6="+a6,15,45);
        g.drawString("a5="+a5,15,60);
        g.drawString("a4="+a4,15,75);
        g.drawString("a3="+a3,15,90);
        g.drawString("a2="+a2,15,105);
        g.drawString("a1="+a1,15,120);
        g.drawString("a0="+a0,15,135);
        g.drawString("r="+r,15,150);
        for(i=0;i<7;i++){
            for(li=0;li<10000;li=li+1){
                theta=2.0*pi*(li+i*10000)/70000;
                x=a7*Math.pow(r,7.0)*Math.cos(7.0*theta)+a6*Math.pow(r,6.0)*Math.cos(6.0*theta)+a5*Math.pow(r,5.0)*Math.cos(5.0*theta)+a4*Math.pow(r,4.0)*Math.cos(4.0*theta)+a3*Math.pow(r,3.0)*Math.cos(3.0*theta)+a2*Math.pow(r,2.0)*Math.cos(2.0*theta)+a1*r*Math.cos(theta)+a0;
                y=a7*Math.pow(r,7.0)*Math.sin(7.0*theta)+a6*Math.pow(r,6.0)*Math.sin(6.0*theta)+a5*Math.pow(r,5.0)*Math.sin(5.0*theta)+a4*Math.pow(r,4.0)*Math.sin(4.0*theta)+a3*Math.pow(r,3.0)*Math.sin(3.0*theta)+a2*Math.pow(r,2.0)*Math.sin(2.0*theta)+a1*r*Math.sin(theta);
                if(i==0){
                    colr=255;//li/l256p2;
                    colg=(int)(li*256/10000);
                    colb=(int)(li*256/10000);
                }
                if(i==1){
                    colr=(int)(li*256/10000);
                    colg=255;
                    colb=(int)(li*256/10000);
                }
                if(i==2){
                    colr=(int)(li*256/10000);
                    colg=(int)(li*256/10000);
                    colb=255;
                }
                if(i==3){
                    colr=255;
                    colg=(int)(li*256/10000);
                    colb=255;
                }
                if(i==4){
                    colr=255;
                    colg=255;
                    colb=(int)(li*256/10000);
                }
                if(i==5){
                    colr=(int)(li*256/10000);
                    colg=255;
                    colb=255;
                }
                if(i==6){
                    colr=(int)(li*256/10000);
                    colg=(int)(li*256/10000);
                    colb=(int)(li*256/10000);
                }
                g.setColor(new Color((int)colr,(int)colg,(int)colb));
                g.drawOval((int)(centerx+rr*x-0.5),(int)(centery-rr*y-0.5),1,1);
            }//theta
        }
        g.setColor(Color.blue);
        g.drawOval((int)(centerx-rr*r),(int)(centery-rr*r),(int)(2*rr*r),(int)(2*rr*r));
        g.drawString("r",(int)(centerx+rr*r+1),(int)(centery+11));
        g.drawString("0",(int)(centerx-10),(int)(centery+11));
        g.drawString("R",480,(int)(centery+11));
        g.drawString("I",(int)(centerx-10),30);

    }
}