アットウィキロゴ

xxpp#D

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

class pro extends Frame implements Runnable{

Frame f;
Thread th;
int nx;

public static void main(String[] args){
Frame f=new pro();
f.setSize(700,700);
f.setBackground(Color.yellow);
f.show();
}

pro() {
addWindowListener(new stopwin());
nx=1;
th=new Thread(this);
th.start();
}

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

public void paint( Graphics g ) {
double x,y,z;
int px,py,pxs,pys;
int beginx,beginy,beginz,d;
int s1,s2,s3;
double theta,phi;

g.setColor(Color.yellow);
g.fillRect(0,0,700,700);

x=0;
y=0;
z=500;
px=pointx(x,y,z);
py=pointy(x,y,z);
g.setColor(Color.black);
g.drawLine(100,600,100+px,600-py);

x=500;
y=0;
z=0;
px=pointx(x,y,z);
py=pointy(x,y,z);
g.drawLine(100,600,100+px,600-py);

x=0;
y=500;
z=0;
px=pointx(x,y,z);
py=pointy(x,y,z);
g.drawLine(100,600,100+px,600-py);

for (s1=1;s1<10;s1++){
for (s2=1;s2<10;s2++){
for (s3=1;s3<10;s3++){

d=20;
beginx=100+d*s1+30*nx;
beginy=100+d*s2+30*nx;
beginz=100+d*s3+30*nx;

x=beginx;
y=beginy;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy;
z=beginz;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy+d;
z=beginz;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy+d;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy+d;
z=beginz;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx;
y=beginy+d;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy;
z=beginz;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx;
y=beginy;
z=beginz+d;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy;
z=beginz+d;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy+d;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy+d;
z=beginz+d;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy+d;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx;
y=beginy+d;
z=beginz+d;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);


x=beginx;
y=beginy;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx;
y=beginy+d;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx;
y=beginy+d;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);

x=beginx+d;
y=beginy+d;
z=beginz;
px=pointx(x,y,z);
py=pointy(x,y,z);
x=beginx+d;
y=beginy+d;
z=beginz+d;
pxs=pointx(x,y,z);
pys=pointy(x,y,z);
g.setColor(Color.blue);
g.drawLine(100+px,600-py,100+pxs,600-pys);
}
}
}

}

public static int pointy(double x,double y,double z){
int p2;
double theta,phi;
theta=-0.222222*Math.PI;
phi=0.333333*Math.PI;
p2=(int)(-Math.cos(theta)*Math.cos(phi)*x-Math.sin(theta)*Math.cos(phi)*y+Math.sin(phi)*z);
return p2;
}


public static int pointx(double x,double y,double z){
int p1;
double theta;
theta=-0.222222*Math.PI;
p1=(int)(-Math.sin(theta)*x+Math.cos(theta)*y);
return p1;
}

public void update(Graphics g) {
paint(g);
}

public void run() {
for (nx=1;nx<11;nx++){
repaint();
try{th.sleep(1000);} catch(InterruptedException e) { }
}
}

}
最終更新:2010年09月24日 07:58