//
//
// 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