/* * Plots the given equation */ public static void PlotGraph(Graphics g) { // start at the low point Point3D firstPoint = new Point3D(-1.25, -1.25, 0); Point3D secondPoint = new Point3D(-1.25, -1.25, 0); double inc = 0.05; // this looked the best g.setColor(Color.green); for (double y = -1.25; y <= 1.25; y += inc) { for (double x = -1.25; x <= 1.25; x += inc) { // draw the small square firstPoint.SetCoords(x, y, 0); secondPoint.SetCoords(x + inc, y + inc, 0); DrawSquare(g, firstPoint, secondPoint); } } g.setColor(Color.black); DrawAxes(g); Branding(g, "z = (x^2) + (y^2) - (x^3) - 8*x*(y^4)"); }
/* * Draw the CSAC hallway * This is done using the data collected on March 7 */ public static void DrawHallway(Graphics g) { double[][] ActiveTransform = new double[4][4]; Assembly[] EMPTY = new Assembly[0]; Assembly[] ceilingAssembly = new Assembly[0]; // origin Point3D[] floorPoints = new Point3D[9]; floorPoints[0] = new Point3D(-70.75, 0, 0); floorPoints[1] = new Point3D(70.75, 0, 0); floorPoints[2] = new Point3D(70.75, 0, -727.125); floorPoints[3] = new Point3D(-70.75, 0, -727.125); floorPoints[4] = new Point3D(-70.75, 0, -232.5); floorPoints[5] = new Point3D(-156.5, 0, -232.5); floorPoints[6] = new Point3D(-156.5, 0, -151.5); floorPoints[7] = new Point3D(-70.75, 0, -151.5); floorPoints[8] = new Point3D(-70.75, 0, 0); Object floor = new Object(floorPoints, IDENTITY, "Floor"); floor.DrawObject(g, IDENTITY); ConnectWalls(g, floor, 132); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_TRANS, 132); Assembly ceiling = new Assembly(EMPTY, ActiveTransform, floor, "Ceiling"); ceiling.Assemble(g, IDENTITY); Point3D[] hallwayCeilingPoints = new Point3D[4]; // 81x104.75 hallwayCeilingPoints[0] = new Point3D(0, 0, 0); hallwayCeilingPoints[1] = new Point3D(85.75, 0, 0); hallwayCeilingPoints[2] = new Point3D(85.75, 0, -81); hallwayCeilingPoints[3] = new Point3D(0, 0, -81); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_TRANS, 103); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -151.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -156.5); Object hallwayCeiling = new Object(hallwayCeilingPoints, ActiveTransform, "Hallway ceiling"); hallwayCeiling.DrawObject(g, IDENTITY); hallwayCeilingPoints[0].SetCoords(0, 0, 0); hallwayCeilingPoints[1].SetCoords(0, 29, 0); hallwayCeilingPoints[2].SetCoords(0, 29, -81); hallwayCeilingPoints[3].SetCoords(0, 0, -81); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_TRANS, 103); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -151.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -70.75); Object hallwayWall = new Object(hallwayCeilingPoints, ActiveTransform, "Hallway wall"); hallwayWall.DrawObject(g, IDENTITY); Point3D[] pillarPoints = new Point3D[4]; pillarPoints[0] = new Point3D(-70.75, 0, -182.5); pillarPoints[1] = new Point3D(-70.75, 0, -201.5); pillarPoints[2] = new Point3D(-88.75, 0, -201.5); pillarPoints[3] = new Point3D(-88.75, 0, -182.5); Object pillar = new Object(pillarPoints, IDENTITY, "Pillar"); pillar.DrawObject(g, IDENTITY); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_TRANS, 103); Assembly pillarAssembly = new Assembly(EMPTY, ActiveTransform, pillar, "Top of Pillar"); pillarAssembly.Assemble(g, IDENTITY); ConnectWalls(g, pillar, 103); /* * BEGIN DOOR ASSEMBLY */ Point3D[] doorPoints = new Point3D[4]; doorPoints[0] = new Point3D(0, 0, 0); doorPoints[1] = new Point3D(35.75, 0, 0); doorPoints[2] = new Point3D(35.75, 87, 0); doorPoints[3] = new Point3D(0, 87, 0); Assembly[] doorAssembly = new Assembly[0]; // all the doors are magenta g.setColor(Color.magenta); Object door = new Object(doorPoints, IDENTITY, "Door"); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -53.75); Assembly door1 = new Assembly(EMPTY, ActiveTransform, door, "Alves Foss"); doorAssembly = AppendToArray(doorAssembly, door1); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -251.375); Assembly door2 = new Assembly(EMPTY, ActiveTransform, door, "Terrence Soule"); doorAssembly = AppendToArray(doorAssembly, door2); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -369.375); Assembly door3 = new Assembly(EMPTY, ActiveTransform, door, "Daniel Conte De Leon"); doorAssembly = AppendToArray(doorAssembly, door3); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -568.125); Assembly door4 = new Assembly(EMPTY, ActiveTransform, door, "Greg Donahoe"); doorAssembly = AppendToArray(doorAssembly, door4); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -644.875); Assembly door5 = new Assembly(EMPTY, ActiveTransform, door, "Robert Rinker"); doorAssembly = AppendToArray(doorAssembly, door5); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -180); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 62.25); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -727.125); Assembly door6 = new Assembly(EMPTY, ActiveTransform, door, "East Office Door"); doorAssembly = AppendToArray(doorAssembly, door6); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -691.375); Assembly door7 = new Assembly(EMPTY, ActiveTransform, door, "North Entrance"); doorAssembly = AppendToArray(doorAssembly, door7); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -655.625); Assembly door8 = new Assembly(EMPTY, ActiveTransform, door, "North Entrance"); doorAssembly = AppendToArray(doorAssembly, door8); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -474.875); Assembly door9 = new Assembly(EMPTY, ActiveTransform, door, "CS Office"); doorAssembly = AppendToArray(doorAssembly, door9); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -156.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -151.5); Assembly door10 = new Assembly(EMPTY, ActiveTransform, door, "Clinton Jeffery"); doorAssembly = AppendToArray(doorAssembly, door10); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, -123.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -151.5); Assembly door11 = new Assembly(EMPTY, ActiveTransform, door, "Clinton Jeffery Side Entrance"); doorAssembly = AppendToArray(doorAssembly, door11); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -156.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -196.75); Assembly door12 = new Assembly(EMPTY, ActiveTransform, door, "Bruce Bolden"); doorAssembly = AppendToArray(doorAssembly, door12); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -180); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -87.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -232.5); Assembly door13 = new Assembly(EMPTY, ActiveTransform, door, "Bruce Bolden Side Entrance"); doorAssembly = AppendToArray(doorAssembly, door13); Assembly buildDoors = new Assembly(doorAssembly, IDENTITY, null, "Door Assembly"); buildDoors.Assemble(g, IDENTITY); /* * END DOOR ASSEMBLY */ g.setColor(Color.black); Point3D[] windowPoints = new Point3D[4]; windowPoints[0] = new Point3D(-51.75, 38, -727.125); windowPoints[1] = new Point3D(16.25, 38, -727.125); windowPoints[2] = new Point3D(16.25, 86, -727.125); windowPoints[3] = new Point3D(-51.75, 86, -727.125); Object window = new Object(windowPoints, IDENTITY, "Window"); window.DrawObject(g, IDENTITY); /* * BEGIN BOARD ASSEMBLY */ Assembly[] board_array = new Assembly[0]; // boards on the wall Point3D[] boardPoints = new Point3D[4]; boardPoints[0] = new Point3D(0, 0, 0); boardPoints[1] = new Point3D(36, 0, 0); boardPoints[2] = new Point3D(36, 24, 0); boardPoints[3] = new Point3D(0, 24, 0); g.setColor(Color.blue); Object board = new Object(boardPoints, IDENTITY, "Board"); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -107.75); Assembly board1 = new Assembly(EMPTY, ActiveTransform, board, "Alves Foss Board"); board_array = AppendToArray(board_array, board1); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -300.625); Assembly board2 = new Assembly(EMPTY, ActiveTransform, board, "Terrence Soule Board"); board_array = AppendToArray(board_array, board2); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -430.375); Assembly board3 = new Assembly(EMPTY, ActiveTransform, board, "Daniel Conte De Leon Board"); board_array = AppendToArray(board_array, board3); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -513.375); Assembly board4 = new Assembly(EMPTY, ActiveTransform, board, "Greg Donahoe Board"); board_array = AppendToArray(board_array, board4); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, 70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -699.875); Assembly board5 = new Assembly(EMPTY, ActiveTransform, board, "Robert Rinker Board"); board_array = AppendToArray(board_array, board5); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, -180); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_ROT, -90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -152.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -232.5); Assembly board6 = new Assembly(EMPTY, ActiveTransform, board, "Bruce Bolden Board"); board_array = AppendToArray(board_array, board6); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Z_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -130.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 48); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -151.5); Assembly board7 = new Assembly(EMPTY, ActiveTransform, board, "Clint Jeffery Board"); board_array = AppendToArray(board_array, board7); Assembly boardAssembly = new Assembly(board_array, IDENTITY, null, "Board Assembly"); boardAssembly.Assemble(g, IDENTITY); /* * END BOARD ASSEMBLY */ // bulletin board and trophy case boardPoints[0].SetCoords(0, 0, 0); boardPoints[1].SetCoords(96, 0, 0); boardPoints[2].SetCoords(96, 53, 0); boardPoints[3].SetCoords(0, 53, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Y_ROT, 90); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.X_TRANS, -70.75); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, 33); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -30); Object bulletBoard = new Object(boardPoints, ActiveTransform, "Bulletin Board"); bulletBoard.DrawObject(g, IDENTITY); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.Z_TRANS, -262.5); Assembly trophyCase = new Assembly(EMPTY, ActiveTransform, bulletBoard, "Trophy Case"); trophyCase.Assemble(g, IDENTITY); Branding(g, "Hallway Model"); }
/* * Draws Jordan in 3D letters */ public static void DrawName(Graphics g) { double[][] ActiveTransform = IDENTITY; double startSpot = -12; // make sure the name is // J Point3D[] jpoints = new Point3D[10]; jpoints[0] = new Point3D(0, 0, 0); jpoints[1] = new Point3D(3, 0, 0); jpoints[2] = new Point3D(3, -1, 0); jpoints[3] = new Point3D(2, -1, 0); jpoints[4] = new Point3D(2, -5, 0); jpoints[5] = new Point3D(0, -5, 0); jpoints[6] = new Point3D(0, -4, 0); jpoints[7] = new Point3D(1, -4, 0); jpoints[8] = new Point3D(1, -1, 0); jpoints[9] = new Point3D(0, -1, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot); Object J = new Object(jpoints, ActiveTransform, "J letter"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object J_Back = new Object(jpoints, ActiveTransform, "J back"); J.DrawObject(g, IDENTITY); J_Back.DrawObject(g, IDENTITY); ConnectLetters(g, J); // O Point3D[] opoints_outer = new Point3D[4]; opoints_outer[0] = new Point3D(0, 0, 0); opoints_outer[1] = new Point3D(3, 0, 0); opoints_outer[2] = new Point3D(3, -3, 0); opoints_outer[3] = new Point3D(0, -3, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot + 4); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, -2); Object O1 = new Object(opoints_outer, ActiveTransform, "O Letter"); Point3D[] opoints_inner = new Point3D[4]; opoints_inner[0] = new Point3D(1, -1, 0); opoints_inner[1] = new Point3D(2, -1, 0); opoints_inner[2] = new Point3D(2, -2, 0); opoints_inner[3] = new Point3D(1, -2, 0); Object O2 = new Object(opoints_inner, ActiveTransform, "inside o letter"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object O1_Back = new Object(opoints_outer, ActiveTransform, "O letter back"); Object O2_Back = new Object(opoints_inner, ActiveTransform, "Inside o back"); O1.DrawObject(g, IDENTITY); O2.DrawObject(g, IDENTITY); O1_Back.DrawObject(g, IDENTITY); O2_Back.DrawObject(g, IDENTITY); ConnectLetters(g, O1); ConnectLetters(g, O2); // R Point3D[] rpoints_outer = new Point3D[9]; rpoints_outer[0] = new Point3D(0, 0, 0); rpoints_outer[1] = new Point3D(3, 0, 0); rpoints_outer[2] = new Point3D(3, -1, 0); rpoints_outer[3] = new Point3D(2, -1, 0); rpoints_outer[4] = new Point3D(3, -2.5, 0); rpoints_outer[5] = new Point3D(2.5, -3, 0); rpoints_outer[6] = new Point3D(1, -1.5, 0); rpoints_outer[7] = new Point3D(1, -3, 0); rpoints_outer[8] = new Point3D(0, -3, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot + 8); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, -2); Object R1 = new Object(rpoints_outer, ActiveTransform, "R outside"); Point3D[] rpoints_inner = new Point3D[4]; rpoints_inner[0] = new Point3D(1, -0.5, 0); rpoints_inner[1] = new Point3D(2, -0.5, 0); rpoints_inner[2] = new Point3D(2, -0.75, 0); rpoints_inner[3] = new Point3D(1, -0.75, 0); Object R2 = new Object(rpoints_inner, ActiveTransform, "R inside"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object R1_Back = new Object(rpoints_outer, ActiveTransform, "R back outside"); Object R2_Back = new Object(rpoints_inner, ActiveTransform, "R back inside"); R1.DrawObject(g, IDENTITY); R2.DrawObject(g, IDENTITY); R1_Back.DrawObject(g, IDENTITY); R2_Back.DrawObject(g, IDENTITY); ConnectLetters(g, R1); ConnectLetters(g, R2); // D Point3D[] dpoints_outer = new Point3D[5]; dpoints_outer[0] = new Point3D(0, 0, 0); dpoints_outer[1] = new Point3D(2, 0, 0); dpoints_outer[2] = new Point3D(3, -1.5, 0); dpoints_outer[3] = new Point3D(2, -3, 0); dpoints_outer[4] = new Point3D(0, -3, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot + 12); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, -2); Object D1 = new Object(dpoints_outer, ActiveTransform, "D Outside"); Point3D[] dpoints_inner = new Point3D[4]; dpoints_inner[0] = new Point3D(0.75, -1, 0); dpoints_inner[1] = new Point3D(1.5, -1, 0); dpoints_inner[2] = new Point3D(1.5, -2, 0); dpoints_inner[3] = new Point3D(0.75, -2, 0); Object D2 = new Object(dpoints_inner, ActiveTransform, "D inside"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object D1_Back = new Object(dpoints_outer, ActiveTransform, "D Outside Back"); Object D2_Back = new Object(dpoints_inner, ActiveTransform, "D Inside Back"); D1.DrawObject(g, IDENTITY); D2.DrawObject(g, IDENTITY); D1_Back.DrawObject(g, IDENTITY); D2_Back.DrawObject(g, IDENTITY); ConnectLetters(g, D1); ConnectLetters(g, D2); // A Point3D[] apoints_outer = new Point3D[8]; apoints_outer[0] = new Point3D(1, 0, 0); apoints_outer[1] = new Point3D(2, 0, 0); apoints_outer[2] = new Point3D(3, -3, 0); apoints_outer[3] = new Point3D(2, -3, 0); apoints_outer[4] = new Point3D(1.75, -2, 0); apoints_outer[5] = new Point3D(1.25, -2, 0); apoints_outer[6] = new Point3D(1, -3, 0); apoints_outer[7] = new Point3D(0, -3, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot + 15); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, -2); Object A1 = new Object(apoints_outer, ActiveTransform, "A outside"); Point3D[] apoints_inner = new Point3D[3]; apoints_inner[0] = new Point3D(1.5, -1, 0); apoints_inner[1] = new Point3D(1.75, -1.5, 0); apoints_inner[2] = new Point3D(1.25, -1.5, 0); Object A2 = new Object(apoints_inner, ActiveTransform, "A inside"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object A1_Back = new Object(apoints_outer, ActiveTransform, "A outside back"); Object A2_Back = new Object(apoints_inner, ActiveTransform, "A inside back"); A1.DrawObject(g, IDENTITY); A2.DrawObject(g, IDENTITY); A1_Back.DrawObject(g, IDENTITY); A2_Back.DrawObject(g, IDENTITY); ConnectLetters(g, A1); ConnectLetters(g, A2); // N Point3D[] npoints = new Point3D[10]; npoints[0] = new Point3D(0, 0, 0); npoints[1] = new Point3D(1, 0, 0); npoints[2] = new Point3D(2, -2, 0); npoints[3] = new Point3D(2, 0, 0); npoints[4] = new Point3D(3, 0, 0); npoints[5] = new Point3D(3, -3, 0); npoints[6] = new Point3D(2, -3, 0); npoints[7] = new Point3D(1, -1, 0); npoints[8] = new Point3D(1, -3, 0); npoints[9] = new Point3D(0, -3, 0); ActiveTransform = BuildElementaryTransform(IDENTITY, TRANSFORM_CODE.X_TRANS, startSpot + 18.5); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Y_TRANS, -2); Object N = new Object(npoints, ActiveTransform, "N Letter"); ActiveTransform = BuildElementaryTransform(ActiveTransform, TRANSFORM_CODE.Z_TRANS, -1); Object N_Back = new Object(npoints, ActiveTransform, "N Letter Back"); N.DrawObject(g, IDENTITY); N_Back.DrawObject(g, IDENTITY); ConnectLetters(g, N); Branding(g, "3D Letters"); }