アットウィキロゴ

じゃヴぁ1027

import java.awt.*;
import java.awt.event.*;

class game1027 extends Frame{
int s1,s2,m;
double[][] data=new double[501][501];
double[][] gdata=new double[501][501];
double[][] alpha=new double[501][101];
double delta;
int x;

public static void main(String args[]){
game1027 f=new game1027();
f.setTitle("game1027");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}

game1027(){

for (s1=0;s1<501;s1++){
for (s2=0;s2<501;s2++){
data[s1][s2]=s1/2+s2/2;
}
}

delta=(double)Math.PI/500;

for (s1=0;s1<501;s1++){
for (m=0;m<101;m++){
alpha[s1][m]=seekalpha(s1,delta,m,data);
}
}


for (s1=0;s1<501;s1++){
for (s2=0;s2<501;s2++){
gdata[s1][s2]=seekfou(s1,alpha,s2*delta);
}
}

addWindowListener(new stopwin());
}

class stopwin extends WindowAdapter{
  public void windowClosing(WindowEvent we){System.exit(0);} 
}


public static double seekfou(int s1,double[][] alpha,double x){
double z;
int m;
z=alpha[s1][0]/2;
for (m=1;m<100;m++){
z=z+alpha[s1][m]*Math.cos(m*x);
}
return z;
}

public static double seekalpha(int s1,double delta,int m,double[][] data){
int n,nx;
double x1,y1,z;
z=0;
for (n=-500;n<500;n++){
nx=n;
if (nx<0)nx=-nx;
x1=nx*delta;
y1=data[s1][nx]*Math.cos(m*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);

s1=50;

g.setColor(Color.blue);
for (s2=0;s2<500;s2++){
x1=(int)gdata[s1][s2];
x2=(int)gdata[s1][s2+1];
g.drawLine(100+s2,600-x1,101+s2,600-x2);
}

g.setColor(Color.red);
for (s2=0;s2<500;s2++){
x1=(int)data[s1][s2];
x2=(int)data[s1][s2+1];
g.drawLine(100+s2,600-x1,101+s2,600-x2);
}

}

}
最終更新:2011年03月07日 17:42