import java.awt.Graphics; import java.applet.Applet; import java.awt.Color; public class bez extends java.applet.Applet{ Color col1,col2,col3; double px,py,bnit; double piaw=3.14159265358979; int q,phi; int Naw; int takaaw,habaaw,orikaeshi; int kaw,iaw,jaw,i,k; String NS,habaS,takaS; double hsum,x,y,al,t; double Nd,takad,habad,xx,yy,lto,th,xmax; public double dou(String dous){ double dou1; dou1 = (Double.valueOf(dous)).doubleValue(); return dou1; } public double randaw(){ double rand1aw; rand1aw=Math.random(); return rand1aw; } public void init(){ col1=Color.black; col2=Color.pink; col3=Color.white; takaS=getParameter("takap"); habaS=getParameter("habap"); NS=getParameter("Np"); habad=dou(habaS); takad=dou(takaS); Nd=dou(NS); if(Nd==20){ Nd=4+46*randaw(); } habaaw=(int)habad; takaaw=(int)takad; Naw=(int)Nd; } double x1aw[]=new double[100]; double y1aw[]=new double[100]; double w1aw[]=new double[100]; double x2aw[]=new double[100]; double y2aw[]=new double[100]; double w2aw[]=new double[100]; int xaw[]=new int[100]; int yaw[]=new int[100]; int waw[]=new int[100]; double saw[]=new double[100]; String sssaw[]=new String[100]; public double jouaw(double aaw,double baw){ double jou1aw; jou1aw=Math.pow(aaw,baw); return jou1aw; } public double arcsinaw(double atasw){ double artn1saw; artn1saw=Math.asin(atasw); return artn1saw; } public double artnaw(double ataw){ double artn1aw; artn1aw=Math.atan(ataw); return artn1aw; } public double sainaw(double saiaw){ double sain1aw; sain1aw=Math.sin(saiaw); return sain1aw; } public double kosaw(double kosainaw){ double kos1aw; kos1aw=Math.cos(kosainaw); return kos1aw; } public double d(double d1,double d2,double d3,double d4){ double dw; dw=jouaw(jouaw(d3-d1,2.0)+jouaw(d4-d2,2.0),0.5); return dw; } void heapaw(double he1aw[],double he2aw[],double he3aw[],int NNaw){ int kkaw,kksaw,iiaw,jjaw,mmaw; double b1aw,b2aw,b3aw,c1aw,c2aw,c3aw; kksaw=(int)(NNaw/2); for(kkaw=kksaw;kkaw>=1;kkaw--){ iiaw=kkaw; b1aw=he1aw[iiaw-1];b2aw=he2aw[iiaw-1];b3aw=he3aw[iiaw-1]; while(2*iiaw<=NNaw){ jjaw=2*iiaw; if(jjaw+1<=NNaw){ if(he1aw[jjaw-1]=1;mmaw--){ c1aw=he1aw[mmaw];c2aw=he2aw[mmaw];c3aw=he3aw[mmaw]; he1aw[mmaw]=he1aw[0];he2aw[mmaw]=he2aw[0];he3aw[mmaw]=he3aw[0]; iiaw=1; while(2*iiaw<=mmaw){ kkaw=2*iiaw; if(kkaw+1<=mmaw){ if(he1aw[kkaw-1]<=he1aw[kkaw]){ kkaw++; } } if(he1aw[kkaw-1]<=c1aw){ break; } he1aw[iiaw-1]=he1aw[kkaw-1];he2aw[iiaw-1]=he2aw[kkaw-1];he3aw[iiaw-1]=he3aw[kkaw-1]; iiaw=kkaw; }//wend he1aw[iiaw-1]=c1aw;he2aw[iiaw-1]=c2aw;he3aw[iiaw-1]=c3aw; }//next mm } public void paint(java.awt.Graphics g){ g.setColor(col1); g.fillRect(1,1,habaaw,takaaw); g.setColor(col2); q=(int)(randaw()*2); for(kaw=0;kaw<=Naw;kaw++){ x1aw[kaw]=randaw()*(habaaw-30)+15; y1aw[kaw]=randaw()*(takaaw-30)+15; xaw[kaw]=(int)x1aw[kaw]; yaw[kaw]=(int)y1aw[kaw]; g.fillOval(xaw[kaw]-5,yaw[kaw]-5,10,10); g.drawString(""+kaw,xaw[kaw]+6,yaw[kaw]); } if(q==1){ x1aw[Naw+1]=x1aw[0]; y1aw[Naw+1]=y1aw[0]; Naw++; } g.setColor(col3); for(t=0.0;t<=1.0;t=t+0.0002){ x=0.0; y=0.0; for(iaw=0;iaw<=Naw;iaw++){ bnit=1.0; for(k=1;k<=iaw;k++){ if(k>0){ bnit=bnit*t*(Naw-k+1)/k; } else{ bnit=bnit*t*Naw; } }//k bnit=bnit*jouaw(1.0-t,Naw-iaw); px=x1aw[iaw]; py=y1aw[iaw]; x=x+bnit*px; y=y+bnit*py; } g.drawLine((int)(x-.5),(int)y,(int)(x+.5),(int)y); g.drawLine((int)x,(int)(y-.5),(int)x,(int)(y+.5)); } g.setColor(col2); if(q==0){ g.drawString("N="+Naw,15,15); } else{ g.drawString("N="+(Naw-1),15,15); } g.drawString("q="+q,15,30); } }