import java.awt.*;
import java.awt.event.*;
class game1110 extends Frame{
int s,m;
double[] data=new double[201];
double[] gdata=new double[101];
double[] alpha=new double[101];
double delta;
double x;
int num,qx;
public static void main(String args[]){
game1110 f=new game1110();
f.setTitle("game1110");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}
game1110(){
num=100;
for (s=0;s<num;s++){
data[s]=4*s+50;
data[2*num-s-1]=data[s];
}
for (qx=0;qx<101;qx++){
alpha[qx]=seekalpha(qx,num,data);
}
for (s=0;s<num;s++){
gdata[s]=seekfou(alpha,num,s);
}
addWindowListener(new stopwin());
}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we){System.exit(0);}
}
public static double seekfou(double[] alpha,int num,double x){
double z;
double x1;
int qx;
double delta;
delta=(double)Math.PI/num;
x1=x*delta;
z=alpha[0]/2;
for (qx=1;qx<100;qx++){
z=z+alpha[qx]*Math.cos(qx*x1);
}
return z;
}
public static double seekalpha(int qx,int num,double[] data){
int s;
double x1,y1,z;
double delta;
delta=(double)Math.PI/num;
z=0;
for (s=0;s<2*num;s++){
x1=s*delta;
y1=data[s]*Math.cos(qx*x1);
z=z+delta*y1;
}
z=z/Math.PI;
return z;
}
public void paint(Graphics g){
int x1,x2;
g.drawLine(100,600,600,600);
g.drawLine(100,600,100,100);
g.setColor(Color.blue);
for (s=0;s<100;s++){
x1=(int)gdata[s];
x2=(int)gdata[s+1];
g.drawLine(100+5*s,600-x1,105+5*s,600-x2);
}
g.setColor(Color.red);
for (s=0;s<100;s++){
x1=(int)data[s];
x2=(int)data[s+1];
g.drawLine(100+5*s,600-x1,105+5*s,600-x2);
}
}
}
最終更新:2011年03月12日 05:16