import java.awt.*;
import java.awt.event.*;
class game1107 extends Frame{
int s,m;
double[] data=new double[101];
double[] gdata=new double[101];
double[] alpha=new double[101];
double delta;
int num,x,qx;
public static void main(String args[]){
game1107 f=new game1107();
f.setTitle("game1107");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}
game1107(){
for (s=0;s<100;s++){
data[s]=5*s+5;
}
num=100;
for (qx=0;qx<100;qx++){
alpha[qx]=seekalpha(num,qx,data);
}
for (s=0;s<num;s++){
gdata[s]=seekfou(s,num,alpha);
}
addWindowListener(new stopwin());
}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we){System.exit(0);}
}
public static double seekfou(int s,int num,double[] alpha){
double x,z,delta;
int qx;
delta=(double)Math.PI/num;
x=s*delta;
z=alpha[0]/2;
for (qx=1;qx<100;qx++){
z=z+alpha[qx]*Math.cos(qx*x);
}
return z;
}
public static double seekalpha(int num,int qx,double[] data){
int n,nx;
double x1,y1,z;
double delta;
delta=(double)Math.PI/num;
z=0;
for (n=-num;n<num;n++){
nx=n;
if (nx<0)nx=-nx;
x1=nx*delta;
y1=data[nx]*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,100,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月10日 10:18