/***************************************************************** * 45-45-90 Planar.pov * * Generates a 45-45-90 kaleidoscope with an ornament image map. * * References 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, -4> // 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 "Ornaments.gif" // specify image to be mapped later onto the far plane once // only map once; do not tile or repeat } } #declare mirrors = union { // specify triangle of mirrors as the union of three infinite planes plane { -x, 0.5 } plane { -y, 0.5*tan(pi/6) } plane { , 0 } finish { reflection 1 // make all three planes fully reflective (mirrors) ambient 0 specular 0 } } union { // combine mirrors with image plane to create kaleidoscope object plane { z, 0 pigment { image } // map image onto z-plane translate <-.5,-.5,0> rotate 360*clock*z // rotate image plane one full turn per clock cycle (see QUICKRES.INI) finish { ambient 1.4 } } object { mirrors } translate <1, tan(pi/6), 0> / 6 }