camera {
    location  	<  -10, -50, 20.00 > 
    up		<  0.00, 0.00, 1.00 >
    sky		<  0.00, 0.00, 1.00 >
    look_at	<  0.00, 0.00, 0.00 >
}

// ======================================================================
// FONTES DE LUZ

light_source {
  10 * < -200.0, -120.0, 300.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  10 * < -50.0, -10.0, +10.0 >             // Posição da lâmpada.
  color rgb 0.8 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

#include "colors.inc"

background { Cyan }

#declare clock0 = clock;
#declare clock1 = mod(clock0 + 0.5, 1);

#declare chao = 
  plane { <0,0,1>,
          -15
          pigment { White } 
  }

#declare parte1 = 
  cylinder {
    < 0, 0, 0 >,
    < 6, 0, 0 >,
    1
   pigment { Red }
  }

#declare parte2 =
   box {
      < 0, -0.4, -0.4 >,
      < 10, 0.4, 0.4 >
   pigment { Yellow }
  } 

#declare parte3 =
   box {
      < 0, -0.3, -0.3 >,
      < 6, 0.3, 0.3 >
   pigment { Blue }
  } 

#declare parte4 =
   cone {
     <0, 0, 0>, 0.2
     <3, 0, 0>, 0    
   }

#declare corpo = 
   box {
      < -8, -15, -3>,
      < 8, 15, 3 >
      pigment { Green }
   }

#declare a = 0;
#declare d = 10;

#if(clock <= 0.1)
   #declare e = 0;
   #declare b = 50;
   #declare c = 30;
#else 
  #if(clock <= 0.2)
     #declare e = 0;
     #declare b = 30;
     #declare c = 30;
  #else
    #if(clock <= 0.3)
      #declare e = -30;
      #declare b = 30;
      #declare c = 20;
    #else
      #if(clock <= 0.4)
        #declare e = -30;
        #declare b = 50;
        #declare c = 30;
      #else
        #if(clock <= 0.5)
          #declare e = -10;
          #declare b = 50;
          #declare c = 30;
        #else
          #if(clock <= 0.6)
            #declare e = 10;
            #declare b = 50;
            #declare c = 30;
          #else
            #if(clock <= 0.7)
              #declare e = 30;
              #declare b = 50;
              #declare c = 30;
            #else
              #if(clock <= 0.8)
                #declare e = 30;
                #declare b = 30;
                #declare c = 20;
              #else
                #if(clock <= 0.9)
                  #declare e = 0;
                  #declare b = 30;
                  #declare c = 50;
                #else
                  #declare e = 0;
                  #declare b = 50;
                  #declare c = 30;
                #end  
              #end
            #end
          #end
        #end
      #end
    #end
  #end
#end
   
#declare parte4_3 =
   union {
      object { parte3 }
      object { parte4 rotate <0,0,0> translate <6-a,0,0> }
   }

#declare parte4_2 =
   union {
      object { parte2 }
      object { parte4_3 rotate <0,b,0> translate <10,0,0> }
   }

#declare parte4_1 = 
   union {
      object { parte1 }
      object { parte4_2 rotate <0,c,0> translate <6,0,0> }
   }

#declare conjunto_pernas_1 = 
   union {
      object { parte4_1 rotate <0,d,180-e> translate <-8,-13.5,0> }
      object { parte4_1 rotate <0,d,180-e> translate <-8,-4.5,0> }
      object { parte4_1 rotate <0,d,e> translate <8,4.5,0> }
      object { parte4_1 rotate <0,d,e> translate <8,13.5,0> }      
   }


#if(clock1 <= 0.1)
   #declare e = 0;
   #declare b = 50;
   #declare c = 30;
#else 
  #if(clock1 <= 0.2)
     #declare e = 0;
     #declare b = 30;
     #declare c = 30;
  #else
    #if(clock1 <= 0.3)
      #declare e = -30;
      #declare b = 30;
      #declare c = 20;
    #else
      #if(clock1 <= 0.4)
        #declare e = -30;
        #declare b = 50;
        #declare c = 30;
      #else
        #if(clock1 <= 0.5)
          #declare e = -10;
          #declare b = 50;
          #declare c = 30;
        #else
          #if(clock1 <= 0.6)
            #declare e = 10;
            #declare b = 50;
            #declare c = 30;
          #else
            #if(clock1 <= 0.7)
              #declare e = 30;
              #declare b = 50;
              #declare c = 30;
            #else
              #if(clock1 <= 0.8)
                #declare e = 30;
                #declare b = 30;
                #declare c = 20;
              #else
                #if(clock1 <= 0.9)
                  #declare e = 0;
                  #declare b = 30;
                  #declare c = 50;
                #else
                  #declare e = 0;
                  #declare b = 50;
                  #declare c = 30;
                #end  
              #end
            #end
          #end
        #end
      #end
    #end
  #end
#end
   
#declare parte4_3 =
   union {
      object { parte3 }
      object { parte4 rotate <0,0,0> translate <6-a,0,0> }
   }

#declare parte4_2 =
   union {
      object { parte2 }
      object { parte4_3 rotate <0,b,0> translate <10,0,0> }
   }

#declare parte4_1 = 
   union {
      object { parte1 }
      object { parte4_2 rotate <0,c,0> translate <6,0,0> }
   }

#declare conjunto_pernas_2 = 
   union {
      object { parte4_1 rotate <0,d,e> translate <8,-13.5,0> }
      object { parte4_1 rotate <0,d,e> translate <8,-4.5,0> }
      object { parte4_1 rotate <0,d,180-e> translate <-8,4.5,0> }
      object { parte4_1 rotate <0,d,180-e> translate <-8,13.5,0> }
   }

#declare inseto = 
   union {
      object { conjunto_pernas_1 }
      object { conjunto_pernas_2 }
      object { corpo }
  }

object { inseto rotate <0,0,0> translate <0,20*clock,0> }
object { chao }