#declare R_FACTOR = -90 #declare Front_Lights = union { light_source{ < 30, 0, 37.5 > color Blue } light_source{ < 30, 0, -37.5 > color Blue } } #declare Rear_Lights = union { light_source{ < -17.5, 0, 45 > color Blue } light_source{ < -17.5, 0, -45> color Blue } } #declare Metal_Plates = texture { pigment { image_map{ gif "cruiser1.gif" } scale 50 } finish { Shiny } } #declare shuttle_lights = union { sphere { < -45, 15, 0 >, 1.0 } sphere { < 45, 15, 0 >, 1.0 } sphere { < -45, -15, 0 >, 1.0 } sphere { < 45, -15, 0 >, 1.0 } texture{ Lights_Color } } #declare main_section = union { box { // This is the main part of the ship < -50, -15, -15 >, < 50, 15, 15 > texture{ Metal_Plates rotate< 90, 0, 0 > } } cylinder { // This is the left side cylinder < -50, 0, 15 >, < 50, 0, 15 >, 15.0 texture{ Metal_Plates } } cylinder { // This is the right side cylinder < -50, 0, -15 >, < 50, 0, -15 >, 15.0 texture{ Metal_Plates } } cylinder { // This is the front cockpit cylinder < 50, 0, 15 >, < 50, 0, -15 >, 15.0 texture{ Metal_Plates rotate< 0, 90, 0 > } } sphere { < 50, 0, 15 >, 15.0 texture{ Metal_Plates rotate< 0, 45, 0 > } } sphere { < 50, 0, -15 >, 15.0 texture{ Metal_Plates rotate< 0, -45, 0 > } } } #declare front_engines = union { cylinder { // This is the cross cylinder which rotates < 0, 0, 45 >, < 0, 0, -45 >, 5.0 texture{ Metal_Plates rotate< 90, 0, 0 > } } cylinder { < 0, -10, 37.5 >, < 0, 7.5, 37.5 >, 5.0 texture{ Metal_Plates } } sphere { < 0, 7.5, 37.5 >, 5.0 texture{ Metal_Plates rotate< 90, 0, 0 > } } sphere { < 0, 12.5, 37.5 >, 1.0 texture{ Lights_Color } } cylinder { < 0, -10, -37.5 >, < 0, 7.5, -37.5 >, 5.0 texture{ Metal_Plates } } sphere { < 0, 7.5, -37.5 >, 5.0 texture{ Metal_Plates rotate< 90, 0, 0 > } } sphere{ < 0, 12.5, -37.5 >, 1.0 texture{ Lights_Color } } } #declare rear_engines = union { cylinder { // This is the cross cylinder which rotates < 0, 0, 55 >, < 0, 0, -55 >, 7.5 texture{ Metal_Plates rotate< 90, 0, 0 > } } cylinder { < 0, -23, 45 >, < 0, 9.5, 45 >, 7.5 texture{ Metal_Plates } } sphere { < 0, 9.5, 45 >, 7.5 texture{ Metal_Plates rotate< 90, 0, 0 > } } sphere{ < 0, 17, 45 >, 1.0 texture{ Lights_Color } } cylinder { < 0, -23, -45 >, < 0, 9.5, -45 >, 7.5 texture{ Metal_Plates } } sphere { < 0, 9.5, -45 >, 7.5 texture{ Metal_Plates rotate< 90, 0, 0 > } } sphere{ < 0, 17, -45 >, 1.0 texture{ Lights_Color } } } #declare main_section_complete = difference { object { main_section } box { < -55, -20, -40 >, < -49.9, 20, 40 > texture{ Metal_Plates rotate< 0, 90, 0 > } } } #declare freighter = union { object { shuttle_lights } difference { object { main_section_complete } merge { box { < 50, 3, -14.5 >, < 70, 10, -.5 > pigment { color White } } box { < 50, 3, .5 >, < 70, 10, 14.5 > pigment { color White } } cylinder { < -55, 0, -22.5 >, < -30, 0, -22.5 >, 5.0 texture{ T_Brass_3B } } cylinder { < -55, 0, 22.5 >, < -30, 0, 22.5 >, 5.0 texture{ T_Brass_3B } } } } // light_source{ < -40, 0, 22.5 > color White } // light_source{ < -40, 0, -22.5 > color White } difference { object { front_engines } merge { cylinder { < 0, -10.5, 37.5 >, < 0, -2.5, 37.5 >, 4.0 } cylinder { < 0, -10.5, -37.5 >, < 0, -2.5, -37.5 >, 4.0 } texture { T_Brass_3B } } rotate< 0, 0, R_FACTOR > translate< 30, -7.5, 0 > } object { Front_Lights } object { Rear_Lights } difference { object { rear_engines } merge { cylinder { < 0, -23.5, 45 >, < 0, -13.5, 45 >, 6.5 } cylinder { < 0, -23.5, -45 >, < 0, -13.5, -45 >, 6.5 } texture{ T_Brass_3B } } rotate < 0, 0, R_FACTOR > translate < -17.5, 5.5, 0 > } cylinder { // This is the front cockpit cylinder < 50, 0, 15 >, < 50, 0, -15 >, 14.95 texture { Green_Glass } } light_source { < 57.5, 5, 2.5 > color White spotlight point_at < 50, 4, 2.5 > radius 60 falloff 75 } light_source { < 57.5, 5, -2.5 > color White spotlight point_at < 50, 4, -2.5 > radius 60 falloff 75 } }