import java.awt.Graphics; import java.applet.Applet; import java.awt.Color; public class catrspl extends java.applet.Applet{ Color col1,col2,col3,col4; double px,py,nt,ti; double piaw=3.14159265358979; int q,phi,a; int Naw; int takaaw,habaaw,orikaeshi,Naw2; int kaw,iaw,jaw,i; String NS,habaS,takaS; double Nd,takad,habad; 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.green; col3=Color.white; col4=Color.pink; takaS=getParameter("takap"); habaS=getParameter("habap"); habad=dou(habaS); takad=dou(takaS); habaaw=(int)habad; takaaw=(int)takad; } double x1aw[]=new double[150]; double y1aw[]=new double[150]; double bm1x[]=new double[150]; double bm1y[]=new double[150]; double bp1x[]=new double[150]; double bp1y[]=new double[150]; double w1aw[]=new double[150]; double x2aw[]=new double[150]; double y2aw[]=new double[150]; double w2aw[]=new double[150]; int xaw[]=new int[150]; int yaw[]=new int[150]; int waw[]=new int[150]; double saw[]=new double[150]; String sssaw[]=new String[150]; 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; } public double nqt(int qq,double tt){ double re,re1,re2,re3; if(qq==1){ re=0.0; if(tt>-1.0 && tt<=0.0){ re=tt+1.0; } if(tt>0.0 && tt<1.0){ re=-tt+1.0; } }//qq==1 else{ re=0.0; if(tt>-(qq+1.0)/2.0 && tt<(qq+1.0)/2.0){ re1=1.0/qq; re2=(tt+(qq+1.0)/2.0)*nqt(qq-1,tt+0.5); re3=((qq+1.0)/2.0-tt)*nqt(qq-1,tt-0.5); re=re1*(re2+re3); } } return re; } 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){ double kat,kat2,sep,sep2,qx,qy,vipx,vipy,vimx,vimy; double x,y,t; g.setColor(col1); g.fillRect(1,1,habaaw,takaaw); Naw=(int)(4+26*randaw()); a=(int)(randaw()*2); q=3;//(int)(randaw()*7)+1; g.setColor(col2); for(kaw=0;kawx1aw[kaw+1] && x1aw[kaw+1]>x1aw[kaw-1]){ vipx=-vipx; vipy=-vipy; } if(qxx1aw[kaw-1] && x1aw[kaw-1]>x1aw[kaw+1]){ vimx=-vimx; vimy=-vimy; } bm1x[kaw]=x1aw[kaw]-vimx; bm1y[kaw]=y1aw[kaw]-vimy; g.fillOval((int)bm1x[kaw]-2,(int)bm1y[kaw]-2,4,4); bp1x[kaw]=x1aw[kaw]+vipx; bp1y[kaw]=y1aw[kaw]+vipy; g.fillOval((int)bp1x[kaw]-2,(int)bp1y[kaw]-2,4,4); }//kaw Naw2=Naw; Naw=0; for(kaw=0;kawNaw){ px=x1aw[Naw-1]; py=y1aw[Naw-1]; } if(kaw>0 && kaw<=Naw){ px=x1aw[kaw-1]; py=y1aw[kaw-1]; } x=x+nqt(q,t-kaw)*px; y=y+nqt(q,t-kaw)*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(a==0){ g.drawString("N="+Naw2,15,15); } else{ g.drawString("N="+(Naw2-1),15,15); } g.drawString("q="+q,15,30); g.drawString("a="+a,15,45); } }