import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
class
pro extends Frame {
public static void main(String [] args) {
Frame f=[[new]] pro();
f.setTitle("pro");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}
pro(){addWindowListener(new stopwin());}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we){System.exit(0);}
}
public void paint(Graphics g){
int x,y,z;
int px,py;
int afx[]=new int[3];
int afy[]=new int[3];
x=0;
y=0;
z=500;
px=pointx(x,y,z);
py=pointy(x,y,z);
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);
g.setColor(Color.red);
x=100;
y=100;
z=100;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=200;
y=100;
z=100;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=100;
y=200;
z=100;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
x=200;
y=100;
z=100;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=100;
y=200;
z=100;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=200;
y=200;
z=100;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
x=100;
y=100;
z=200;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=100;
y=200;
z=200;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=200;
y=100;
z=200;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
x=200;
y=100;
z=200;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=100;
y=200;
z=200;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=200;
y=200;
z=200;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
x=100;
y=100;
z=100;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=100;
y=100;
z=200;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=200;
y=100;
z=100;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
x=200;
y=100;
z=200;
afx[0]=100+pointx(x,y,z);
afy[0]=600-pointy(x,y,z);
x=100;
y=200;
z=200;
afx[1]=100+pointx(x,y,z);
afy[1]=600-pointy(x,y,z);
x=200;
y=200;
z=200;
afx[2]=100+pointx(x,y,z);
afy[2]=600-pointy(x,y,z);
g.fillPolygon(afx,afy,3);
}
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;
}
}
最終更新:2010年09月24日 23:48