/* Display of wire-frame model of cube by T.Nishita class point3; 頂点の3次元座標 class Plane; 多面体の構成面 class Trans; 座標変換 */ import java.applet.*; import java.awt.*; //import java.io.*; //import java.awt.event.*; // for JDK1.2 public class wire extends java.applet.Applet // implements MouseListener, MouseMotionListener // for JDK1.2 { int x_origin,y_origin; // origin(center) of screen double theta=70., phi=20., R=800.; // viewpoint Point prev = new Point(0, 0); Trans henkan = new Trans(); Plane face[]; // face int npoints; // number of vertices int nplanes; // number of faces Point3 point[]; // coordinates of vertices /* **************************************************************: */ public void init() { double scale=70.; //scale(size) of cube setBackground(Color.lightGray); // set Background // for JDK1. Dimension appsize = size(); // for JDK1.0 x_origin = appsize.width/2; y_origin = appsize.height/2; //for JDK1.2 /* // resize(getSize().width, getSize().height); x_origin = getSize().width/2; y_origin = getSize().height/2; addMouseListener(this); addMouseMotionListener(this); */ henkan.setVRpnt(0.,0.,0.); // set viewreference point henkan.setview(R,theta,phi); // set viewpoint model(scale); // modeling of cube } /* *************** paint function *****************************: */ public void paint(Graphics g) { Point[] tPoint = new Point[npoints]; // projected points henkan.preper(); // set coefficients of transformation-matrix g.setColor(Color.black); for (int i = 0; i < npoints; i++) tPoint[i] = henkan.project(point[i]); for(int i=0;i