// Exemplo de arquivo de descricao de cena para POV-ray #include "colors.inc" #include "metals.inc" #include "stones.inc" // ====================================================================== // CÂMERA camera { location <40.00, -30.00, 25.00 > // Posição do observador. right -1.00*x // Largura RELATIVA da imagem. up 0.50*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0.00, 10.00, 0.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 * < 2.50, 2.50, 1.00 > // Intensidade e corda luz. } light_source { 5 * < +50.0, +10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 2.50, 2.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA #declare gerador = seed(123456); background{ color rgb < 0.75, 0.80, 0.85 > } #declare cor_espelho = < 0.4, 0.4, 0.4 >; #declare tx_espelho = texture { pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.20 roughness 0.05 } } #declare cor_dedo = texture { pigment { Blue } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare plano = plane { z,0 texture { //tx_espelho T_Stone14 } } #if (clock <= 0.2) // junta os bracos #if (clock>=0) #declare junta = 140*clock; #declare teta = 0; #declare gama = 0; #declare beta = 0; #declare alfa = 0; #declare angobj = 0; #declare deslobj = 0; #end #end #if (clock <= 0.5) // junta dedos #if (clock>0.2) #declare junta = 28; #declare teta = 90*clock - (0.5-clock)*90; #declare gama = 0; #declare beta = 0; #declare alfa = 0; #declare angobj = 0; #declare deslobj = 0; #end #end #if (clock <= 0.8) // levanta objeto #if (clock>0.5) #declare junta = 28; #declare teta = 45; #declare gama = 37.5*clock - (0.8-clock)*37.5; #declare beta = 0; #declare alfa = 0; #declare angobj = (37.5*clock - (0.8-clock)*37.5); #declare deslobj = 0; #end #end //resto #if (clock > 0.8) // levanta objeto #if (clock<=1) #declare junta = 28; #declare teta = 45; #declare gama = 30; #declare beta = 30/(1-0.8)*(clock-0.8); #declare alfa = 30/(1-0.8)*(clock-0.8); #declare angobj = 30; #declare deslobj = 30/(1-0.8)*(clock-0.8); #end #end #declare dedo = cylinder { <0,0,0>,<2,0,0>,0.4 texture { cor_dedo } } #declare mao = union { cylinder { <0,0,0>,<3,0,0>,1 pigment { Red } } cylinder { <0,0,0>,<0,1,0>,0.4 translate <2,1,0> texture { cor_dedo } } object { dedo rotate -teta*y translate <3,0.5,0> } object { dedo rotate -teta*y translate <3,-0.5,0> } } #declare braco = union { cylinder { <0,0,0>,<5.5,0,0>,1.25 pigment { DarkGreen } } object { mao rotate 90*x rotate -gama*y translate <5,0,0> } } #declare antebraco = union { cylinder { <0,0,0>,<6,0,0>,1.5 pigment { Yellow } } object { braco rotate -beta*y translate <5.5,0,0> } } #declare anteantebraco = union { cylinder { <0,0,0>,<9,0,0>,2 pigment { Cyan } } object { antebraco rotate -alfa*y translate <8.5,0,0> } } #declare corpo = union { difference { cylinder { <0,0,0>,<0,0,10>,6 texture { tx_espelho } } plane { x,0 texture { tx_espelho } } } sphere { <0,0,12>,3 texture { tx_espelho } translate <2,0,0> } translate <-3,0,0> } #declare criminoso = cylinder { <0,0,-4>,<0,0,4>,3 //texture {T_Brass_1D} pigment { White } } // cena da animacao union { object { plano translate <0,0,-1> } object { corpo } object { criminoso translate <1.5,0,0> rotate -(angobj)*y translate <-3,0,0> translate <22,0,8> rotate -deslobj*y } object { anteantebraco translate <0,3,7> rotate 30*z rotate -junta*z} object { anteantebraco scale <+1,-1,+1> translate <0,-3,7> rotate -30*z rotate junta*z } }