/********************************************************************** * 45-60-90 Spherical.pov * * Generates a 45-60-90 kaleidoscope with a random letters image map. * * Based on code by Mark Newbold. * **********************************************************************/ global_settings { assumed_gamma 1.8 // for rendering or viewing on a mac } global_settings { max_trace_level 25 // maximum number of rays spawned } camera { location <0, 0, -10> // move camera towards viewer look_at <0, 0, 0> // position camera to look at the origin right x // specify camera's "right" vector } #declare image=pigment { image_map { gif "SphereLetterMap.gif" // specify image to be mapped later onto the sphere map_type 1 // specify spherical mapping instead of planar once // only map once; do not tile or repeat } } #declare mirrors = union { // cone of mirrors, intersecting at the origin plane { y, 0 } plane { x, 0 } plane { <1, 1.5, 1>, 0 } finish { reflection 1 // make all three planes fully reflective (mirrors) ambient 0 specular 0 } rotate 20*y // rotate so that the part of the sphere lacking projection is hidden rotate -7*x } union { // combine mirrors with sphere to create kaleidoscope object sphere { 0, 1 // map image onto sphere surface pigment { image } finish { ambient 1.4 } rotate -90*y rotate 360*z*clock // rotate image map one full turn per clock cycle (see QUICKRES.INI) } object { mirrors } scale 4 }