// Falta colocar os parametros nas macros e assim adicionar os rotates. // ====================================================================== // CORES E TEXTURAS background{ color rgb <0.80, 0.80, 2.00> } #declare din = texture{ pigment{ color rgb < 0.00, 2.55, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare madeira = texture{ pigment{ color rgb < 1.60, 0.25, 0.19 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: // eixos(saindo ;lateral ;cima ) //Macro da mao #macro posbraco(am) #declare dedo = box{ <-0.1,-0.1,0>, <0.1,0.1,0.7> } #declare palma = sphere{ <0,0,0>, 0.5 } #declare mao = union{ object{palma} object{dedo translate<0,0,0.5> rotate<0,60,0>} object{dedo translate<0,0,0.5> rotate<0,30,0>} object{dedo translate<0,0,0.5>} object{dedo translate<0,0,0.5> rotate<0,-30,0>} object{dedo translate<0,0,0.5> rotate<0,-60,0>} rotate<0,0,am> } #declare partebraco = cylinder{ <0,0,0>, <0,0,2>, 0.4 } union{ object{partebraco} object{mao translate<0,0,2.5>} } #end //Fim da macro posbraco //Macro do braço #macro braco(am, ac) #declare antebraco = cylinder{ <0,0,0>, <0,0,3>, 0.4 } #declare cutuvelo = sphere{ <0,0,0>, 0.6 } union{ object{antebraco} object{cutuvelo translate<0,0,3.4>} object{posbraco(am) rotate<0,ac,0> translate<0,0,3.8>} pigment{color rgb <2.55,2.55,2.55>} rotate<0,90,0> } #end //Fim do braco //Macro para fazer a perna. #macro perna() #declare bota = union{ box{<0,0,0>, <2,1,-1>} box{<0,0,-1>, <1,1,-2.5>} rotate<0,0,0> } #declare coxa = union{ cylinder{<0,0,0>, <0,0,3>, 0.6 pigment{color rgb <2.55,2.55,2.55>}} sphere{<0,0,0>, 0.7 pigment{color rgb <0,0,0>}} } union{ object{bota scale <1,1,-1> translate<-0.5,0,-2.8> pigment{color rgb <0,0,0>}} object{coxa} } #end //Fim da macro perna #declare elipse = sphere{ <0,0,0>, 1 scale<1,1,3> } #declare orelha = union{ object{elipse scale<1,0.5,1> pigment{ color rgb <2.55,2.55,2.55> transmit 0.1}} object{elipse scale<0.8,0.5,0.8> translate<0,0.1,0> pigment{ color rgb <2.50,1.28,1.14> transmit 0.5}} } #declare face = sphere{ <0,0,0> 2 pigment{color rgb <2.55,2.55,2.55>} } #declare corpo = union{ object{elipse scale<2,1.5,1.4> pigment{color rgb <2.55,2.55,2.55>}} sphere{<1.8,0,1.5> 0.5 pigment{color rgb <2.55,2.55,2.55>}} sphere{<-1.8,0,1.5> 0.5 pigment{color rgb <2.55,2.55,2.55>}} sphere{<1,0,-3> 0.8 pigment{color rgb <2.55,2.55,2.55>}} sphere{<-1,0,-3> 0.8 pigment{color rgb <2.55,2.55,2.55>}} } #declare cabeca = union{ object{face} object{orelha scale<0.8,0.8,0.9> translate<0,0,4> rotate<0,25,0>} object{orelha scale<0.8,0.8,0.9> translate<0,0,4> rotate<0,-25,0>} } #include "eixos.inc" // Aqui está a cena, finalmente: union{ object{eixos(3.00)} object{corpo} object{cabeca translate<0,0,5.5>} object{braco(0,0) translate<1.8,0,1.5>} object{braco(90,0) translate<1.8,0,1.5> scale<-1,0,0>} object{perna() scale<1.1,1,1> translate<1,0,-6>} object{perna() scale<-1.1,1,1> translate<-1,0,-6>} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 25.0; #declare dir_camera = < 0.00, 8.00, 0.00 >; #declare dist_camera = 100.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)