package polygon;
public class pro {
int px,py,avgx,avgy;
int th,r;
int x1,y1;
int[] rs=new int[36];
public static void main(String[] args) {
pro test=new pro();
}
pro(){
px=200;
py=200;
search(px,py);
System.out.println(px+","+py);
}
void search(int px1,int py1){
int x1,y1,e;
int mode;
x1=0;
y1=0;
mode=0;
px=px1;
py=py1;
while(mode<50){
polygon(px,py);
px=avgx;
py=avgy;
e=(px-x1)*(px-x1)+(py-y1)*(py-y1);
if(e<10)mode=100;
x1=px;
y1=py;
}
}
void polygon(int px2,int py2){
int h;
for(th=0;th<36;th++){
rs[th]=0;
for(r=0;r<500;r++){
circle(px2,py2,r,th);
h=0;
if(x1<500)h=h+1;
if(y1<500)h=h+1;
if(x1>100)h=h+1;
if(y1>0)h=h+1;
if(h==4)rs[th]=r;
}
}
avgx=0;
avgy=0;
for(th=0;th<36;th++){
circle(px2,py2,rs[th],th);
avgx=x1+avgx;
avgy=y1+avgy;
}
avgx=avgx/36;
avgy=avgy/36;
}
void circle(int px,int py,int r,int th){
x1=px+(int)(r*Math.cos(th*Math.PI/18));
y1=py+(int)(r*Math.sin(th*Math.PI/18));
}
}
最終更新:2014年04月24日 20:01