########################################################################################## ## ## ## Tie Interceptor Model ## ## Copyright 1996 Brandon Checketts ## ## ## ## created using University of Utah's Alpha_1 software ## ########################################################################################## { rightPoleAddition = TruncRightCone(pt(7, 0, 0), vec(12,0), 6, 3); leftPoleAddition = TruncRightCone(pt(-7, 0, 0), vec(-12,0), 6, 3); rightPoleAddition2 = TruncRightCone(pt(26, 0, 0), vec(3, 0), 3, 7); leftPoleAddition2 = TruncRightCone(pt(-26, 0, 0), vec(-3,0), 3, 7); extrusionRing = ExtrudeDir(ObjTransform(CircleCtrRad(Pt(0, 0, 0), 6), Rx(90)), Vec(0, 7.6, 0), true); rightThing1 = Extrudedir(RoundPolyline(Polyline(Array(Pt(17, 5, 2), Pt(17, -5, 2), Pt(5, -5, 2), Pt(5, 5, 2), Pt(17, 5, 2))), 0), Vec(0, 0, -4), true); leftThing1 = ExtrudeDir(Roundpolyline(Polyline(Array(Pt(-17, 5, 2), Pt(-17, -5, 2), Pt(-5, -5, 2), Pt(-5, 5, 2), Pt(-17, 5, 2))), 0), Vec(0, 0, -4), true); topLeftWing = ExtrudeDir(RoundPolyline(Polyline(Pt(-30, 7, -10), Pt(-20, 20, -10), Pt(-20, 20, 0), Pt(-30, 7, 30), Pt(-30, 7, -10)), 0), Vec(-0.5, 0.5, 0), true); midLeftWing = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(-30, 7, 30), Pt(-30, 7, 5), Pt(-30, 2, 5), Pt(-30, 2, 7), Pt(-30, -2, 7), Pt(-30, -2, 5), Pt(-30, -7, 5), Pt(-30, -7, -10), Pt(-30, 7, -10)), 0)), Vec(-0.5, 0, 0), true); botLeftWing = ExtrudeDir(RoundPolyline(Polyline(Pt(-30, -7, -10), Pt(-30, -7, 30), Pt(-20, -20, 0), Pt(-20, -20, -10), Pt(-30, -7, -10)), 0), Vec(-0.5, -0.5, 0), true); topRightWing = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(30, 7, -10), Pt(20, 20, -10), Pt(20, 20, 0), Pt(30, 7, 30), Pt(30, 7, -10)), 0)), Vec(0.5, 0.5, 0), true); midRightWing = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(30, 7, 30), Pt(30, 7, 5), Pt(30, 2, 5), Pt(30, 2, 7), Pt(30, -2, 7), Pt(30, -2, 5), Pt(30, -7, 5), Pt(30, -7, -10), Pt(30, 7, -10)), 0)), Vec(0.5, 0, 0), true); botRightWing = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(30, -7, -10), Pt(30, -7, 30), Pt(20, -20, 0), Pt(20, -20, -10), Pt(30, -7, -10)), 0)), Vec(0.5, -0.5, 0), true); middleSphere = Sphere(Pt(0, 0, 0), 9.1); tube = RightCirCylinder(Pt(-30, 0, 0), Vec(60, 0), 3); topLeftGun = ReverseObj(ExtrudeDir(CircleCtrRad(Pt(-30, 6.5, 5), 0.5), Vec(0, 0, 27), true)); bottomLeftGun = ReverseObj(ExtrudeDir(CircleCtrRad(Pt(-30, -6.5, 5), 0.5), Vec(0, 0, 27), true)); topRightGun = ReverseObj(ExtrudeDir(CircleCtrRad(Pt( 30, 6.5, 5), 0.5), Vec(0, 0, 27), true)); bottomRightGun = ReverseObj(ExtrudeDir(CircleCtrRad(Pt( 30, -6.5, 5), 0.5), Vec(0, 0, 27), true)); rightEndCap = TruncRightCone(Pt(30, 0, 0), Vec(2, 0, 0), 7, 3); leftEndCap = TruncRightCone(Pt(-30, 0, 0), Vec(-2, 0, 0), 7, 3); rightEndCap2 = TruncRightCone(Pt(32, 0, 0), Vec(0.5, 0, 0), 1, 1); leftEndCap2 = TruncRightCone(Pt(-32, 0, 0), Vec(-0.5, 0, 0), 1, 1); topLeftBackPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-22, 18, -8), Pt(-22, 18, -1), Pt(-29.5, 8, -1), Pt(-29.5, 8, -8), Pt(-22, 18, -8)), 0), Vec(-0.7, 0.7, 0), true); topLeftFrontPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-22, 18, 1), Pt(-29.5, 8, 25), Pt(-29.5, 8, 1), Pt(-22, 18, 1)), 0), Vec(-0.7, 0.7, 0),true); middleLeftBackPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-30, 7, -8), Pt(-30, 7, -1), Pt(-30, -7, -1), Pt(-30, -7, -8), Pt(-30, 7, -8)), 0), Vec(-0.7, 0, 0), true); bottomLeftBackPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-22, -18, -8), Pt(-22, -18, -1), Pt(-29.5, -8, -1), Pt(-29.5, -8, -8), Pt(-22, -18, -8)), 0), Vec(-0.7,-0.7,0), true); bottomLeftFrontPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-22, -18, 1), Pt(-29.5, -8, 1), Pt(-29.5, -8, 25), Pt(-22, -18, 1)), 0), Vec(-0.7,-0.7, 0),true); topLeftBackInsidePanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(-22, 18, -8), Pt(-22, 18, -1), Pt(-29.5, 8, -1), Pt(-29.5, 8, -8), Pt(-22, 18, -8)), 0)), Vec(0.7, -0.7, 0), true); topLeftFrontInsidePanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(-22, 18, 1), Pt(-29.5, 8, 25), Pt(-29.5, 8, 1), Pt(-22, 18, 1)), 0)), Vec(0.7, -0.7, 0), true); middleLeftBackInsidePanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(-30, 7, -8), Pt(-30, 7, -1), Pt(-30, -7, -1), Pt(-30, -7, -8), Pt(-30, 7, -8)), 0)), Vec(0.7, 0, 0), true); bottomLeftBackInsidePanel = ExtrudeDir(RoundPolyline(Polyline(Pt(-22, -18, -8), Pt(-22, -18, -1), Pt(-29.5, -8, -1), Pt(-29.5, -8, -8), Pt(-22, -18, -8)), 0), Vec(0.7, 0.7, 0), true); bottomLeftFrontInsidePanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(-22, -18, 1), Pt(-29.5, -8, 1), Pt(-29.5, -8, 25), Pt(-22, -18, 1)), 0)), Vec(0.7, 0.7, 0), true); topRightBackPanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(22, 18, -8), Pt(22, 18, -1), Pt(29.5, 8, -1), Pt(29.5, 8, -8), Pt(22, 18, -8)), 0)), Vec(0.7, 0.7, 0), true); topRightFrontPanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(22, 18, 1), Pt(29.5, 8, 25), Pt(29.5, 8, 1), Pt(22, 18, 1)), 0)), Vec(0.7, 0.7, 0),true); middleRightBackPanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(30, 7, -8), Pt(30, 7, -1), Pt(30, -7, -1), Pt(30, -7, -8), Pt(30, 7, -8)), 0)), Vec(0.7, 0, 0), true); bottomRightBackPanel = ExtrudeDir(RoundPolyline(Polyline(Pt(22, -18, -8), Pt(22, -18, -1), Pt(29.5, -8, -1), Pt(29.5, -8, -8), Pt(22, -18, -8)), 0), Vec(0.7,-0.7,0), true); bottomRightFrontPanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(22, -18, 1), Pt(29.5, -8, 1), Pt(29.5, -8, 25), Pt(22, -18, 1)), 0)), Vec(0.7,-0.7,0),true); topRightBackInsidePanel = ExtrudeDir(RoundPolyline(Polyline(Pt(22, 18, -8), Pt(22, 18, -1), Pt(29.5, 8, -1), Pt(29.5, 8, -8), Pt(22, 18, -8)), 0), Vec(-0.7, -0.7, 0), true); topRightFrontInsidePanel = ExtrudeDir(RoundPolyline(Polyline(Pt(22, 18, 1), Pt(29.5, 8, 25), Pt(29.5, 8, 1), Pt(22, 18, 1)), 0), Vec(-0.7, -0.7, 0),true); middleRightBackInsidePanel = ExtrudeDir(RoundPolyline(Polyline(Pt(30, 7, -8), Pt(30, 7, -1), Pt(30, -7, -1), Pt(30, -7, -8), Pt(30, 7, -8)), 0), Vec(-0.7, 0, 0), true); bottomRightBackInsidePanel = ExtrudeDir(ReverseObj(RoundPolyline(Polyline(Pt(22, -18, -8), Pt(22, -18, -1), Pt(29.5, -8, -1), Pt(29.5, -8, -8), Pt(22, -18, -8)), 0)), Vec(-0.7, 0.7, 0), true); bottomRightFrontInsidePanel = ExtrudeDir(RoundPolyline(Polyline(Pt(22, -18, 1), Pt(29.5, -8, 1), Pt(29.5, -8, 25), Pt(22, -18, 1)), 0), Vec(-0.7, 0.7, 0), true); window = GeneralSweep(RaiseCrvOrder(Profile(pt(0, 0, -0.5), pt(0, 0, 0.1)), linear), {CircleCtrRad(pt(0, 0, 10.5), 5.3), RoundPolyline(Polyline(Array( Pt(1.5, -0.75, 10), Pt(1.5, 0.75, 10), Pt(0.75, 1.5, 10), Pt(-0.75, 1.5, 10), Pt(-1.5, 0.75, 10), Pt(-1.5, -0.75, 10), Pt(-0.75, -1.5, 10), Pt(0.75, -1.5, 10), Pt(1.5, -0.75, 10))), 0)}, 0, "arc_length_blend", UniOpCrv(linear, {Pt(0.45, 0.85), Pt(0, 1)}), true); } { ######################################################################################## ## ## Colors, Surface Qualities, textures and maybe even other Stuff................. ## ######################################################################################## SetColor(middleSphere, "Aluminum"); setColor(tube, "Aluminum"); SetColor(topLeftWing, "Aluminum"); SetColor(midLeftWing, "Aluminum"); SetColor(botLeftWing, "Aluminum"); SetColor(topRightWing, "Aluminum"); SetColor(midRightWing, "Aluminum"); SetColor(botRightWing, "Aluminum"); SetColor(rightPoleAddition, "Aluminum"); SetColor(leftPoleAddition, "Aluminum"); SetColor(rightPoleAddition2, "Aluminum"); SetColor(leftPoleAddition2, "Aluminum"); SetColor(topRightGun, "Aluminum"); SetColor(bottomRightGun, "Aluminum"); SetColor(topLeftGun, "Aluminum"); SetColor(bottomLeftGun, "Aluminum"); SetColor(window, "Black"); SetColor(rightEndCap, "Aluminum"); SetColor(leftEndCap, "Aluminum"); SetColor(rightEndCap2, "Aluminum"); SetColor(leftEndCap2, "Aluminum"); SetColor(extrusionRing, "Aluminum"); SetColor(rightThing1, "Aluminum"); SetColor(leftThing1, "Aluminum"); SetSQ(rightThing1, "Dull"); SetSQ(leftThing1, "Dull"); SetSQ(extrusionRing, "Dull"); SetSQ(middleSphere, "Dull"); SetSQ(tube, "Dull"); SetSQ(topLeftWing, "Dull"); SetSQ(midLeftWing, "Dull"); SetSQ(botLeftWing, "Dull"); SetSQ(topRightWing, "Dull"); SetSQ(midRightWing, "Dull"); SetSQ(botRightWing, "Dull"); SetSQ(rightPoleAddition, "Dull"); SetSQ(leftPoleAddition, "Dull"); SetSQ(rightPoleAddition2, "Dull"); setSQ(leftPoleAddition2, "Dull"); SetSQ(topRightGun, "Dull"); SetSQ(bottomRightGun, "Dull"); SetSQ(topLeftGun, "Dull"); SetSQ(bottomLeftGun, "Dull"); SetSQ(rightEndCap, "Dull"); SetSQ(leftEndCap, "Dull"); SetSQ(rightEndCap2, "Dull"); SetSQ(leftEndCap2, "Dull"); SetSQ(window, "Shiny"); SetColor(topRightBackInsidePanel, color(50, 50, 50)); SetColor(topRightFrontInsidePanel, color(50, 50, 50)); SetColor(middleRightBackInsidePanel, color(50, 50, 50)); SetColor(bottomRightBackInsidePanel, color(50, 50, 50)); SetColor(bottomRightFrontInsidePanel, color(50, 50, 50)); SetColor(topRightBackPanel, color(50, 50, 50)); SetColor(topRightFrontPanel, color(50, 50, 50)); SetColor(middleRightBackPanel, color(50, 50, 50)); SetColor(bottomRightBackPanel, color(50, 50, 50)); SetColor(bottomRightFrontPanel, color(50, 50, 50)); SetColor(topLeftBackInsidePanel, color(50, 50, 50)); SetColor(topLeftFrontInsidePanel, color(50, 50, 50)); SetColor(middleLeftBackInsidePanel, color(50, 50, 50)); SetColor(bottomLeftBackInsidePanel, color(50, 50, 50)); SetColor(bottomLeftFrontInsidePanel, color(50, 50, 50)); Setcolor(topLeftBackPanel, color(50, 50, 50)); SetColor(topLeftFrontPanel, color(50, 50, 50)); SetColor(middleLeftBackPanel, color(50, 50, 50)); SetColor(bottomLeftBackPanel, color(50, 50, 50)); SetColor(bottomLeftFrontPanel, color(50, 50, 50)); SetSQ(topRightBackInsidePanel, "BrassSurface"); SetSQ(topRightFrontInsidePanel, "BrassSurface"); SetSQ(middleRightBackInsidePanel, "BrassSurface"); SetSQ(bottomRightBackInsidePanel, "BrassSurface"); SetSQ(bottomRightFrontInsidePanel, "BrassSurface"); SetSQ(topRightBackPanel, "BrassSurface"); SetSQ(topRightFrontPanel, "BrassSurface"); SetSQ(middleRightBackPanel, "BrassSurface"); SetSQ(bottomRightBackPanel, "BrassSurface"); SetSQ(bottomRightFrontPanel, "BrassSurface"); SetSQ(topLeftBackInsidePanel, "BrassSurface"); SetSQ(topLeftFrontInsidePanel, "BrassSurface"); SetSQ(middleLeftBackInsidePanel, "BrassSurface"); SetSQ(bottomLeftBackInsidePanel, "BrassSurface"); SetSQ(bottomLeftFrontInsidePanel, "BrassSurface"); SetSQ(topLeftBackPanel, "BrassSurface"); SetSQ(topLeftFrontPanel, "BrassSurface"); SetSQ(middleLeftBackPanel, "BrassSurface"); SetSQ(bottomLeftBackPanel, "BrassSurface"); SetSQ(bottomLeftFrontPanel, "BrassSurface"); SetTexture(topRightBackInsidePanel, "herringbone.rle"); SetTexture(topRightFrontInsidePanel, "herringbone.rle"); SetTexture(middleRightBackInsidePanel, "herringbone.rle"); SetTexture(bottomRightBackInsidePanel, "herringbone.rle"); SetTexture(bottomRightFrontInsidePanel, "herringbone.rle"); SetTexture(topRightBackPanel, "herringbone.rle"); SetTexture(topRightFrontPanel, "herringbone.rle"); SetTexture(middleRightBackPanel, "herringbone.rle"); SetTexture(bottomRightBackPanel, "herringbone.rle"); SetTexture(bottomRightFrontPanel, "herringbone.rle"); SetTexture(topLeftBackInsidePanel, "herringbone.rle"); SetTexture(topLeftFrontInsidePanel, "herringbone.rle"); SetTexture(middleLeftBackInsidePanel, "herringbone.rle"); SetTexture(bottomLeftBackInsidePanel, "herringbone.rle"); SetTexture(bottomLeftFrontInsidePanel, "herringbone.rle"); SetTexture(topLeftBackPanel, "herringbone.rle"); SetTexture(topLeftFrontPanel, "herringbone.rle"); SetTexture(middleLeftBackPanel, "herringbone.rle"); SetTexture(bottomLeftBackPanel, "herringbone.rle"); SetTexture(bottomLeftFrontPanel, "herringbone.rle"); } { #### Show Everything above..... body = {middleSphere, tube, rightPoleAddition, leftPoleaddition, rightPoleAddition2, leftPoleAddition2, leftThing1, topRightWing, midRightWing, botRightWing, topLeftWing, midLeftWing, botLeftWing, rightEndCap, rightThing1, leftEndCap, rightEndCap2, leftEndCap2, topLeftGun, bottomLeftGun, topRightGun, bottomRightGun, window}; Panels = {topLeftBackInsidePanel, topLeftFrontInsidePanel, middleLeftBackInsidePanel, bottomLeftBackInsidePanel, bottomLeftFrontInsidePanel, topLeftBackPanel, topLeftFrontPanel, middleLeftBackPanel, bottomLeftBackPanel, bottomLeftFrontPanel, topRightBackInsidePanel, topRightFrontInsidePanel, middleRightBackInsidePanel, bottomRightBackInsidePanel, bottomRightFrontInsidePanel, topRightBackPanel, topRightFrontPanel, middleRightBackPanel, bottomRightBackPanel, bottomRightFrontPanel}; Show(body); Show(panels); } { ##################################################################################### ## ## For Rendering (or Ray tracing) this thing.... ####################################################################################### light1 = LightSource(Pt(0, 0, 50), 1, 1); light2 = LightSource(Pt(-50, 0, 0), 1, 1); DumpGeomFile({light1, light2}, "~/Alpha_1/tie/final/ti.hdr.a1"); DumpGeomFile({topLeftBackInsidePanel, topLeftFrontInsidePanel, middleLeftBackInsidePanel, bottomLeftBackInsidePanel, bottomLeftFrontInsidePanel, topLeftBackPanel, topLeftFrontPanel, middleLeftBackPanel, bottomLeftBackPanel, bottomLeftFrontPanel, topRightBackInsidePanel, topRightFrontInsidePanel, middleRightBackInsidePanel, bottomRightBackInsidePanel, bottomRightFrontInsidePanel, topRightBackPanel, topRightFrontPanel, middleRightBackPanel, bottomRightBackPanel, bottomRightFrontPanel}, "~/Alpha_1/tie/final/ti.panels.a1"); DumpGeomFile({middleSphere, tube, rightPoleAddition, leftPoleaddition, rightPoleAddition2, leftPoleAddition2, topRightWing, midRightWing, botRightWing, topLeftWing, midLeftWing, botLeftWing, rightEndCap, leftEndCap, rightEndCap2, leftEndCap2, topLeftGun, bottomLeftGun, topRightGun, bottomRightGun, window, rightThing1, leftThing1, extrusionRing}, "~/Alpha_1/tie/final/ti.hull.a1"); }