// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2003-10-14 23:54:14 by stolfi

// ======================================================================
// CÂMERA 

#declare ctr = <  6.50, 0.00, 0.00 >;
#declare camdir = < 20.00, 15.00, 10.00 >;

camera {
  location  ctr + 0.8*camdir  // Posição do observador.
  right     -0.60*x                 // Largura RELATIVA da imagem.
  up        0.80*y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at   ctr  // Para onde a câmera está apontando.
} 
// Nota: os parâmetros "right" e "up" devem ter a mesma proporção
// que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile.

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

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

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

// ======================================================================
// DESCRIÇÃO DA CENA 

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

#declare raio = 2.000;

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.00, 0.00, 0.80 > }
    finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_B = 
  texture {
    pigment { color rgb < 0.90, 0.80, 0.10 > }
    finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 }
  }
  
    
#declare braco = 
  cylinder {
    <0, 0, 0>,     // Center of one end
    <6,-0.5, 0.5>,     // Center of other end
    0.5            // Radius
    open           // Remove end caps
    texture { tinta_B }
  }

#declare braco2 =
  cylinder {
    <0, 0, 0>,     // Center of one end
    <6,-0.5, 0.5>,     // Center of other end
    0.5            // Radius
    open           // Remove end caps
    texture { tinta_B }
    translate <7,-0.5,0>
  }


#declare cabeca =
  sphere {
    < 0.00, 0.00, 0.00 >, 1.00
    texture { tinta_B }
    translate<6.5,0, 2>
  }


#declare saia  =
 cone {
    <0, 0, 0>, 0.5    // Center and radius of one end
    <0, 0 ,-3>, 3.0    // Center and radius of other end
    texture { tinta_A }
}
    
#declare corpo =
  cylinder {
    <0, 0, 0>,     // Center of one end
    <0,0.0, 8>,     // Center of other end
    0.5            // Radius
    open           // Remove end caps
    texture { tinta_A }
    translate<6.5,0,-6>
  }
  
    
  union {
    object { braco }
    object { braco2 }
    object { corpo }
    object { cabeca }
    object { saia }
  }