// Last edited on 2009-07-22 13:34:07 by stolfilocal
// Processed by remove-cam-lights

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

#declare tinta_vermelho = 
  texture {
    pigment { color rgb < 0.65, 0.0, 0.0 > }
    finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 }
  }

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

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

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

#declare tinta_branco = 
  texture {
    pigment { color rgb < 1.0, 1.0, 1.0 > }
    finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 }
  }

#declare raio = 2.000;

#declare x_centro = 0;
#declare y_centro = 0;
#declare num_objetos_por_prateleira = 3;
#declare num_prateleiras = 3;
#declare x_translate = 6;
#declare y_translate = 5;
#declare n_estantes = 5;

  
#declare estante_interna = 
  box {
   <-10, -10, -4.1>, <10, 10, 4.1>
   texture { tinta_vermelho}
}

#declare estante_externa = 
  box {
   <-11, -11, -4>, <11, 11, 4>
   texture { tinta_vermelho}
}

#declare prateleira_cima=
box {
   <-10, 5, -4>, <10, 5.1, 4>
   texture { tinta_vermelho}
}

#declare prateleira_meio=
box {
   <-10, 0, -4>, <10, 0.1, 4>
   texture { tinta_vermelho}
}

#declare prateleira_baixo=
box {
   <-10, -5, -4>, <10, -4.9, 4>
   texture { tinta_vermelho}
}

#declare esfera=
sphere {
   <0, 2, 0>, 2
texture { tinta_branco}
translate<-x_translate,y_translate,0>
}

#declare conico=
cone {
   <0, 0, 0>, 2,
   <0, 4, 0>, 0
  texture { tinta_branco}
translate<-x_translate,y_translate,0>
}

#declare caixa = 
  box {
   <-2, 0, -2>, <2, 2, 2>
   texture { tinta_branco}
translate<-x_translate,y_translate,0>
}

#declare roleta = seed(415);

#declare estante_completa = 
union{

#declare j=0;
#while(j<num_prateleiras)

union{

#if(j=0)
#declare y_cima = 0;
#end
#if(j=1)
#declare y_cima = -y_translate;
#end
#if(j=2)
#declare y_cima = -y_translate-y_translate;
#end

#declare x_cima = 0;

#declare i=0;
#while(i<num_objetos_por_prateleira)

#declare rand_number = int(rand(roleta)*3);

#if(rand_number=0)
object{esfera translate <x_cima, y_cima,0>}
#end

#if(rand_number=1)
object{conico translate <x_cima, y_cima,0>}
#end

#if(rand_number=2)
object{caixa translate <x_cima, y_cima,0>}
#end

#declare x_cima = x_cima + x_translate;

#declare i = i+1;
#end

}
#declare j = j+1;
#end

}
#declare estante=
union{

object{prateleira_cima}
object{prateleira_meio}
object{prateleira_baixo}

difference{
object{estante_externa}
object{estante_interna}
}

}

#declare biblioteca=
union{
object{estante_completa}
object{estante}
}

#declare n_biblioteca=
union{
#declare k=0;
#while(k<n_estantes)
object{biblioteca translate<0,0,20*k>}
#declare k=k+1;
#end
}
union{
object{n_biblioteca}

}
  
// Original camera parameters:
// #local cam_ctr = <0,0,0>
// #local cam_vec = <50.00,40.00,90.00>
// #local cam_sky = y

#include "camlight.inc"
camlight(<0,0,50>,<7,5,10>,100.0,y,1.0)