// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-10-14 21:58:27 by stolfi // ====================================================================== // CÂMERA #declare ctr = < 21, 23, 22>; #declare camdir = <0.5, 15, 44>; camera { location ctr + 1.2*camdir // Posição do observador. right -0.60*x // Largura RELATIVA da imagem. up 0.80*y // Altura RELATIVA da imagem. sky y // 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 * < +20.0, +40.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < -20.0, 10.0, +10.0 > // Posição da lâmpada. color rgb 0.6* < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare tinta_verde = texture { pigment { color rgb < 0, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_azul= texture { pigment { color rgb < 0.30, 0.40, 1.00 > } //finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_preto= texture { pigment { color rgb < 0.30, 0.30, 0.30 > } // finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_branco= texture { pigment { color rgb < 0.90, 0.95, 1.00 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } ////////// Membro #declare m_esfera = sphere { < 4,0,0 >, 2 texture { tinta_branco } } #declare m_cilindro = cylinder { <0,0,0>, // Center of one end <4, 0, 0>, // Center of other end 1.5 // Radius texture { tinta_branco } } #declare membro = union { object{m_esfera} object{m_cilindro} } ////////////////////////////// ///// Bracos #declare bracos = union{ object {membro translate <28,20.5,22>} object {membro rotate <0,180,0> translate <14, 20.5 , 22>} } ////// ///// Pernas #declare pernas = union{ object {membro rotate <0,0,-90> scale <1, 1.5, 1> translate <16.5, 11, 22> } object {membro rotate <0,0,-90> scale <1, 1.5, 1> translate <25.5, 11, 22> } } /////////////// ///////// Chapeu #declare c_esfera = sphere { < 0,0,0 >, 7 texture { tinta_verde } } #declare c_ret = box { <-8, -1.5, -8 >, // Near lower left corner <8, 1.5, 8> // Far upper right corner texture { tinta_verde} } #declare chapeu = intersection { object {c_esfera} object {c_ret} } //////////////////////// //////Rosto #declare r_esfera = sphere { < 0,0,0 >, 6 texture { tinta_azul } } #declare olho = cylinder { <0,0,0>, // Center of one end <0, 0, 14>, // Center of other end 1 // Radius texture { tinta_branco } } #declare rosto = union{ object {chapeu translate <0,6.5,0>} difference { object{ r_esfera } union{ object{ olho translate <-2,2,-7>} object{ olho translate <2,2,-7>} } } translate <21,31,22> } ///////// ///// Pescoco #declare pescoco = cylinder { <0,0,0>, // Center of one end <0, 5, 0>, // Center of other end 2 // Radius texture { tinta_preto } translate <21,22,22> } //////// ///////// Tronco #declare tronco = box { <0, 0, 0 >, // Near lower left corner <14 , 12, 8> // Far upper right corner texture { tinta_azul} translate <14,11,18> } ////////////////////// // Aqui está a cena, finalmente: union{ object {rosto} object {pescoco} object {tronco} object {bracos} object {pernas} }