Next: 6.11 Morphing
Up: 6.10 TickTockCollision
Previous: 6.10.3 CollisionDetector.java
/*
* Box.java
* Copyright (c) 1996-2002 Sun Microsystems,
* Inc. All Rights Reserved.
*/
import javax.media.j3d.*;
import javax.vecmath.*;
public class Box extends Shape3D {
public Box(double xsize,
double ysize, double zsize) {
super();
double xmin = -xsize/2.0;
double xmax = xsize/2.0;
double ymin = -ysize/2.0;
double ymax = ysize/2.0;
double zmin = -zsize/2.0;
double zmax = zsize/2.0;
QuadArray box =
new QuadArray(24, QuadArray.COORDINATES);
Point3d verts[] = new Point3d[24];
// front face
verts[0] = new Point3d(xmax, ymin, zmax);
verts[1] = new Point3d(xmax, ymax, zmax);
verts[2] = new Point3d(xmin, ymax, zmax);
verts[3] = new Point3d(xmin, ymin, zmax);
// back face
verts[4] = new Point3d(xmin, ymin, zmin);
verts[5] = new Point3d(xmin, ymax, zmin);
verts[6] = new Point3d(xmax, ymax, zmin);
verts[7] = new Point3d(xmax, ymin, zmin);
// right face
verts[8] = new Point3d(xmax, ymin, zmin);
verts[9] = new Point3d(xmax, ymax, zmin);
verts[10] = new Point3d(xmax, ymax, zmax);
verts[11] = new Point3d(xmax, ymin, zmax);
// left face
verts[12] = new Point3d(xmin, ymin, zmax);
verts[13] = new Point3d(xmin, ymax, zmax);
verts[14] = new Point3d(xmin, ymax, zmin);
verts[15] = new Point3d(xmin, ymin, zmin);
// top face
verts[16] = new Point3d(xmax, ymax, zmax);
verts[17] = new Point3d(xmax, ymax, zmin);
verts[18] = new Point3d(xmin, ymax, zmin);
verts[19] = new Point3d(xmin, ymax, zmax);
// bottom face
verts[20] = new Point3d(xmin, ymin, zmax);
verts[21] = new Point3d(xmin, ymin, zmin);
verts[22] = new Point3d(xmax, ymin, zmin);
verts[23] = new Point3d(xmax, ymin, zmax);
box.setCoordinates(0, verts);
setGeometry(box);
setAppearance(new Appearance());
}
}
generated through LaTeX2HTML. M.Inaba 平成18年5月7日