// Falta colocar os parametros nas macros e assim adicionar os rotates.

// ======================================================================
// CORES E TEXTURAS
background{ color rgb <0.80, 0.80, 2.00> }

#declare din = 
  texture{
    pigment{ color rgb < 0.00, 2.55, 0.00 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare madeira = 
  texture{
    pigment{ color rgb < 1.60, 0.25, 0.19 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }


// ======================================================================
// DESCRIÇÃO DA CENA 
// Partes da cena:
// eixos(saindo ;lateral ;cima  

//Macro da mao
#macro mao()

#declare dedo =
  box{
    <-0.1,-0.1,0>, <0.1,0.1,0.7>
}

#declare palma =
  sphere{
    <0,0,0>, 0.5
}

union{
  object{palma}
  object{dedo translate<0,0,0.5> rotate<0,60,0>}
  object{dedo translate<0,0,0.5> rotate<0,30,0>}
  object{dedo translate<0,0,0.5>}
  object{dedo translate<0,0,0.5> rotate<0,-30,0>}
  object{dedo translate<0,0,0.5> rotate<0,-60,0>}

}
#end

//Macro do posbraco usado na macro posterior
#macro posbraco()

#declare partebraco =
  cylinder{
    <0,0,0>, <0,0,2>, 0.4
}


union{
  object{partebraco}
  object{mao() translate<0,0,2.5>}
}

#end


//Macro do braço
#macro braco()

#declare antebraco =
  cylinder{
    <0,0,0>, <0,0,3>, 0.4
}

#declare cutuvelo =
  sphere{
    <0,0,0>, 0.4
}

union{
  object{antebraco}
  object{cutuvelo translate<0,0,3.4>}
  object{posbraco() translate<0,0,3.8>}
  rotate<0,90,0>
  rotate<90,0,0>
}

#end


//Macro para fazer a perna.
#macro perna()

#declare bota =
  union{
    box{<0,0,0>, <3,1,1>}
    box{<0,0,0>, <1.4,1,3>}
}

#declare coxa =
  union{
    sphere{<0,0,0>, 0.6}
    cylinder{<0,0,0.6>, <0,0,3.6>, 0.6}
}

union{
  object{bota pigment{color rgb <0,0,0>}}
  object{coxa translate<0.7,0,3.5> pigment{color rgb <2.55,2.55,2.55>}}
}

#end
 
#declare elipse =
  sphere{ <0,0,0>, 1 scale<1,0.5,3>
          //translate M
}

#declare orelha = 
  union{
    object{elipse pigment{ color rgb <2.55,2.55,2.55> transmit 0.5}}
    object{elipse scale<0.8,1,0.8> translate<0,0.1,0> pigment{ color rgb <2.50,1.28,1.14> transmit 0.5}}
}

#include "eixos.inc"

// Aqui está a cena, finalmente:

union{
  object{eixos(3.00)}
  object{braco() pigment{color rgb <2.55,2.55,2.55>}}
  object{perna() translate<-3,0,1>}
  object{orelha translate<2,0,-4>}
}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 3.00 >;
#declare raio_cena = 15.0;
#declare dir_camera = < 0.00, 10.00, 0.00 >;
#declare dist_camera = 100.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)