// Last edited on DATE TIME by USER
// Processed by remove-cam-lights




  






  






background{ color rgb < 0.75, 0.80, 0.85 > }

#declare azul = 
    texture {
      pigment { color rgb < 0.07, 0.0, 0.70 > }
      finish { diffuse 0.5 specular 0.3 roughness 0.005 reflection 0.3 ambient 0.2 }
    }

#declare vermelho = 
    texture {
      pigment { color rgb < 0.7, 0.0, 0.07 > }
      finish { diffuse 1.5 specular 0.2 roughness 0.005  reflection 0.3 ambient 0.2 }
    }

#declare branco = 
    texture {
      pigment { color rgb < 1.0, 1.0, 1.0 > }
      finish { diffuse 1.5 specular 0.2 roughness 0.005  reflection 0.1 ambient 0.2 }
    }

#declare preto = 
    texture {
      pigment { color rgb < 0, 0, 0.03 > }
      finish { diffuse 1.5 specular 0.2 roughness 0.005  reflection 0.1 ambient 0.2 }
    }

#declare verde = 
  texture {
    pigment { color rgb < 0.07, 0.70, 0.07 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005  reflection 0.1  ambient 0.1 }
  }

#macro retalho(p11, p12, p13, p14, p21, p22, p23, p24, p31, p32, p33, p34, p41, p42, p43, p44)
union {
 bicubic_patch {
  type 0
  flatness 0.01
  u_steps 4
  v_steps 4
  
   p11,p12,p13,p14,
   p21,p22,p23,p24,
   p31,p32,p33,p34,
   p41,p42,p43,p44
  
   texture{vermelho}
 }
 sphere {p11, 0.1 texture {preto}} sphere {p12, 0.1 texture {preto}}
 sphere {p13, 0.1 texture {preto}} sphere {p14, 0.1 texture {preto}} 
 sphere {p21, 0.1 texture {preto}} sphere {p22, 0.1 texture {preto}}
 sphere {p23, 0.1 texture {preto}} sphere {p24, 0.1 texture {preto}}
 sphere {p31, 0.1 texture {preto}} sphere {p32, 0.1 texture {preto}}
 sphere {p33, 0.1 texture {preto}} sphere {p34, 0.1 texture {preto}}
 sphere {p41, 0.1 texture {preto}} sphere {p42, 0.1 texture {preto}}
 sphere {p43, 0.1 texture {preto}} sphere {p44, 0.1 texture {preto}}
}
#end


#declare A21 = <4,0,2.0>; #declare A22 = <4,2,2.0>; #declare A23 = <2,4,2.0>; #declare A24 = <0,4,2.0>;
#declare A31 = <4,0,1.0>; #declare A32 = <4,2,1.0>; #declare A33 = <2,4,1.0>; #declare A34 = <0,4,1.0>;
#declare A41 = <4,0,0.0>; #declare A42 = <4,2,0.0>; #declare A43 = <2,4,0.0>; #declare A44 = <0,4,0.0>;

#declare B21 = <6,2,4.0>; #declare B22 = <6,4,4.0>; #declare B23 = <4,6,4.0>; #declare B24 = <2,6,4.0>;
#declare B31 = <5,1,3.0>; #declare B32 = <5,3,3.0>; #declare B33 = <3,5,3.0>; #declare B34 = <1,5,3.0>;

#declare C11 = <4,4,7.0>; #declare C12 = <4,4,7.0>; #declare C13 = <4,4,7.0>; #declare C14 = <4,4,7.0>;
#declare C21 = <5,1,6.0>; #declare C22 = <5,3,6.0>; #declare C23 = <3,5,6.0>; #declare C24 = <1,5,6.0>;
#declare C31 = <5,1,5.0>; #declare C32 = <5,3,5.0>; #declare C33 = <3,5,5.0>; #declare C34 = <1,5,5.0>;

#declare A11 = (A21+B31)/2; #declare A12 = (A22+B32)/2; #declare A13 = (A23+B33)/2; #declare A14 = (A24+B34)/2;
#declare B11 = (B21+C31)/2; #declare B12 = (B22+C32)/2; #declare B13 = (B23+C33)/2; #declare B14 = (B24+C34)/2;
#declare B41 = A11; #declare B42 = A12; #declare B43 = A13; #declare B44 = A14;
#declare C41 = B11; #declare C42 = B12; #declare C43 = B12; #declare C44 = B14;





plane{z,0
 translate -4*y
 texture{
  pigment{ checker color rgb <0.5,0.5,0.5>,
    color rgb <1.5,1.5,1.5>
  }
 }
}

union {
 object {retalho(A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44)}
 object {retalho(B11,B12,B13,B14,B21,B22,B23,B24,B31,B32,B33,B34,B41,B42,B43,B44)}
 object {retalho(C11,C12,C13,C14,C21,C22,C23,C24,C31,C32,C33,C34,C41,C42,C43,C44)}

 object {retalho(A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44) rotate 90*z}
 object {retalho(B11,B12,B13,B14,B21,B22,B23,B24,B31,B32,B33,B34,B41,B42,B43,B44) rotate 90*z}
 object {retalho(C11,C12,C13,C14,C21,C22,C23,C24,C31,C32,C33,C34,C41,C42,C43,C44) rotate 90*z}

 object {retalho(A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44) rotate 180*z}
 object {retalho(B11,B12,B13,B14,B21,B22,B23,B24,B31,B32,B33,B34,B41,B42,B43,B44) rotate 180*z}
 object {retalho(C11,C12,C13,C14,C21,C22,C23,C24,C31,C32,C33,C34,C41,C42,C43,C44) rotate 180*z}

 object {retalho(A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44) rotate 270*z}
 object {retalho(B11,B12,B13,B14,B21,B22,B23,B24,B31,B32,B33,B34,B41,B42,B43,B44) rotate 270*z}
 object {retalho(C11,C12,C13,C14,C21,C22,C23,C24,C31,C32,C33,C34,C41,C42,C43,C44) rotate 270*z}
}



// Original camera parameters:
// #local cam_ctr = <0.00,0.00,1.00>
// #local cam_vec = (<0.00,15.00,10.00>-<0.00,0.00,1.00>)
// #local cam_sky = z

#include "camlight.inc"
camlight(<0.00,0.00,1.00>,<10,10,10>,20.0,z,1.0)