//========================================================================= // Title: A Better Mousetrap // Subtitle: Mouse Hell... // Subtitle: A mousetrap built to Government specifications.... ;-) // // Persistence Of Vision Raytracer version 2.x scene file // // Scene file by Jeffry J. Brickley July 27, 1995 // // note: Since I lack the knowledge and the programs to do scene // generation easily, this was pieced together and generated // MANY times to place objects manually, therefore, I had // to borrow a few objects from the sample files that come // with POV. I acknowledge ALL of the people who contributed // samples, because even where I didn't borrow objects, I've // borrowed, pigments, colors, and sometimes they just improved // my "world view" of how all these objects get placed. I don't // expect this to be any winning work as it is about 25% borrowed // objects, however, I can't help but enter this.... ;-) //========================================================================= #include "shapes.inc" #include "colors.inc" #include "textures.inc" #include "shapesq.inc" #include "shapes2.inc" camera { location <59, 20, -48> direction <0, 0, 1> up <0, 1, 0> right <4/3, 0, 0> look_at <0, 1, 0> } light_source { <800, 600, -200> colour White } // pigment defined from OAK2.POV by Dan Farmer #declare Oak = pigment { wood turbulence 0.05 colour_map { [0.00 0.10 color SemiSweetChoc color SemiSweetChoc] [0.10 0.90 color SemiSweetChoc color DarkWood] [0.90 1.01 color DarkWood color DarkWood ] } } #declare Grays = pigment { gradient y color_map { [0 color Clear] [0.2 color Gray85 filter 0.4] [0.3 color Gray75] [0.55 color Gray65 filter 0.3] [0.65 color Gray65 filter 1] [0.75 color Gray75 filter 0.5] [1 color Clear] } scale <1,5,5> omega 0.95 turbulence 0.375 scale <1,1/5,1/5> scale <0.3,1,1> } // texture defined from TAKEOFF.POV by David Mason #declare Steel = texture { pigment { SteelBlue } finish { phong 1.0 phong_size 20 ambient 0.3 diffuse 0.8 } } #declare SpotLight = union { cylinder { <1.0 , 0.0, 0.0 > <-1.0, 0.0, 0.0 >, 1.0 open pigment { Silver } } cylinder { <1.05, 0.0, 0.0 > <1.0, 0.0, 0.0 >, 1.0 pigment { Silver } } light_source { <0.9, 0.0, 0.0 > color White } } #declare Launcher = intersection { object { Cube scale <5.0, 2.0, 2.0> } object { Cylinder_X scale <1.0, 0.8, 0.8 > translate <0.0, -0.9, -0.9> inverse } object { Cylinder_X scale <1.0, 0.8, 0.8 > translate <0.0, 0.9, 0.9> inverse } object { Cylinder_X scale <1.0, 0.8, 0.8 > translate <0.0, 0.9, -0.9> inverse } object { Cylinder_X scale <1.0, 0.8, 0.8 > translate <0.0, -0.9, 0.9> inverse } texture { pigment { Silver } finish { crand 0.05 ambient 0.2 diffuse 0.3 } } } // rocket-ship from TAKEOFF.POV by David Mason (trimmed a bit for use) #declare Missle = intersection { union { intersection { object { Piriform translate -0.75*x rotate -90*z scale <2, 6, 2> texture { Steel } } object { QCone_Y scale <1.8, 5.0, 1.8> rotate 180*x translate 5*y pigment { Clear } } plane { y, 5 pigment { Clear } } plane { y, 0 inverse pigment { Clear } } } intersection { object { Piriform translate -0.75*x rotate 90*z scale <2, 18, 2> texture { Steel } } object { QCone_Y scale <1.8, 15.0, 1.8> translate -15*y pigment { Clear } } plane { y, 0 pigment { Clear } } plane { y, -8 inverse pigment { Clear } } } intersection { object { Piriform translate -0.40*x rotate 90*z scale <2, 6, 2> texture { Steel } } plane { y, 0 inverse pigment { Clear } } translate -11*y } } object { Cylinder_Y scale <1.45, 1.0, 1.45> pigment { Clear } } bounded_by { intersection { object { Cylinder_Y scale <1.45, 1.0, 1.45> } plane { y, 5 } plane { y, -11 inverse } } } translate 18*y } #declare MissleLauncher = union { object { Launcher scale 3.0 } object { Missle rotate 90*x rotate 90*y translate <-11.0, 1.6, 1.6> scale <2.0, 1.6, 1.6 > } object { Missle rotate 90*x rotate 90*y translate <-11.0, -1.6, -1.6> scale <2.0, 1.6, 1.6 > } object { Missle rotate 90*x rotate 90*y translate <-11.0, -1.6, 1.6> scale <2.0, 1.6, 1.6 > } object { Missle rotate 90*x rotate 90*y translate <-11.0, 1.6, -1.6> scale <2.0, 1.6, 1.6 > } scale <0.5, 0.5, 0.5> } #declare TNT = union { cylinder { <5.0,0.0,0.0> <-5.0, 0.0, 0.0>,0.5 pigment { Firebrick } } cylinder { <6.2,0.0,0.0> <5.0,0.0,0.0>,0.52 pigment { Silver } } cylinder { <-6.2,0.0,0.0> <-5.0,0.0,0.0>,0.52 pigment { Silver } } } // object from SNACK.POV by Tom Price (modified for taste... ) /* a wedge of COLBY-JACK cheese*/ #declare Cheese = intersection { object { Cylinder_Y scale <10.0, 1.0, 10.0> } plane { y, 20.0 } plane { y, 0.0 inverse } plane { x, 5.0 rotate 30.0*y } plane { x, -5.0 rotate -30.0*y inverse } texture { pigment { bozo turbulence 0.3 colour_map { [0.0, 0.5 color red 1.0 green 0.8 blue 0.0 color red 1.0 green 0.5 blue 0.0] [0.5, 0.7 color red 1.0 green 0.5 blue 0.0 color red 1.0 green 0.5 blue 0.0] [0.7, 0.9 color red 1.0 green 0.8 blue 0.0 color red 0.8 green 0.8 blue 0.7] [0.9, 1.0 color red 0.8 green 0.8 blue 0.7 color red 0.9 green 0.9 blue 0.9] } } finish { crand 0.05 ambient 0.2 diffuse 0.8 } } bounded_by { intersection { object { Cylinder_Y scale <10.01, 1.0, 10.01> } plane { y, 20.01 } plane { y, -0.01 inverse } } } } /* Sky */ sphere { <0, -39000, 0>, 40000 inverse pigment { Apocalypse scale 200 } rotate 10.0*x finish { ambient 1 diffuse 0 } } /* Ground */ plane { y, -5 pigment { Green } finish { crand 0.05 ambient 0.5 diffuse 0.5 phong 1 } normal { bumps 25 scale 40 } } object { Cheese scale 0.3 rotate 35.0*y translate <0, 1.75, -1.0> } object { MissleLauncher rotate 45*y translate <-32.0, 3.0, 32.0> } object { MissleLauncher rotate 225*y translate <32.0, 3.0, -32.0> } object { MissleLauncher rotate 315*y translate <-32.0, 3.0, -32.0> } object { MissleLauncher rotate 135*y translate <32.0, 3.0, 32.0> } object { union { object { SpotLight rotate 0*y translate <40.0, 12.0, 0.0> } object { cylinder { <40.0,11.0, 0.0> <40.0,-2.0, 0.0>,0.3 pigment { Silver } } } } finish { crand 0.05 ambient 0.2 diffuse 0.2 } } object { union { object { SpotLight rotate 180*y translate <-40.0, 12.0, 0.0> } object { cylinder { <-40.0,11.0, 0.0> <-40.0,-2.0, 0.0>,0.3 pigment { Silver } } } } finish { crand 0.05 ambient 0.2 diffuse 0.2 } } object { union { object { SpotLight rotate 270*y translate <0.0, 12.0, 40.0> } object { cylinder { <0.0,11.0, 40.0> <0.0,-2.0, 40.0>,0.3 pigment { Silver } } } } finish { crand 0.05 ambient 0.2 diffuse 0.2 } } object { union { object { SpotLight rotate 90*y translate <0.0, 12.0, -40.0> } object { cylinder { <0.0,11.0, -40.0> <0.0,-2.0, -40.0>,0.3 pigment { Silver } } } } finish { crand 0.05 ambient 0.2 diffuse 0.2 } } object { Pyramid2 translate < 0.0, 1.0 , 0.0 > scale < 17.0, 17.0, 17.0 > translate <0.0, 25.0, 0.0> pigment { White_Marble scale < 2.0, 2.0, 2.0 > } finish { crand 0.05 ambient 0.1 diffuse 0.3 } } object { union { object { TNT translate <0.0,2.0,4.5> } object { TNT translate <0.0,2.0,3.5> } object { TNT translate <0.0,1.25,5.0> } object { TNT translate <0.0,1.25,4.0> } object { TNT translate <0.0,1.25,3.0> } object { TNT translate <0.0,1.25,2.0> } object { TNT translate <0.0,1.25,1.0> } object { TNT translate <0.0,1.25,0.0> } object { TNT translate <0.0,1.25,-1.0> } object { TNT translate <0.0,1.25,-2.0> } object { TNT translate <0.0,1.25,-3.0> } object { TNT translate <0.0,1.25,-4.0> } object { TNT translate <0.0,1.25,-5.0> } object { TNT translate <0.0,2.0,-3.5> } object { TNT translate <0.0,2.0,-4.5> } } finish { crand 0.05 ambient 0.2 diffuse 0.4 } } object { /* Board */ intersection { plane { +x, 36 } plane { -x, 36 } plane { +y, 0 } plane { -y, 1 } plane { +z, 36 } plane { -z, 36 } texture { pigment { Oak } scale < 3.0, 3.0, 3.0 > rotate 20*y } } // intersection bounded_by { plane { y, 0 } } } object { /* Board */ intersection { plane { +x, 38 } plane { -x, 38 } plane { +y, 0 } plane { -y, 1 } plane { +z, 38 } plane { -z, 38 } texture { pigment { Oak } scale < 2.2, 2.2, 2.2 > rotate 10*y } } // intersection bounded_by { plane { y, 0 } } translate < 0.0, -1.0, 0.0 > } object { /* Board */ intersection { plane { +x, 40 } plane { -x, 40 } plane { +y, 0 } plane { -y, 1 } plane { +z, 40 } plane { -z, 40 } texture { pigment { Oak } scale < 2.7, 2.7, 2.7 > rotate -20*y } } // intersection bounded_by { plane { y, 0 } } translate < 0.0, -2.0, 0.0 > } object { /* Board */ intersection { plane { +x, 42 } plane { -x, 42 } plane { +y, 0 } plane { -y, 1 } plane { +z, 42 } plane { -z, 42 } texture { pigment { Oak } scale < 2.4, 2.4, 2.4 > rotate -10*y } } // intersection bounded_by { plane { y, 0 } } translate < 0.0, -3.0, 0.0 > } object { /* Board */ intersection { plane { +x, 44 } plane { -x, 44 } plane { +y, 0 } plane { -y, 1 } plane { +z, 44 } plane { -z, 44 } texture { pigment { Oak } scale < 2.9, 2.9, 2.9 > rotate 45*y } } // intersection bounded_by { plane { y, 0 } } translate < 0.0, -4.0, 0.0 > } // He, He, Got one in the distance!! He, He object { union { sphere { <0,0,0>, 100 pigment { Grays scale <5.0, 5.0, 5.0> } } sphere { <0,0,0>, 105 pigment { Grays scale <15.0,15.0,15.0> } } } translate < -1200, 0, 2500 > finish { Luminous } }