package primitives3D; import java.awt.Color; /** * A class which genetates line segments arranges as the edges of a cube. * @author Curran Kelleher * */ public class Cube3DEdges { LineSegment3D[] edges = new LineSegment3D[12]; public Cube3DEdges(Vector3D center, double edgeLength, Color color) { double e = edgeLength/2; Vector3D[] corners = new Vector3D[8]; corners[0] = new Vector3D(center.plus(new Vector3D(-e, e, e))); corners[1] = new Vector3D(center.plus(new Vector3D( e, e, e))); corners[2] = new Vector3D(center.plus(new Vector3D(-e,-e, e))); corners[3] = new Vector3D(center.plus(new Vector3D( e, e,-e))); corners[4] = new Vector3D(center.plus(new Vector3D(-e, e,-e))); corners[5] = new Vector3D(center.plus(new Vector3D(-e,-e,-e))); corners[6] = new Vector3D(center.plus(new Vector3D( e,-e,-e))); corners[7] = new Vector3D(center.plus(new Vector3D( e,-e, e))); edges[0] = new LineSegment3D(corners[0],corners[4],color); edges[1] = new LineSegment3D(corners[0],corners[2],color); edges[2] = new LineSegment3D(corners[0],corners[1],color); edges[3] = new LineSegment3D(corners[1],corners[3],color); edges[4] = new LineSegment3D(corners[5],corners[4],color); edges[5] = new LineSegment3D(corners[3],corners[4],color); edges[6] = new LineSegment3D(corners[2],corners[5],color); edges[7] = new LineSegment3D(corners[5],corners[6],color); edges[8] = new LineSegment3D(corners[2],corners[7],color); edges[9] = new LineSegment3D(corners[3],corners[6],color); edges[10]= new LineSegment3D(corners[1],corners[7],color); edges[11]= new LineSegment3D(corners[7],corners[6],color); } /** * @return the line segments which make up the edges of this cube. */ public Object3D[] getLineSegments() { return edges; } }