// CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #include "eixos.inc" #include "textures.inc" #declare anteb_l = 0.8; #declare braco_r = 0.1; #declare braco_l = 1.0; #declare tronco_h = 1.5; #declare tronco_l = 0.8; #declare tronco_w = 0.3; #declare cabeca_r = 0.3; #declare antep_l = 0.8; #declare perna_r = 0.1; #declare perna_l = 1.0; #declare pe_l = 0.5; #declare pe_w = 0.1; #declare pe_h = 0.1; #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } // Partes da cena: #declare braco = cone{ <0,0,0>, braco_r, <0,0,-braco_l>, braco_r texture{tx_fosca} } #declare anteb = cone{ <0,0,0>, braco_r, <0,0,-anteb_l>, braco_r texture{tx_fosca} } #declare mao = sphere{ <0,0,0>,1.5*braco_r texture{tx_fosca} } #declare tronco = box{ <-tronco_w/2,-tronco_l/2,0>, texture{tx_fosca} } #declare cabeca = sphere{ <0,0,0>,cabeca_r texture{tx_fosca} } #declare perna = cone{ <0,0,0>, perna_r, <0,0,-perna_l>, perna_r texture{tx_fosca} } #declare antep = cone{ <0,0,0>, perna_r, <0,0,-antep_l>, perna_r texture{tx_fosca} } #declare pe = box{ <0,-pe_w,0>, texture{tx_fosca} } #declare relogio = cone{ <0,-0.05,0>,0.5, <0,+0.05,0>,0.5 } #macro antebraco(n) union{ object{anteb} object{mao translate<0,0,-n>} object{relogio translate<0,0,-n>} } #end #macro bracoanteb(b2) union{ object{braco} object{antebraco(anteb_l) rotate (-b2)*y translate<0,0,-braco_l> } } #end #macro anteperna(p3) union{ object{antep} object{pe rotate (-p3)*y translate<0,0,-antep_l> } } #end #macro pernaantep(p2,p3) union{ object{perna} object{anteperna(p3) rotate(-p2)*y translate<0,0,-perna_l> } } #end #macro troncocabeca(be1,bd1,be2,bd2,pe1,pd1,pe2,pd2,pe3,pd3) union{ object{tronco} object{cabeca translate<0,0,tronco_h+cabeca_r>} object{bracoanteb(be2) rotate (-be1)*y translate<0,tronco_l/2,tronco_h>} object{bracoanteb(bd2) rotate (-bd1)*y translate<0,-tronco_l/2,tronco_h>} object{pernaantep(pe2,pe3) rotate (-pe1)*y translate<0,tronco_l/2,0>} object{pernaantep(pd2,pd3) rotate (-pd1)*y translate<0,-tronco_l/2,0>} } #end union{ object{ eixos(6.00) } object{ troncocabeca(98,10,80,80, -10,30,-70,-20,-15,-40) translate -2*y} object{ troncocabeca(-10,45,70,100, -10,5,-70,-20,-15,-40) translate 2*y} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 7.0; #declare dir_camera = < 10.00, 10.00, 5.00 >; #declare dist_camera = 30.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)