// PoVRay 3.7 Scene File " ... .pov" // author: ... // date: ... //+w1280 +h640 +a0.3 +am2 +bm2 +bs8 +wt6 //-------------------------------------------------------------------------- #version 3.8; global_settings{ assumed_gamma 1.0 } //-------------------------------------------------------------------------- //--------------------------------------------------------------------------------- // camera ------------------------------------------------------------------------- #declare Camera_Location = < 0.00, 2.00, -12.00> ; // front view #declare Camera_Look_At = < 0.00, 1.00, 0.00> ; #declare Camera_Angle = 75 ; //-------------------------------------------------------------------------- camera{ location Camera_Location right x*image_width/image_height angle Camera_Angle look_at Camera_Look_At } // sun --------------------------------------------------------------------- light_source{< 3000,3000,-3000> color rgb<1,1,1>*0.9} // sun light_source{ Camera_Location color rgb<0.9,0.9,1>*0.1 shadowless}// flash // sky --------------------------------------------------------------------- sky_sphere { pigment { gradient <0,1,0> color_map { [0.00 rgb <0.6,0.7,1.0>] [0.35 rgb <0.1,0.0,0.8>] [0.65 rgb <0.1,0.0,0.8>] [1.00 rgb <0.6,0.7,1.0>] } scale 2 } // end of pigment } //end of skysphere // ground ------------------------------------------------------------------------- plane{ <0,1,0>, -2 texture{ pigment{ checker color rgb<1,1,1>*0.28 color rgb<1,1,1>*0.25} //normal { bumps 0.75 scale 0.025} //finish { phong 0.1} } // end of texture } // end of plane //--------------------------------------------------------------------------------- //---------------------------- objects in scene ----------------------------------- //--------------------------------------------------------------------------------- //----------------------------------------Difference sphere/disc #local Object = difference { sphere {<0,0,0>, 1.0} disc {<0,0,0>, y, 1.1} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate -7.5*x } //----------------------------------------Difference sphere/plane #local Object = difference { sphere {<0,0,0>, 1.0} plane {<0,1,0>, 0.0} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1 transmit 0.5} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate -4.5*x } //----------------------------------------Difference sphere/box #local Object = difference { sphere {<0,0,0>, 1.0} box {<-1.1, -1.1, -1.1>,<1.1, 0.0, 1.1>} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate -1.5*x } //----------------------------------------Intersection sphere/disc #local Object = intersection { sphere {<0,0,0>, 1.0} disc {<0,0,0>, -y, 1.1} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1 transmit 0.5} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate 1.5*x } //----------------------------------------Intersection sphere/plane #local Object = intersection { sphere {<0,0,0>, 1.0} plane {<0,-1,0>, 0.0} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1 transmit 0.5} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate 4.5*x } //----------------------------------------Intersection sphere/box #local Object = intersection { sphere {<0,0,0>, 1.0} box {<-1.1, 0.0, -1.1>,<1.1, 1.1, 1.1>} } //---------------------------------------- #declare Min = min_extent(Object); #declare Max = max_extent(Object); #debug concat("\n min_extent Object: <",vstr(3, Min, ", ", 0,3),">\n") #debug concat(" max_extent Object: <",vstr(3, Max, ", ", 0,3),">\n\n") //---------------------------------------- union { object { Object pigment {rgb 1 transmit 0.5} } sphere {<0,0,0>, 0.1 pigment {rgb <1,0,0>} translate <0.0, Min.y, 0.0>} translate 7.5*x }