// Last edited on 2003-03-19 22:07:41 by stolfi
// Ivan Francisco Coutinho Costa
// RA 001833
// MC930 - TP 3 - Macaco Mecanico
// Data 18/03/2003


#include "colors.inc"
#include "textures.inc"
#include "stones1.inc"

background { color Black }

camera {
    location 0.80*<15.0, 5.0, -40>
    look_at <0,0,0>
 }

light_source { <50, 30, -30> color 1.1*White }
light_source { <-40, 20, -60> color 0.8*White }


plane {
  y, -20.0
  texture { White_Wood } // pigment { color Salmon }
}

#declare cordomacaco = Brown

//#declare corpo =
//    sphere { <0.0, 0.0, 0.0>, 2.0 
//       scale <1.0, 5.0, 1.0> 
//       pigment { Brown }
//    }

#declare corpo =
     union {
        sphere { <0, 10, 0> 2.0 }
        sphere { <0, -8, 0> 2.0 }
        cylinder { <0,10,0>,<0,-8,0>,2 }
        pigment { Brown  }
    }

#declare orelha =
    intersection {
       sphere { <0.0, 0.0, 0.0>, 1.5 } 
       sphere { <1.0, 0.0, 0.0>, 1.5 } 
       pigment {Brown}
    }


#declare braco =
     union {
        cylinder { <0,7,0>, <-3,4,-1>, 1.0 }
        cylinder { <-3,4,-1>, <-1,6,-3>, 0.8 } 
        pigment {Brown}
     }
   

#declare perna =
    union {
       cylinder { <0,0,0>, <3,-2,0>, 1.3 }
       sphere { <3,-2,0>, 1.3 }
       cylinder { <3,-2,0>, <-1,-7,0>, 1.0 }
       pigment {Brown}
    }

#declare rabo=
    union {
       cylinder {<0,0,0>, <10,0,0>, 0.4 pigment {Brown} }   // cilindro deitado no eixo x
    }

#declare olho=
   sphere { <0,0,0>, .3 pigment { White } }

union {
   object { corpo }
   object { orelha rotate <90,0,0> translate <-3,10,0>}               // orelha direita    
   object { orelha rotate <90,0,0> translate <-3,10,0> scale <-1,1,1>} // orelha esquerda 
   object { braco }                // braco direito
   object { braco scale <-1,1,1>}  // braco esquerdo
   object { perna rotate <0,60,0> translate <2,-8,1> }                // perna direita
   object { perna rotate <0,60,0> translate <2,-8,1> scale <-1,1,1> } // perna esquerda
   object { rabo rotate <0,290,0> rotate <25,0,0> translate <0,-8,0> }
   object { olho translate <-1,10,-2> }
   object { olho translate <1,10,-2> } 	

}