// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-09-04 15:25:26 by stolfi // ====================================================================== // CÂMERA camera { location < 60.00, -5.00, 20.00 > // Posição do observador. right -1.00*x // Largura RELATIVA da imagem. up 0.5*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0.00, -5.00, -5.00 > // 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, +30.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 * < +50.0, -10.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 tt = clock; #declare tinta_A = texture { pigment { color rgb < 0.70, 0.80, 0.90 > } finish { diffuse 0.5 specular 0.6 roughness 0.05 ambient 0.2 } } #declare tinta_B = texture { pigment { color rgb <0, 0.3, 1.0> } finish { diffuse 0.1 specular 1 reflection 0.1 roughness 0.001 ambient 0.3 } } #declare tinta_C = texture { pigment { color rgb <0.9, 0.6, 0.3> } finish { diffuse 0.1 specular 0.3 roughness 0.001 ambient 0.4 } } #declare tinta_D = texture { pigment { color rgb <0.9, 0.8, 0.7> } finish { diffuse 0.1 specular 1 roughness 0.001 ambient 0.3 } } #declare tinta_E = texture { pigment { color rgb <0.9, 0.9, 0.0> } finish { diffuse 0.1 specular 1 roughness 0.001 ambient 0.3 } } #declare tinta_F = texture { pigment { color rgb < 0.90, 0.10, 0.10 > } finish { diffuse 0.5 specular 0.0 roughness 0.05 ambient 0.2 } } plane { z, -20.0 texture { pigment { checker <0,.6,0>, <0,.8,0> } finish { ambient 0.001 diffuse 0.7 } scale 2.0 } } #declare alpha1 = 0; //fecha o antebraco #declare alpha2 = 90; //levanta o braco #declare alpha3 = 0; //mao1 #declare alpha6 = 0; //mao2 #declare alpha4 = 0; //dedo #declare alpha5 = 0; //antebraco #declare beta = 0; #declare T1 = .3; #declare T2 = .6; #if (tt < T1) #declare alpha2 = 90 - 100*tt; #else #if (tt < T2) #declare alpha2 = 60; #declare alpha1 = 0 + (-35 - 0)/(T2-T1)*(tt-T1); #declare alpha5 = 0 + (-60 - 0)/(T2-T1)*(tt-T1); #declare alpha6 = 0 + (130 - 0)/(T2-T1)*(tt-T1); #declare alpha4 = 0 + (-20-0)/(T2-T1)*(tt-T1); #else #declare alpha2 = 60 + (30-60)/(1-T2)*(tt-T2); #declare beta = 0 + (-30-0)/(1-T2)*(tt-T2); #declare alpha1 = -35; #declare alpha5 = -60; #declare alpha6 = 130; #declare alpha4 = -20; #end #end #declare dedoPeq = box { < 1.0, -0.5, -0.3>, < -0.3, 0.5, 0.3 > texture { tinta_E } } #declare dedoGde = box { < 2.0, -0.5, -0.3>, < -0.3, 0.5, 0.3 > texture { tinta_F } } #declare mao = union { box { < 2.5, -1.2, -0.4 >, < -0.3, 1.2, 0.4 > texture { tinta_B } } object { dedoPeq rotate alpha4*y translate < 2.5, -0.6, 0 > } object { dedoGde rotate alpha4*y translate < 2.5, 0.6, 0 > } } #declare antebraco = union { cone { < -0.3, 0.0, 0.0 >, 1.0, < 6.5, 0.0, 0.0 >, 1.4 texture { tinta_D } } object { mao rotate alpha3*y translate 6.5*x rotate alpha6*x} } #declare braco = union { cone { < -0.3, 0.0, 0.0 >, 2.0, < 6.5, 0.0, 0.0 >, 1.0 texture { tinta_A } } object { antebraco rotate <0,alpha5,alpha1> translate 6.1*x} } #declare cabeca = sphere { <0,0,0>, 2.5 texture { tinta_A } } #declare pescoco = union { object {cabeca translate 3.2*z} cylinder { <0,0,-0.7>, <0,0,0.7>, 1 texture {tinta_A} } } #declare tronco = union { object {pescoco translate 1.7*z } box { <2, -4, -7>, <-2, 4, 1.7> texture {tinta_A} } } #declare braco_esq = object { braco translate 7*y rotate alpha2*y //levanta o braco } #declare corpo = union { object {tronco scale 1.4} object {braco_esq } object {braco_esq scale <1, -1, 1> } } #declare bandido = cylinder { <13, 0, 5>, <13, 0, -7>, 3.5 texture {tinta_A} } union { object {corpo} object {bandido translate -2*z rotate beta*y } }