home *** CD-ROM | disk | FTP | other *** search
- {------------------------------------------------------M. MILLER 1/3/92 }
- {-----------------THE TRAIN---------------------------------------------}
-
-
- //DECLARE TRAIN COLORS
-
-
- #declare GOLD = texture
- 0.02 ambient 0.4 diffuse 0.7 colour red 0.6 green 0.6 blue 0.0
- reflection 0.6 brilliance 8.0 phong 0.8 phongsize 50
- end_texture
-
- #declare SILVER = texture
- 0.02 ambient 0.4 diffuse 0.7 colour red 0.7 green 0.7 blue 0.7
- reflection 0.5 brilliance 7.0 specular 0.5
- end_texture
-
- #declare BOD_COLOR1 = TEXTURE COLOR RED 0.60 GREEN 0.0 BLUE 0.11 DIFFUSE 0.8 PHONG 1.0 END_TEXTURE
- #declare BOD_COLOR2 = TEXTURE COLOR Scarlet DIFFUSE 0.4 REFLECTION 0.1 PHONG 1.0 END_TEXTURE
- #declare BOD_COLOR3 = TEXTURE COLOR RED 0.60 GREEN 0.0 BLUE 0.11 DIFFUSE 0.8 PHONG 1.0 END_TEXTURE
- #declare BOD_COLOR4 = TEXTURE BRASS END_TEXTURE
- #declare BOD_COLOR5 = TEXTURE COLOR RED 0.2 GREEN 0.2 BLUE 0.2 AMBIENT 0.2 DIFFUSE 0.7 PHONG 1.0 END_TEXTURE
- #declare BOD_COLOR6 = TEXTURE COLOR RED 0.15 GREEN 0.15 BLUE 0.15 DIFFUSE 1.0 REFLECTION 0.2 PHONG 1.0 END_TEXTURE
-
-
- {-----------DECLARE MAIN TRUNK---------------}
- #declare TRUNK = OBJECT
- UNION
- INTERSECTION X_Disk SCALE <240 50 50> TRANSLATE <0 0 0> END_INTERSECTION
- QUADRIC QSphere SCALE <30 30 20> TRANSLATE <160 50 0> END_QUADRIC
- QUADRIC QSphere SCALE <30 30 20> TRANSLATE <180 50 0> END_QUADRIC
- INTERSECTION X_Disk SCALE <20 30 20> TRANSLATE <160 50 0> END_INTERSECTION
- INTERSECTION Cube SCALE <120 3 55> TRANSLATE <120 0 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR1 END_TEXTURE
- BOUNDED_BY
- INTERSECTION X_Disk SCALE <250 70 56> TRANSLATE <-5 10 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
- #declare BRASS_RINGS = OBJECT
- UNION
- QUADRIC QSphere SCALE <5 55 55> TRANSLATE <95 0 0> END_QUADRIC
- QUADRIC QSphere SCALE <5 55 55> TRANSLATE <175 0 0> END_QUADRIC
- QUADRIC QSphere SCALE <5 55 55> TRANSLATE <240 0 0> END_QUADRIC
- INTERSECTION Cube SCALE <120 3 55> TRANSLATE <120 0 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR4 END_TEXTURE
- BOUNDED_BY
- INTERSECTION X_Disk SCALE <250 70 56> TRANSLATE <-5 10 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
-
-
- #declare MAIN_TRUNK = COMPOSITE
- OBJECT TRUNK END_OBJECT
- OBJECT BRASS_RINGS END_OBJECT
- END_COMPOSITE
-
-
- {------------- CABIN ROOF -----------------}
- #declare CROOF = OBJECT
- DIFFERENCE
- UNION
- INTERSECTION Cube SCALE < 35 10 20> TRANSLATE <75 90 0> END_INTERSECTION
- INTERSECTION X_Disk SCALE <150 93 93> TRANSLATE <0 0 0> END_INTERSECTION
- END_UNION
- PLANE <0 1 0> 60 END_PLANE
- END_DIFFERENCE
- TEXTURE BOD_COLOR2 END_TEXTURE
- END_OBJECT
-
- {------------ CABIN ----------------------}
- #declare TCABIN = OBJECT
- DIFFERENCE
- INTERSECTION Cube SCALE <55 60 70> TRANSLATE <0 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <10 20 80> TRANSLATE <-35 30 0> END_INTERSECTION
- INTERSECTION Cube SCALE <30 20 80> TRANSLATE <15 30 0> END_INTERSECTION
- INTERSECTION Cube SCALE <50 50 65> TRANSLATE <0 5 0> END_INTERSECTION
- INTERSECTION Cube SCALE <40 20 80> TRANSLATE <25 -60 0> END_INTERSECTION
- END_DIFFERENCE
- TEXTURE
- MATERIAL_MAP <1 -1 0> gif "tcabin.gif"
- TEXTURE BOD_COLOR1 END_TEXTURE
- TEXTURE BOD_COLOR2 END_TEXTURE
- TEXTURE BOD_COLOR3 END_TEXTURE
- TEXTURE BOD_COLOR4 END_TEXTURE
- END_MATERIAL_MAP
- SCALE <110 120 1> TRANSLATE <-55 -60 -1>
- PHONG 0.5 PHONGSIZE 50
- DIFFUSE 0.9
- END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <80 80 80 > TRANSLATE <-10 20 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
- #declare CABIN = COMPOSITE
- OBJECT CROOF TRANSLATE <-85 0 0> END_OBJECT
- OBJECT TCABIN END_OBJECT
- END_COMPOSITE
-
- {------------ FRONT NOSE ------------------}
- #declare TNOSE = OBJECT
- UNION
- INTERSECTION X_Disk SCALE <80 50 50> TRANSLATE <0 0 0> END_INTERSECTION
- QUADRIC QSphere SCALE <5 55 55> TRANSLATE <80 0 0> END_QUADRIC
- QUADRIC QSphere SCALE <10 45 45> TRANSLATE <80 0 0> END_QUADRIC
- INTERSECTION X_Disk SCALE <10 15 15> TRANSLATE <87 0 0> END_INTERSECTION
- QUADRIC QSphere SCALE <10 10 10> TRANSLATE <70 60 0> END_QUADRIC
- INTERSECTION X_Disk SCALE <20 10 10> TRANSLATE <70 60 0> END_INTERSECTION
- INTERSECTION Y_Disk SCALE <15 20 15> TRANSLATE <25 50 0> END_INTERSECTION
- INTERSECTION DCone SCALE <30 65 30> TRANSLATE <25 40 0> END_INTERSECTION
- INTERSECTION Y_Disk SCALE <25 5 25> TRANSLATE <25 70 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR6 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <60 95 60 > TRANSLATE <50 30 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
- {----------- TRAIN FRAME ------------------}
- #declare TFRAME = OBJECT
- UNION
- INTERSECTION Cube SCALE <235 30 40> TRANSLATE <0 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <25 40 80> TRANSLATE <130 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <40 15 20> TRANSLATE <-225 -25 0> END_INTERSECTION
- INTERSECTION Cube SCALE <15 30 85> TRANSLATE <130 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <40 3 70> TRANSLATE <195 0 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR5 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <270 60 90 > TRANSLATE <0 0 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
- {------- GOLD STACKS -----------------------}
- #declare STACK1 = UNION
- INTERSECTION Y_Disk SCALE <5 20 5> END_INTERSECTION
- INTERSECTION Y_Disk SCALE <8 10 8> TRANSLATE <0 20 0> END_INTERSECTION
- END_UNION
-
- {-------- STACKS ---------------------------}
- #declare STACKS = OBJECT
- UNION
- UNION STACK1 TRANSLATE <-285 210 0> END_UNION
- UNION STACK1 TRANSLATE <-245 190 0> END_UNION
- UNION STACK1 TRANSLATE <-225 190 0> END_UNION
- UNION STACK1 SCALE <2 1 2> TRANSLATE <-160 200 0> END_UNION
-
- INTERSECTION Y_Disk SCALE <15 40 15> TRANSLATE <-285 170 0> END_INTERSECTION
- QUADRIC QSphere SCALE <15 10 15> TRANSLATE <-285 210 0> END_QUADRIC
- INTERSECTION Y_Disk SCALE <20 20 20> TRANSLATE <-235 170 0> END_INTERSECTION
-
- INTERSECTION Y_Disk SCALE <35 10 35> TRANSLATE <-65 230 0> END_INTERSECTION
- INTERSECTION Y_Disk SCALE <25 10 25> TRANSLATE <-65 240 0> END_INTERSECTION
- INTERSECTION X_Disk SCALE <10 10 10> TRANSLATE <0 190 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR4 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <180 50 45> TRANSLATE <-130 210 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- {----------- SIDE PANEL ---------------------}
- #declare SIDE_PANEL = OBJECT
- UNION
- INTERSECTION Cube SCALE <65 35 2.5> TRANSLATE <0 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <55 25 7.5> TRANSLATE <0 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <85 10 2.5> TRANSLATE <150 -5 0> END_INTERSECTION
- INTERSECTION Cube SCALE <25 6 7> TRANSLATE <130 -50 1> END_INTERSECTION
- INTERSECTION Cube SCALE <10 17 7> TRANSLATE <115 -38 1> END_INTERSECTION
- INTERSECTION Cube SCALE <60 2.5 2.5> TRANSLATE <120 -22.5 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR5 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <160 60 8> TRANSLATE <85 -10 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- {-------- SPOKE -----------}
- #declare SPOKE = {INTERSECTION Cube SCALE <42 2.5 2> END_INTERSECTION}
- INTERSECTION X_Disk SCALE <84 5 4> TRANSLATE <-42 0 0> END_INTERSECTION
-
- {------------ MAKE WHEEL ---}
- #declare WHEEL1 = OBJECT
- UNION
- INTERSECTION SPOKE ROTATE <0 0 0> END_INTERSECTION
- INTERSECTION SPOKE ROTATE <0 0 45> END_INTERSECTION
- INTERSECTION SPOKE ROTATE <0 0 90> END_INTERSECTION
- INTERSECTION SPOKE ROTATE <0 0 -45> END_INTERSECTION
- INTERSECTION Z_Disk SCALE <20 20 10> TRANSLATE <0 0 -5> END_INTERSECTION
- INTERSECTION Z_Disk SCALE <10 10 10> TRANSLATE <0 0 -8> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR2 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Z_Disk SCALE <48 48 18> TRANSLATE <0 0 -9> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- #declare RIM = OBJECT
- DIFFERENCE
- INTERSECTION Z_Disk SCALE <45 45 12> TRANSLATE <0 0 -6> END_INTERSECTION
- QUADRIC Cylinder_Z SCALE <40 40 1> END_QUADRIC
- END_DIFFERENCE
- TEXTURE SILVER END_TEXTURE
- BOUNDED_BY
- INTERSECTION Z_Disk SCALE <48 48 13> TRANSLATE <0 0 -6.5> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
- #declare WHEEL = COMPOSITE
- OBJECT WHEEL1 END_OBJECT
- OBJECT RIM END_OBJECT
- BOUNDED_BY
- INTERSECTION Z_Disk SCALE <48 48 12> TRANSLATE <0 0 -6> END_INTERSECTION
- END_BOUND
- END_COMPOSITE
-
-
-
-
-
-
- {----------- SMALL WHEEL -----------------}
- #declare S_WHEEL = COMPOSITE
- WHEEL SCALE <0.60 0.60 1> END_COMPOSITE
-
-
- #declare COW = intersection
- plane <0.0 0.0 1.0> 1.0 end_plane
- plane <0.0 0.0 -1.0> 1.1 end_plane
- plane <0.0 -1.0 0.0> 1.0 end_plane
- plane <1.0 0.0 0.0> 0.5 rotate <0 0 45> translate < 0 -0.5 0> rotate <-45 0 0> end_plane
- plane <-1.0 0.0 0.0> 0.5 rotate <0 0 -45> translate <0 -0.5 0> rotate <-45 0 0> end_plane
- end_intersection
-
-
- #declare CUTTER = INTERSECTION Cube SCALE <1 5 20> END_INTERSECTION
-
- #declare C_CATCH =
- OBJECT
- DIFFERENCE
- INTERSECTION COW SCALE <10 5 10> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <1.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <4.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <7.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <-1.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <-4.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <-7.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <-10.5 1 0> END_INTERSECTION
- INTERSECTION CUTTER TRANSLATE <10.5 1 0> END_INTERSECTION
- INTERSECTION COW SCALE <10 5 10> TRANSLATE <0 -0.5 2> END_INTERSECTION
- END_DIFFERENCE
- TEXTURE SILVER END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <10 5 10> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- #declare COW_CATCH = COMPOSITE
- OBJECT C_CATCH SCALE <4.8 5 4> TRANSLATE <0 -10 -45> END_OBJECT
- OBJECT INTERSECTION Cube SCALE <70 30 5> END_INTERSECTION
- TEXTURE BOD_COLOR5 END_TEXTURE
- END_OBJECT
- ROTATE <0 -90 0>
- END_COMPOSITE
-
-
- #declare DOT_R = QUADRIC QSphere SCALE <5 5 5> END_QUADRIC
-
-
- {---------------CREATE THICK GOLD RAIL-----------------}
- #declare THICK_RAIL = OBJECT
- UNION
- QUADRIC DOT_R TRANSLATE <0 0 0> END_QUADRIC
- QUADRIC DOT_R TRANSLATE <130 0 0> END_QUADRIC
- QUADRIC DOT_R TRANSLATE <130 -30 0> END_QUADRIC
- QUADRIC DOT_R TRANSLATE <300 -30 0> END_QUADRIC
- QUADRIC DOT_R TRANSLATE <350 -80 0> END_QUADRIC
- QUADRIC DOT_R TRANSLATE <370 -80 0> END_QUADRIC
-
- INTERSECTION X_Disk SCALE <130 5 5> TRANSLATE <0 0 0> END_INTERSECTION
- INTERSECTION X_Disk SCALE <170 5 5> TRANSLATE <130 -30 0> END_INTERSECTION
- INTERSECTION Y_Disk SCALE <5 30 5> TRANSLATE <130 -30 0> END_INTERSECTION
- INTERSECTION X_Disk SCALE <20 5 5> TRANSLATE <350 -80 0> END_INTERSECTION
- INTERSECTION X_Disk SCALE <70 5 5> ROTATE <0 0 -45> TRANSLATE <300 -30 0> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR4 END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <200 70 10> TRANSLATE <190 -35 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- #declare POST = QUADRIC QSphere SCALE <4 4 8> END_QUADRIC
-
- #declare THIN_RAIL = OBJECT
- UNION
- QUADRIC POST END_QUADRIC
- QUADRIC POST TRANSLATE <120 0 0> END_QUADRIC
- QUADRIC POST TRANSLATE <240 0 0> END_QUADRIC
- INTERSECTION X_Disk SCALE <240 2 2> TRANSLATE <0 0 -2> END_INTERSECTION
- END_UNION
- TEXTURE BOD_COLOR4 END_TEXTURE
- BOUNDED_BY
- INTERSECTION X_Disk SCALE <250 9 9> TRANSLATE <-5 0 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- {----------------------WHEEL DRIVE-------------------}
- #declare WHEEL_DRIVE = OBJECT
- UNION
- INTERSECTION Z_Disk SCALE <7 7 12> TRANSLATE <0 0 -4> END_INTERSECTION
- INTERSECTION Z_Disk SCALE <7 7 12> TRANSLATE <130 0 -4> END_INTERSECTION
- INTERSECTION Z_Disk SCALE <7 7 12> TRANSLATE <150 25 -4> END_INTERSECTION
- INTERSECTION Cube SCALE <65 3 2> TRANSLATE <65 0 0> END_INTERSECTION
- INTERSECTION Cube SCALE <15 3 2> ROTATE <0 0 40> TRANSLATE <140 10 0> END_INTERSECTION
- INTERSECTION Cube SCALE <55 3 2> TRANSLATE <140 39 4> END_INTERSECTION
- END_UNION
- TEXTURE SILVER END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <130 40 12> TRANSLATE <120 20 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
-
-
-
- {-------------- PUT THE TRAIN MODEL TOGETHER -------------------------}
-
- {********* NOTE: ANYTHING WITH // IN THIS COMPOSITE ARE DETAILS ON THE
- BACK SIDE OF TRAIN }
-
-
- #declare XTRAIN = COMPOSITE
- COMPOSITE MAIN_TRUNK TRANSLATE <-330 130 0> END_COMPOSITE
- COMPOSITE CABIN TRANSLATE <-385 130 0> END_COMPOSITE
- OBJECT TNOSE TRANSLATE <-90 130 0> END_OBJECT
- OBJECT TFRAME TRANSLATE <-200 60 0> END_OBJECT
- OBJECT STACKS END_OBJECT
- OBJECT SIDE_PANEL TRANSLATE <-265 105 -67.5> END_OBJECT
- //OBJECT SIDE_PANEL TRANSLATE <-265 105 67.5> END_OBJECT
- COMPOSITE WHEEL TRANSLATE <-280 45 -50> END_COMPOSITE
- //COMPOSITE WHEEL TRANSLATE <-280 45 50> END_COMPOSITE
- COMPOSITE WHEEL TRANSLATE <-150 45 -50> END_COMPOSITE
- //COMPOSITE WHEEL TRANSLATE <-150 45 50> END_COMPOSITE
- COMPOSITE S_WHEEL TRANSLATE <0 28 -50> END_COMPOSITE
- //COMPOSITE S_WHEEL TRANSLATE <0 28 50> END_COMPOSITE
- OBJECT THICK_RAIL TRANSLATE <-330 140 67.5> END_OBJECT
- OBJECT THICK_RAIL TRANSLATE <-330 140 -67.5> END_OBJECT
- //OBJECT THIN_RAIL TRANSLATE <-300 160 45> END_OBJECT
- OBJECT THIN_RAIL TRANSLATE <-300 160 -45> END_OBJECT
- //OBJECT WHEEL_DRIVE TRANSLATE <-270 30 67.5> END_OBJECT
- OBJECT WHEEL_DRIVE TRANSLATE <-270 30 -71.5> END_OBJECT
- COMPOSITE COW_CATCH SCALE <0.7 1 1.1> TRANSLATE <43 45 0> END_COMPOSITE
-
- OBJECT QUADRIC QSphere SCALE <5 10.3 10.3> TRANSLATE <10 130 0> END_QUADRIC
- TEXTURE BOD_COLOR4 END_TEXTURE END_OBJECT
- BOUNDED_BY
- INTERSECTION Cube SCALE <330 140 120> TRANSLATE <-160 130 0> END_INTERSECTION
- END_BOUND
- END_COMPOSITE
-
- #declare SMOKE = OBJECT
- UNION
- QUADRIC QSphere SCALE <15 40 15> TRANSLATE <0 0 0> END_QUADRIC
- QUADRIC QSphere SCALE <20 20 20> TRANSLATE <0 30 0> END_QUADRIC
- QUADRIC QSphere SCALE <25 20 25> TRANSLATE <-10 50 0> END_QUADRIC
- QUADRIC QSphere SCALE <30 25 30> TRANSLATE <-40 60 0> END_QUADRIC
- QUADRIC QSphere SCALE <50 25 35> TRANSLATE <-60 70 0> END_QUADRIC
- QUADRIC QSphere SCALE <170 25 40> TRANSLATE <-90 80 0> END_QUADRIC
- QUADRIC QSphere SCALE <170 25 40> TRANSLATE <-100 100 0> END_QUADRIC
- QUADRIC QSphere SCALE <50 10 30> TRANSLATE <-120 110 0> END_QUADRIC
- END_UNION
- TEXTURE
- bozo
- turbulence 0.4
- 0.05
- colour_map
- [0.0 0.1 colour red 1.0 green 1.0 blue 1.0 alpha 0.8
- colour red 1.0 green 1.0 blue 1.0 alpha 0.9]
- [0.1 0.5 colour red 1.0 green 1.0 blue 1.0 alpha 0.9
- colour red 1.0 green 1.0 blue 1.0 alpha 0.8 ]
- [0.5 1.001 colour red 1.0 green 1.0 blue 1.0 alpha 0.8
- colour red 1.0 green 1.0 blue 1.0 alpha 1.0]
- end_colour_map
- ROTATE <0 0 90> SCALE <40 30 20>
- END_TEXTURE
-
- TEXTURE
- GRADIENT <0 1 0>
- COLOR_MAP
- [0.0 0.2 COLOR White ALPHA 0.7 COLOR White ALPHA 0.8]
- [0.2 0.4 COLOR White ALPHA 0.8 COLOR White ALPHA 1.0]
- [0.4 1.01 COLOR White ALPHA 1.0 COLOR White ALPHA 1.0]
- END_COLOR_MAP
- SCALE <300 140 40> TRANSLATE <0 -160 0>
- END_TEXTURE
- BOUNDED_BY
- INTERSECTION Cube SCALE <400 120 50> TRANSLATE <-160 30 0> END_INTERSECTION
- END_BOUND
- END_OBJECT
-
- {---------- THE WHOLE Kit n' Cabosse -----------------------}
- #declare TRAIN = COMPOSITE
- OBJECT SMOKE SCALE <1 1.2 1> TRANSLATE <-65 260 0> END_OBJECT
- COMPOSITE XTRAIN END_COMPOSITE
- END_COMPOSITE
-