import java.awt.Graphics; import java.applet.Applet; import java.awt.Color; import java.awt.*; public class hikarlcli extends java.applet.Applet{ Point[] p = new Point[100]; int x,y,labe,n; double stex,stey; Color cl[]=new Color[13]; Color col1,col2,col3; int Naw; int takaaw,habaaw; int kaw,iaw,jaw; double alaw,beaw,al2aw,xcaw,ycaw,yyaw,phaw,thaw,minyaw,maxyaw; int rraw,xjaw; double a1raw,a2raw,yraw; double ymraw,x2raw,y2raw,d3aw,d4aw,eps2; int x2rawI,y2rawI,rweaw; int yjawI,minyawI,maxyawI,x10awI,y10awI; double b1yaw,b2yaw,b3yaw,x0aw,x10aw,y10aw; int br2aw,br3aw; 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.white; col3=Color.blue; cl[0]=Color.white; cl[1]=Color.green; cl[2]=Color.pink; takaS=getParameter("takap"); habaS=getParameter("habap"); NS=getParameter("Np"); habad=dou(habaS); takad=dou(takaS); Nd=dou(NS); if(Nd==6){ Naw=4+(int)(3*randaw()); } habaaw=(int)habad; habaaw=300; takaaw=(int)takad; takaaw=250; } //本屋 double x1aw[]=new double[100]; double y1aw[]=new double[100]; double w1aw[]=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]; double r1aw[]=new double[100]; double th1aw[]=new double[100]; int i[]=new int[1000]; int j[]=new int[1000]; int u[]=new int[1000]; int v[]=new int[1000]; public double arccosaw(double ataw){ double artn1aw; artn1aw=Math.acos(ataw); return artn1aw; } public double arcsinaw(double atasw){ double artn1saw; artn1saw=Math.asin(atasw); return artn1saw; } public double jouaw(double aaw,double baw){ double jou1aw; jou1aw=Math.pow(aaw,baw); return jou1aw; } public double dis(double xa1,double ya1,double xa2,double ya2){ double disdis; disdis=jouaw(jouaw(xa1-xa2,2.0)+jouaw(ya1-ya2,2.0),0.5); return disdis; } double delta,rasta,theta,r,delta2,rasta2; double eps,pi; int xI,cou; double ysyoki,yr,yr1,ff,ffbi; double kou1,kou21,kou22,kou3,kou4,kou51,kou52,kou6; double kou1b,kou3b,kou4b,kou6b; int yI; double xsyoki,xr,xr1; int h; double mind,dd; int k,l,t,s,co,coumax; double deltab,rastab,delta2b,rasta2b,thetab,theta2b; double delta3,rasta3; public void paint(java.awt.Graphics g){ pi=3.14159265358979; g.setColor(col1); g.fillRect(1,1,habaaw,takaaw); double cx,cy; Point old,current; Naw=n; cx=habaaw/2; cy=takaaw/2; for(kaw=1;kaw<=Naw;kaw++){ x1aw[kaw-1]=p[kaw-1].x+Math.cos(kaw*1.1)+kaw*0.0001; y1aw[kaw-1]=p[kaw-1].y+Math.sin(kaw*1.1)+kaw*0.001; r1aw[kaw-1]=dis(x1aw[kaw-1],y1aw[kaw-1],cx,cy); th1aw[kaw-1]=arcsinaw((y1aw[kaw-1]-cy)/r1aw[kaw-1])+pi/2; if(x1aw[kaw-1]>cx){ th1aw[kaw-1]=3*pi/2-arcsinaw((y1aw[kaw-1]-cy)/r1aw[kaw-1]); } w1aw[kaw-1]=kaw; xaw[kaw-1]=(int)(x1aw[kaw-1]+0.5); yaw[kaw-1]=(int)(y1aw[kaw-1]+0.5); waw[kaw-1]=(int)(w1aw[kaw-1]+0.5); sssaw[kaw-1]=""+waw[kaw-1]; g.setColor(col3); g.drawOval((int)(cx-r1aw[kaw-1]),(int)(cy-r1aw[kaw-1]),(int)r1aw[kaw-1]*2,(int)r1aw[kaw-1]*2); g.drawLine((int)cx,(int)cy,xaw[kaw-1],yaw[kaw-1]); g.setColor(col2); g.fillOval(xaw[kaw-1]-3,yaw[kaw-1]-3,6,6); } g.drawLine((int)cx-3,(int)cy,(int)cx+3,(int)cy); g.drawLine((int)cx,(int)cy-3,(int)cx,(int)cy+3); if(Naw>1){ eps=0.1; eps2=0.1; coumax=300; for(k=0;keps && coucx){ theta=3*pi/2-arcsinaw((yr-cy)/r); } delta=dis(0,0,0,theta-th1aw[k]); if(2*pi-dis(0,0,0,theta-th1aw[k])=2 && delta=2 && delta2cx){ thetab=-((r-(yr-cy)*(yr-cy)/r)/(r*r))/jouaw(1-jouaw((yr-cy)/r,2),0.5); } deltab=thetab; if(thetar){ kou1b=rastab*delta+rasta*deltab-(yr-cy)/r; } if(delta>=2 && deltacx){ theta2b=-((r-(yr-cy)*(yr-cy)/r)/(r*r))/jouaw(1-jouaw((yr-cy)/r,2),0.5); } delta2b=theta2b; if(thetar){ kou4b=rasta2b*delta2+rasta2*delta2b-(yr-cy)/r; } if(delta2>=2 && delta21.0+eps2 || kou4/kou1>1.0+eps2){ br2aw=100; } if(br2aw==0){ mind=kou1; for(h=0;h=2 && delta3cy){ th1aw[kaw-1]=2*pi-arccosaw((x1aw[kaw-1]-cx)/r1aw[kaw-1]); } } for(k=0;keps && coucy){ theta=2*pi-arccosaw((xr-cx)/r); } delta=dis(0,0,0,theta-th1aw[k]); if(2*pi-dis(0,0,0,theta-th1aw[k])=2 && delta=2 && delta2cy){ thetab=((r-(xr-cx)*(xr-cx)/r)/(r*r))/jouaw(1-jouaw((xr-cx)/r,2),0.5); } deltab=thetab; if(thetar){ kou1b=rastab*delta+rasta*deltab-(xr-cx)/r; } if(delta>=2 && deltacy){ theta2b=((r-(xr-cx)*(xr-cx)/r)/(r*r))/jouaw(1-jouaw((xr-cx)/r,2),0.5); } delta2b=theta2b; if(thetar){ kou4b=rasta2b*delta2+rasta2*delta2b-(xr-cx)/r; } if(delta2>=2 && delta21.0+eps2 || kou4/kou1>1.0+eps2){ br2aw=100; } if(br2aw==0){ mind=kou1; for(h=0;h=2 && delta3