// Editado por Edson Daniel dos Santos Mani Junior, // RA 104832. // Exemplo de arquivo de descricao de cena para POV-ray // Feito por Stolfi #include "eixos.inc" #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 40.0; #declare dir_camera = < 0, -5.00, 4.00 >; #declare dist_camera = 20.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz) // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.50, 0.50, 0.50 > } #declare vermelho_fosco = texture { pigment{ color rgb <1.00, 0.00, 0.00>} finish { diffuse 1 specular 0.2 } } #declare verde_fosco = texture { pigment{ color rgb <0.00, 1.00, 0.00>} finish { diffuse 1 specular 0.2 } } #declare azul_fosco = texture { pigment{ color rgb <0.00, 0.00, 1.00>} finish { diffuse 1 specular 0.2 } } #declare branco_fosco = texture { pigment{ color rgb <1.00, 1.00, 1.00>} finish { diffuse 1 specular 0.2 } } #declare azul_fosco = texture { pigment{ color rgb <0.00, 0.00, 1.00>} finish { diffuse 1 specular 0.2 } } #declare cinza_fosco = texture { pigment{ color rgb <0.40, 0.40, 0.40>} finish { diffuse 1 specular 0.2 } } #declare marrom_fosco = texture { pigment{ color rgb <0.60, 0.30, 0.20>} finish { diffuse 1 specular 0.2 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } // Folhas #macro cabeca(cab) object{ union{ object{ sphere{<0,0,0>,2} } object{ box{ <0.5,1,0.5>, <1,-2.5,1> texture{ verde_fosco } } } object{ box{ <-0.5,1,0.5>, <-1,-2.5,1> texture{ verde_fosco } } } object{ box{ <-0.5,-0.5,-0.5>, <0.5,-4,0.5> texture{ marrom_fosco } } } object{ cylinder{ <0,0,0>,<0,0,-5>,0.5 texture{ verde_fosco } } } }translate <0,0,5> rotate<0,cab,0>} #end #macro mao(bb) object{ box{ <0.5,0.5,0.5>, <-0.5,-0.5,-0.5> texture{ cinza_fosco } translate<0,-0.5,0> } rotate } #end #macro pe(pc) object{ box{ <1,1,0.5>, <-1,-1,-0.5> texture{ tx_xadrez } translate<0,0,-0.5> } rotate } #end //Articular #macro tronco(pa1, pb1, pc1, pa2, pb2, pc2, ba1, bb1, ba2, bb2, cab) union{ cylinder{ <0,0,3>,<0,0,-3>,2 texture{ tx_xadrez } } object{ cabeca(cab) translate<0,0,3> } object{ coxa(pa1, pb1, pc1) translate<-1,0,-3> } object{ coxa(pa2, pb2, pc2) translate<1,0,-3> } object{ braco(ba1, bb1) translate<2.5,0,2> } object{ braco(ba2, bb2) translate<-2.5,0,2> } } #end // Perna #macro coxa(pa, pb, pc) union{ cylinder{ <0,0,0>, <0,0,-4>, 0.5 texture{ cinza_fosco } } object{ pos_coxa(pb, pc) translate <0,0,-4> } }rotate #end #macro pos_coxa(pb, pc) union{ cylinder{ <0,0,0>, <0,0,-3>, 0.5 } object{ pe(pc) translate <0,0,-3> } }rotate #end // Braco #macro braco(ba, bb) union{ cylinder{ <0,0,0>, <0,0,-3>, 0.5 texture{ azul_fosco } } object{ mao(bb) translate <0,0,-3> } rotate } #end /*Aqui comeca a cena. */ union { object{ eixos(3.00) } object{ tronco(1,2,3,-4,-5,-6,-70,-10,9,10,0) } object{ tronco(1,2,3,-4,-5,-6,-40,-80,9,10,20) translate<7, 6,0>} object{ tronco(1,20,3,-4,-5,-6,-70,-80,9,10,-30) translate<-7, -6,0>} //object{ braco(-90,10) } //object{ cabeca(120) } }