// Last edited on 2013-12-11 05:53:13 by stolfilocal
// Processed by remove-cam-lights

#include "retalho.inc"

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

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

#declare tx_amarelo =
  texture{
    pigment{ color rgb < 0.80, 0.80, 0.10 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_fosca =
  texture{
    pigment{ color rgb < 0.8, 0.10, 0.10 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_espelho =
  texture{
    pigment{ color rgb < 1.00, 0.85, 0.30 > }
    finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 }
  }

#declare tx_vidro =
  texture{
    pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 }
    finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 }
  }

#declare tx_xadrez =
  texture{
    pigment{ checker color rgb < 0.10, 0.1, 0.1 >, color rgb < 0.85, 0.7, 0.20 > }
    finish{ diffuse 0.9 ambient 0.1 }
    scale 2.0
  }

#declare raio = 2.000;

#declare spherM =
  sphere { <0,0,0> 1.3 }

#declare spherm =
  sphere { <0,0,0.5> 1.1 }

#declare cilesq =
  cylinder { <-0.0,-1.8,-0.5>, <0,-1.1,0.0>, 0.2 }

#declare cildir =
   cylinder { <-0.0,1.8,-0.5>, <0,1.1,0.0>, 0.2 }

#declare chao =
  box{ <-6,-6,-1>, <+6,+6,0> }

#declare basedir =
  box { <-0.1,1.9,-0.9>,<0.1,1.7,0.1> rotate<0,0,0> }

#declare baseesq =
  box { <-0.1,-1.9,-0.9>, <0.1,-1.7,0.1> rotate<0,0,0>  }

#include "eixos.inc"

#macro torre(i,j,k)
object {
union{
cylinder{<0,0,0>,<0,0.3,0>,0.1
 texture{pigment{color rgb<1,1,1>}
         finish{ diffuse 0.9 phong 1}}}
cone{<0,0,0>,0.15,<0,0.15,0>,0
     translate<0,0.3,0>
     texture{
         pigment{color rgb<0.4,0,0>}
         finish{ diffuse 0.9 phong 1}}}
cone{<0,0,0>,0.054,<0,0.27,0>,0
     translate<0,0.3,0>
     texture{
         pigment{color rgb<0.4,0,0>}
         finish{ diffuse 0.9 phong 1}}}

} rotate<90,0,90> translate<i,j,k> }
#end

union{
  object{ eixos(3.00) }

  object{ chao  translate < 0,0,-5 > texture{ tx_xadrez } }
  #declare A = array[4][4];
  #declare i = 0;

  #while ( i < 4 )
    #declare j = 0;
    #while ( j < 4 )
      #declare A[i][j] = <i/2,j/2,0>;
      #declare j = j + 1;
    #end
    #declare i = i + 1;
  #end

   object{
      retalho(A[0][0],A[1][0],A[2][0],A[3][0],A[0][1],A[1][1],A[2][1],A[3][1],A[0][2],A[1][2],A[2][2],A[3][2],A[0][3],A[1][3],A[2][3],A[3][3],0.1,tx_fosca,tx_plastico)
  }

  #while ( i < 4 )
    #declare j = 0;
    #while ( j < 4 )
      #declare A[i][j] = <i,j,5>;
      #declare j = j + 1;
    #end
    #declare i = i + 1;
  #end

  object{
      retalho(A[0][0],A[1][0],A[2][0],A[3][0],A[0][1],A[1][1],A[2][1],A[3][1],A[0][2],A[1][2],A[2][2],A[3][2],A[0][3],A[1][3],A[2][3],A[3][3],0.5,tx_fosca,tx_plastico)
  }

 #while ( i < 4 )
    #declare j = 0;
    #while ( j < 4 )
      #declare A[i][j] = <i+2,j+2,5>;
      #declare j = j + 1;
    #end
    #declare i = i + 1;
  #end

  object{
      retalho(A[0][0],A[1][0],A[2][0],A[3][0],A[0][1],A[1][1],A[2][1],A[3][1],A[0][2],A[1][2],A[2][2],A[3][2],A[0][3],A[1][3],A[2][3],A[3][3],0.5,tx_fosca,tx_plastico)
  }
}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 1.00 >;
#declare raio_cena = 6.0;
#declare dir_camera = < 5.0, 2.10, 5.00 >;
#declare dist_camera = 16.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)