Metropoli BBS
VIEWER: arches.pov MODE: TEXT (ASCII)
// Persistence Of Vision raytracer version 2.0 sample file.

// By Dan Farmer
// Parabolic arches on the water.  Is this the St. Louis McDonalds? 

#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"

camera {
   location <60.0, 0.0, -135.0>
   direction <0.0, 0.0, 2.0>
   up  <0.0, 1.0, 0.0>
   right <4/3, 0.0, 0.0>
   look_at <0.0, 0.0, 0.0>
}

// Light 
light_source {<200.0, 200.0, -150.0> colour red 1 green .5 }

// Now draw the sky (From sunset.inc)
sphere { <0.0, 0.0, 0.0>, 300.0

   pigment {
      gradient y
      colour_map {
         [0.0 0.8  colour red 0.5 green 0.1 blue 0.7
                   colour red 0.1 green 0.1 blue 0.9]
         [0.8 1.0  colour red 0.1 green 0.1 blue 0.9
                   colour red 0.1 green 0.1 blue 0.9]
      }
      quick_color red 0.7  green 0.7 blue 1.0
      scale 300.0
   }
   finish { ambient 1 }
}

// Put in a few clouds 
sphere { <0.0, 0.0, 0.0>, 259.0

   pigment {
      bozo
      turbulence 0.7
      colour_map {
         [0.0 0.6  colour red 1.0 green 1.0 blue 1.0 filter 1.0
                   colour red 1.0 green 1.0 blue 1.0 filter 1.0]
         [0.6 0.8  colour red 1.0 green 1.0 blue 1.0 filter 1.0
                   colour red 1.0 green 1.0 blue 1.0]
         [0.8 1.001 colour red 1.0 green 1.0 blue 1.0
                    colour red 0.8 green 0.8 blue 0.8]
      }
      quick_colour red 0.7 green 0.7 blue 1.0
      scale <100.0, 20.0, 100.0>
   }
   finish { ambient 1 }
}


// Define the ocean surface 
plane { y, -10.0

   pigment { Blue }
   normal {
      waves 0.05
      frequency 5000.0
      scale 3000.0
   }
   finish { reflection 0.8 }
}

/* Put a floor underneath to catch any errant waves from the ripples */
plane { y, -11.0
   pigment { Blue }
   finish {
      ambient 1.0
      diffuse 0.0
   }
}

// Create the arches using CSG difference between two "squashed" paraboloids
difference {
   object { Paraboloid_Y
      scale <20.0, 20.0, 5.0>
      rotate 180*x
   }
   object { Paraboloid_Y
      scale <15.0, 20.0, 15.0>
      rotate 180*x
      translate -2*y
   }

   finish { Metal }
   pigment { White }

   /* Move the whole thing to where I should've
    designed it in the first place!!  */

   translate <0.0, 30.0, -25.0>
}

difference {
   object { Paraboloid_Y
      scale <20.0, 20.0, 5.0>
      rotate 180*x
   }
   object { Paraboloid_Y
      scale <15.0, 20.0, 15.0>
      rotate 180*x
      translate -2*y
   }

   finish { Metal }
   pigment { White }

   /* Move the whole thing to where I should've
    designed it in the first place!!  */
   translate <0.0, 30.0, 50.0>
}
[ RETURN TO DIRECTORY ]