// // // POVRAY version 3.1 scenery file // save it named: "escher1.pov" // created by Friedrich A. Lohmueller, 2000 // POVRAY reproduction of the drawing // "cubic space division" , 1952 by M.C.Escher // initiated by Giorgio Luciano, Italy // #include "colors.inc" #include "textures.inc" global_settings { assumed_gamma 2.5 } // camera -------------------------------------------------------------- #declare Cam1Pos = < 9.1 , 7.5 ,-3.8>; #declare Cam1 = camera {angle 50 location Cam1Pos up y*0.975 right x // For quadratic rendering // (600X600 for example) look_at < 4.2 , 1.5 , 6.5>} camera{Cam1} // sun ----------------------------------------------------------------- light_source{<100,250,-0.5> color White*1} light_source{<100,250,0.5> color White*1} // sky ----------------------------------------------------------------- sphere{<0,0,0>,1 hollow texture{pigment{gradient <0,1,0> color_map{[0 color Grey] [1 color White*1.2]} } finish {ambient 1 diffuse 0.5} } scale 10000} //---------------------------------------------------------------------- fog{distance 50 color rgb <1,1,1>} fog{distance 15 color rgb <1,1,1> fog_type 2 fog_offset 15 fog_alt 5 turbulence 0.2 turb_depth 0.4 } //---------------------------------------------------------------------- //---------------------------------------------------------------------- #declare DistanceX = 2.00; #declare DistanceY = 2.00; #declare DistanceZ = 2.00; #declare Mov = 0.003; #declare Plus = 0.003; #declare D = 0.0001; #declare CLen = 1.0; #declare CRadius = 0.035; #declare SRadius = 0.15; #declare T0 = texture{pigment{color rgb<1,1,1>*0} finish {ambient 0.25 diffuse 0.75 }} #declare T1 = texture{pigment{color rgb<1,1,1>*0.15} normal {bumps 0.8 scale 0.005} finish {ambient 0.25 diffuse 0.75 phong 0.6 }} #declare T2 = texture{pigment{color rgb<1,1,1>*0.15} normal {bumps 0.8 scale 0.005} finish {ambient 0.25 diffuse 0.75 phong 0.6 }} #declare T3 = texture{pigment{color rgb<1,1,1>*1} finish {ambient 0.85 diffuse 0.15 phong 0.1 }} union{ //blob{ #declare NrX = -4; // startX #declare EndNrX = 10;//12; // endX #while (NrX< EndNrX) #declare NrY = -4; // startY #declare EndNrY = 5;//8; // endY #while (NrY< EndNrY) #declare NrZ = -3; // startZ #declare EndNrZ = 8;//12; // endZ #while (NrZ< EndNrZ) union{ // x-direction box {<-1,-1,-1>,< 1,1,1> scale texture{T1}} box {<-1,-1,-1>,< 1,1,1> scale texture{T0} translate<0,0,-2*D>} box {<-1,-1,-1>,< 1,1,1> scale texture{T3} translate<0,-Mov/2-Plus,Mov+Plus>} // y-direction box {<-1,-1,-1>,< 1,1,1> scale texture{T1}} box {<-1,-1,-1>,< 1,1,1> scale texture{T0} translate<0,0,-2*D>} box {<-1,-1,-1>,< 1,1,1> scale texture{T3} translate<-Mov/2-Plus,0,Mov+Plus>} // z-direction box {<-1,-1,-1>,< 1,1,1> scale texture{T1}} box {<-1,-1,-1>,< 1,1,1> scale texture{T0} translate<2*D,0,0>} box {<-1,-1,-1>,< 1,1,1> scale texture{T3} translate<-Mov/2-Plus,-Mov-Plus,0>} // center box {<-1,-1,-1>,< 1,1,1> scale SRadius rotate<0,0,0> texture{T2}} box {<-1,-1,-1>,< 1,1,1> scale SRadius-D rotate<0,0,0> texture{T0} translate<0,0,-2*D>} box {<-1,-1,-1>,< 1,1,1> scale translate<-Mov/2-Plus,-Mov/2-Plus,Mov+Plus> texture{T3}} translate} #declare NrZ = NrZ + 1; // next NrZ #end // -------------------- end of loop Z #declare NrY = NrY + 1; // next NrY #end // -------------------- end of loop Y #declare NrX = NrX + 1; // next NrX #end // -------------------- end of loop X no_shadow } //--------------------------------------------------------------------------- end