// Last edited on 2003-05-29 23:37:39 by stolfi
// arquivo de descricao de cena para POV-ray
// Laboratório 1 - MC930 - 1S/2003
// Marcelo Bello RA 992119

background{ color rgb < 0.7, 0.7, 0.7 > }

camera {
  location  1.05*<  -45.00, 0.00, -45.00 >
  right x  up y
  look_at   <  20.00 - 40 * clock, -5.00, 0.00 >
} 

light_source {
  10*< -10, 20.00, -60.00 >
  color rgb 1.2*< 1.00, 1.00, 1.00 >
} 
light_source {
  10*< -60, 15.00, -7.00 >
  color rgb 0.8*< 1.00, 1.00, 1.00 >
} 
light_source {
  10*< 3, 55.00, -27.00 >
  color rgb 0.8*< 1.00, 1.00, 1.00 >
} 

plane { y,-30 
  pigment { checker color rgb < 0.8, 1.0, 0.7> color rgb < 1.0, 0.8, 0.7 > 
    scale 5
  }
}

#declare teta = 40-80*clock;

#declare texturaPeloMacaco =
  texture {
    pigment { color rgb < 0.6, 0.2, 0.2 > }
}


#declare texturaPeleMacaco =
  texture {
    pigment { color rgb < 1.0, 0.5, 0.5 > }
  }


#declare cabecaMacaco =
union{
  // cranio
  difference {
    sphere { < 0.00, 13.00, 0.00 >, 5.0 texture{ texturaPeloMacaco } }
    cylinder { < 0.00, 13.00, -3.00 >, < 0.00, 13.00, -5.00 >, 4.0 texture{ texturaPeloMacaco } } 
  }
  // focinho
  difference {
    sphere { < 0.00, 12.0, -3.00 >, 2.5 texture{ texturaPeleMacaco } }
    cylinder{ < 0.00, 11.8, -3.00 >, <0.00, 12.2, -3.00 >, 2.5 texture{ texturaPeloMacaco } } 
  }
  // orelha esquerda
  difference {
    cylinder { < 3.50, 16.50, -1.00 >, < 3.50, 16.50, 1.00 >, 1.5 texture{ texturaPeloMacaco } }
    cylinder { < 3.50, 16.50, -1.01 >, < 3.50, 16.50, 0.50 >, 1.3 texture{ texturaPeleMacaco } }
  }
  // orelha direita
  difference {
    cylinder { < -3.50, 16.50, -1.00 >, < -3.50, 16.50, 1.00 >, 1.5 texture{ texturaPeloMacaco } }
    cylinder { < -3.50, 16.50, -1.01 >, < -3.50, 16.50, 0.50 >, 1.3 texture{ texturaPeleMacaco } }
  }
}

#declare troncoMacaco =
union {
  sphere { < 0.00, -0.40, 0.00 >, 5 scale < 1.20, 1.80, 0.80 > texture{ texturaPeloMacaco } }
}

#declare chutador =
union {
  sphere{ < 0, 0, 0 >, 2 texture{ texturaPeloMacaco } }
  cylinder { < 0, 0, 0 >, < 0.00, -10.00, 0.00 >, 1.30 texture{ texturaPeloMacaco } }
}


#declare pernaDireita =
union {
  sphere{ < 0.00, 0.00, 0.00 >, 2.4 texture{ texturaPeloMacaco } } 
  cylinder { < 0.00, 0.00, 0.00 >, < 0.00, -10.00, 0.00 >, 1.8 texture{ texturaPeloMacaco } }
  object{ chutador rotate< -40*clock, 0.00, 0.00 > translate < 0.00, -10.00, 0.00 > }
}


#declare pernaEsquerda =
union {
  sphere{ < 0.00, 0.00, 0.00 >, 2.4 texture{ texturaPeloMacaco } } 
  cylinder { < 0.00, 0.00, 0.00 >, < 0.00, -10.00, 0.00 >, 1.8 texture{ texturaPeloMacaco } }
  object{ chutador rotate< -30 + 30*clock, 0.00, 0.00 > translate < 0.00, -10.00, 0.00 > }
}


#declare braco =
union {
  sphere{ < 0.00, 0.00, 0.00 >, 2.5 texture{ texturaPeloMacaco } }
  cylinder { < 0.00, 0.00, 0.00 >, < 0.00, -15.00, 0.00>, 1.20 texture{ texturaPeloMacaco } }
}


union{
  object{ cabecaMacaco }
  object{ troncoMacaco }
  object{ pernaEsquerda rotate < -40.0 + clock*80.0, 0.00, 0.00 > translate< 2.20, -8.00, 0.00 > }
  object{ pernaDireita rotate < 40.0 - clock*80.0, 0.00, 0.00 > translate< -2.20, -8.00, 0.00 > }
  object{ braco rotate< -30.00 + 60.0*clock, -20.00, -20.00 > translate< -6.50, 6.20, 0.00 >  }
  object{ braco rotate<  30.00 - 60.0*clock,  20.00,  20.00 > translate<  6.50, 6.20, 0.00 > }
}