アットウィキロゴ

2次元

class fou{
public static void main(String args[]){
int s1,s2,sx,n;
int pulse[][]=new int[101][101];
double a[]=new double[101];
double b[]=new double[101];
double h;
double z;
double x;

for (s1=0;s1<101;s1++){
for (s2=0;s2<101;s2++){
pulse[s1][s2]=0;
if (Math.random()>0.5)pulse[s1][s2]=1;
}
}

s2=50;

h=Math.PI/100;
for (n=1;n<101;n++){
z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*Math.cos(n*x)*h;
}
a[n]=z/Math.PI;
}

for (n=1;n<101;n++){
z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*Math.sin(n*x)*h;
}
b[n]=z/Math.PI;
}

z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*h;
}

a[0]=0.5*z/Math.PI;
b[0]=0;



for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=0;
for (n=0;n<101;n++){
z=z+a[n]*Math.cos(n*x)+b[n]*Math.sin(n*x);
}
System.out.println(pulse[sx][s2]);
System.out.println(z);
}










}
}
最終更新:2010年09月27日 23:02