// ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.5, 0.5, 0.5 > } #declare branco = texture{ pigment{ color rgb < 1 1 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare preto = texture{ pigment{ color rgb < 0 0 0 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRI��O DA CENA #declare corpo = box{ <-5,-5,-5>,<5,5,5> texture{branco} } #declare cilindro = cylinder{ <0,0,0>,<0,0,5>,1 texture{preto} } #declare cilindro2 = cylinder{ <0,0,0>,<0,0,10>,1 texture{preto} } #declare pe = sphere{ <0,0,0>,1.5 texture{branco} } #declare cabeca= sphere{ <0,0,0>,3 texture{branco} } #macro pata(a1) object{ union{ object{cilindro translate<0,0,-5>} object{pe translate<0,0,-5>} } rotate a1*y} #end #macro coxa(a1,a2) object{ union{ object{cilindro translate<0,0,-5>} object{pata(a2) translate<0,0,-5>} } rotate a1*y } #end #macro perna(a1,a2,a3,a4) object{ union{ object{cilindro translate<0,0,-5>} object{coxa(a3,a4) translate<0,0,-5>} } rotate a1*y rotate a2*z } #end #macro cranio(a1) object{ union{ object{cilindro2 } object{cabeca translate<0,0,10>} } rotate a1*y} #end #macro pescoco(a1,a2) object{ union{ object{cilindro } object{cranio(a2) translate<0,0,5>} } rotate a1*y } #end #macro nuca(a1,a2,a3,a4) object{ union{ object{cilindro } object{pescoco(a3,a4) translate<0,0,5>} } rotate a1*y rotate a2*z } #end #macro preguica(P1,P2,P3,P4,C) // vetores Pn para as pernas com quatro elementos cada representando os angulos definidos no macro perna(), idem para o vetor C representando a cabeça union{ object{corpo} object{perna(P1[0],P1[1],P1[2],P1[3]) translate<-5,-5,-5>} object{perna(P2[0],P2[1],P2[2],P2[3]) translate<-5,5,-5>} object{perna(P3[0],P3[1],P3[2],P3[3]) translate<5,-5,-5>} object{perna(P4[0],P4[1],P4[2],P4[3]) translate<5,5,-5>} object{nuca(C[0],C[1],C[2],C[3]) translate<0,0,5>} } #end #include "eixos.inc" //Aqui est� a cena, finalmente: #local P1=array[4] {45,90,45,45}; #local P2=array[4] {45,0,45,45}; #local P3=array[4] {45,180,45,45}; #local P4=array[4] {45,270,45,45}; #local C=array[4] {45,90,45,45} preguica(P1,P2,P3,P4,C) #include "camlight.inc" #declare centro_cena = < 0 ,0, -3>; #declare raio_cena = 30; #declare dir_camera = < 2, 2, 2>; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)