// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_preto = texture{ pigment{ color rgb <0,0,0>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_pele_coelho = texture{ pigment{ color rgb <0.81,0.81,0.81>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_grama = texture{ pigment{ color rgb <0.6,0.8,0.2>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_madeira = texture{ pigment{ color rgb <0.8,0.7,0.5>} finish{ diffuse 0.8 ambient 0.1} } // ====================================================================== // DESCRIÇÃO DA CENA #macro antebraco() union{ cone { <0,0,0>,0.4,<0,0,-2>,0.4 } } #end #macro braco(teta) union{ cone { <0,0,0>,0.4,<0,0,-2>,0.4 } sphere {<0,0,-2>,0.5 } object { antebraco() rotate teta*y translate <0,0,-2> } } #end #macro ombro(mi,teta) union{ sphere{<0,0,0>,0.5} object{braco(teta) rotate mi*y} } #end #macro pe() union{ cone { <0,0,0>,0.4,<0,1.5,0>,0.4 } texture { tx_preto} } #end #macro canela(gama) union{ cone { <0,0,0>,0.4,<0,0,-3>,0.4 } sphere {<0,0,-3>,0.5 texture {tx_preto}} object { pe() rotate gama*x translate <0,0,-3> } } #end #macro coxa(beta,gama) union{ cone { <0,0,0>,0.4,<0,0,-3>,0.4 } sphere {<0,0,-3>,0.5 } object { canela(gama) rotate beta*x translate <0,0,-3> } } #end #macro perna(alfa,beta,gama) union{ sphere{<0,0,0>,0.5} object{coxa(beta,gama) rotate alfa*x} } #end #declare orelha= union{ cone{<0,0,0>,0.2,<0,0,1.2>,0.1} } #declare cabeca= union{ sphere {<0,0,0>0.8} object{orelha translate<0.2,0,0.6>} object{orelha translate<-0.2,0,0.6>} } #macro coelho(alfa,beta,gama,mi,teta) union{ object{ perna(alfa,beta,gama) translate <-0.5,0,6.4> } object{ perna(alfa,beta,gama) translate <0.5,0,6.4> } cone {<0,0,6.4>,1.3,<0,0,11.4>,1.3} object { ombro(mi,teta) translate <1.3,0,10.8> } object { ombro(mi,teta) translate <1.3,0,10.8> rotate 180*z} cone {<0,0,11.4>,0.5,<0,0,12.4>,0.6} object{cabeca translate <0,0,12.8>} texture{ tx_pele_coelho } } #end // Partes da cena: #declare chao = box{ <-10,-10,-1>, <+10,+10,0> } #include "eixos.inc" // Aqui está a cena, finalmente: union{ object{ chao translate < 0,0,0 > texture{ tx_grama} } object{ coelho(0,0,0,-30,30) scale <0,0,0.8> translate <4,0,0>} object{ coelho(30,-60,-30,-150,0) scale<0,0,0.8> translate <-4,0,0>} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 25.0; #declare dir_camera = < 0, 20, 20.00 >; #declare dist_camera = 25.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)