// Last edited on 2009-07-24 16:06:01 by stolfilocal
// Processed by remove-cam-lights

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

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.85, 0.65, 0.7 > }
    finish { diffuse 0.9 ambient 0.1 }
  }

#macro ponta () 
object {
 union {
 
 cylinder {
  <0,0,0.3> , 
 <-5,0,0.3>, 0.7
  texture { tinta_A }
}
  box {
     < 0.00, 0.00, 0.00 >, 
  <-5,0.5,-7> 
      texture { tinta_A }
  }
 box {< 0,0.5, -7 >, 
  <-1,5,-6.5> 
      texture { tinta_A }
} box {< -2,0.5, -7 >, 
  <-3,5,-6.5> 
      texture { tinta_A }
}
 box {< -4,0.5, -7 >, 
  <-5,5,-6.5> 
      texture { tinta_A }
}}}
#end

#macro braco1 (alfa)
union {
object{ cylinder {
  <0,0,0.3> , 
  <-5,0,0.3>,0.7 
  texture { tinta_A }
}}

object {
 box {
 <0,0,0>,
 <-5,3,1>
 texture { tinta_A} 
 }}
object { ponta()

 rotate <alfa,0,0>
 translate <0,3,0> 
 }}
#end

#macro braco2(alfa,beta)
union { object {braco1(alfa) 
 rotate <beta,0,0>
 translate <0,5,0>
}
object {
 box {
 <0,0,0>,
 <-5,5,1>
 texture { tinta_A} 
 }}

object{ cylinder {
  <0,0,0.3> , 
  <-5,0,0.3>,0.7 
  texture { tinta_A }
}}

}
#end 

#macro braco3(alfa,beta,gama)

union { object {braco2(alfa,beta) 
 rotate <gama,0,0>
 translate <0,8,0>
}
object {
 box {
 <0,0,0>,
 <-5,8,1>
 texture { tinta_A} 
 }}}
#end 

#declare nh = 5;
#declare nv = 4;
#declare nquadros = nh * nv;
#declare cini = 0.0;
#declare cfim = 1.0;
#declare cpasso = (cfim - cini)/(nquadros - 0.9999);

#declare ck = cini;
#declare iv = 0;

#declare c0 = 0.0;
#declare c1 = 0.2;
#declare c2 = 0.4;
#declare c3 = 0.6;
#declare c4 = 0.8;
#declare c5 = 1.0;

#while (iv < nv)
 #declare ih = 0;
 #while (ih < nh)
  #if ((ck >= c0) & (ck < c1))
    #declare rr = (ck - c0)/(c1 - c0);
    #declare ss = (c1 - ck)/(c1 - c0);
    #declare alfa = ss * -90 + rr * -90;
    #declare beta = ss * 0   + rr * -90;
    #declare gama = ss * 0   + rr * 70;
  #end
  
  #if ((ck >= c1) & (ck < c2))
    #declare rr = (ck - c1)/(c2 - c1);
    #declare ss = (c2 - ck)/(c2 - c1);
    #declare alfa = ss * -90 + rr * 0;
    #declare beta = ss * -90 + rr * -70;
    #declare gama = ss * 70  + rr * -90;
   #end

  #if ((ck >= c2) & (ck < c3))
    #declare rr = (ck - c2)/(c3 - c2);
    #declare ss = (c3 - ck)/(c3 - c2);
    #declare alfa = ss * 0   + rr * 90;
    #declare beta = ss * -70 + rr * -50;
    #declare gama = ss * -90 + rr * -90;
   #end

  #if ((ck >= c3) & (ck < c4))
    #declare rr = (ck - c3)/(c4 - c3);
    #declare ss = (c4 - ck)/(c4 - c3);
    #declare alfa = ss * 90   + rr * 0;
    #declare beta = ss * -50 + rr * -25;
    #declare gama = ss * -90 + rr * -45;
   #end

  #if ((ck >= c4) & (ck < c5))
    #declare rr = (ck - c4)/(c5 - c4);
    #declare ss = (c5 - ck)/(c5 - c4);
    #declare alfa = ss *  0  + rr * -90;
    #declare beta = ss * -25 + rr *  0;
    #declare gama = ss * -45 + rr *  0;
   #end

    object { braco3(alfa, beta, gama) translate<ih*20,0,iv*20>}
 #declare ck = ck + cpasso;
 #declare ih = ih + 1;
 #end
#declare iv = iv + 1;
#end

// Original camera parameters:
// #local cam_ctr = <0,0,0>
// #local cam_vec = <40.00,180.00,95>
// #local cam_sky = z

#include "camlight.inc"
camlight(<50,0,30>,<10,10,10>,140.0,z,1.0)