// Last edited on 2007-04-01 20:45:42 by stolfi
// Processed by remove-cam-lights

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

#declare azul = 
  texture {
    pigment { color rgb < 0.00, 0.00, 1.00 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }

#declare vermelho =
texture {
    pigment { color rgb < 1.00, 0.00, 0.0 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }

#declare verde =
texture {
    pigment { color rgb < 0.00, 1.00, 0.0 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }

#declare preto = 
  texture {
    pigment { color rgb < 0.00, 0.00, 0.0 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }

#declare branco =
 texture {
 pigment {color rgb <1, 1, 1> }
}

#declare i = 0;
#declare j = 0;

#while (i<30)

 #while (j<30)
 #if ((mod(i,2)= mod(j,2)))
  box {
     < 1*j, 1*i, 1 >,<(1*j)+1, (i*1)+1, 0.00>
     texture { branco }
 }
 #else
 box {
     < 1*j, 1*i, 1 >,<(1*j)+1, (i*1)+1, 0.00>
   texture { preto }
 }

 #end
 #declare j = j+1;
 #end
#declare j = 0;
#declare i = i+1;
#end

#declare roleta=seed(12345);

#declare xx = int(1000*rand(roleta));

#declare i = 0;
#declare j = 0;

#while (i<30)

 #while (j<30)

 #if((mod(xx,7))= 0) 
 union{
 cone {
     <j+0.5,i+0.5, 1.00>,0.5,<j+0.5, i+0.5,3.5>,0
     texture {vermelho}
 }
 sphere {
 <j+0.5,i+0.5,3.5>,0.3
 texture {vermelho}
 }
 }
 #else

 #if(mod(xx,3)=0) 
 union{
 box {
    < 1*j, 1*i, 1.2 >,<(1*j)+1, (i*1)+1, 1.00>
     texture {azul}
 }
 cylinder {
 <j+0.5,i+0.5, 1.2>,<j+0.5,i+0.5, 3.5>,0.3 
 texture {azul}
 }
 }
 #else
 #if(mod(xx,5)=0) 
  box {
     < 1*j, 1*i, 3 >,<(1*j)+1, (i*1)+1, 1.00>
     texture { verde }
 }
 #end
 #end
 #end
 #declare xx = int(1000*rand(roleta));
 
 
 #declare j = j+1;
 #end

#declare j = 0;
#declare i = i+1;
#end

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

#include "camlight.inc"
#local RR = (30 * 1)/2;
camlight(<RR,RR,0>,<10,10,10>,50.0,z,1.0)