// CORES E TEXTURAS #declare tx_fosca = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca2 = texture{ pigment{ color rgb < 1, 0, 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca3 = texture{ pigment{ color rgb < 0.3, 0.6, 0.154 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca4 = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRIÇÃO DA CENA #macro pe(tamanho, textura) union{ sphere { <0,0,0>, tamanho } cylinder { <0, tamanho, 0>, <0, tamanho + 2*tamanho, 0> tamanho } texture{textura} } #end #macro canela(tamanho, textura, alfa) union{ union{ sphere { <0,0,0>, tamanho } cylinder { <0, tamanho, 0>, <0, tamanho + 10, 0> tamanho } texture{textura} } object{ pe(tamanho, textura) rotate<0,0,alfa> translate<0,2*tamanho+10,0> } } #end #macro perna(tamanho, textura, alfa, beta) union{ union{ sphere { <0,0,0>, tamanho } cylinder { <0, tamanho, 0>, <0, tamanho + 7, 0> tamanho } texture{textura} } object{ canela(tamanho, textura,alfa) rotate<0,0,beta> translate<0,2*tamanho+7,0> } } #end #macro bixo_doido(textura,alfa1,alfa2,alfa3,alfa4,alfa5,alfa6, beta1,beta2,beta3,beta4,beta5,beta6) union{ box { <-16,-6,-6>, <16,6,0> texture { textura } } object{ perna(1,textura, alfa1,beta1) rotate <-90,-90,90> translate<0,6,0> } object{ perna(1,textura, alfa2,beta2) rotate <90,-90,90> translate<0,-6,0> } object{ perna(1,textura, alfa3,beta3) rotate <-90,-90,90> translate<10,6,0> } object{ perna(1,textura, alfa4,beta4) rotate <90,-90,90> translate<10,-6,0> } object{ perna(1,textura, alfa5,beta5) rotate <-90,-90,90> translate<-10,6,0> } object{ perna(1,textura, alfa6,beta6) rotate <90,-90,90> translate<-10,-6,0> } } #end // Partes da cena: #include "eixos.inc" #declare alfa1 = 10; #declare alfa2 = 40; #declare alfa3 = 60; #declare alfa4 = -30; #declare alfa5 = 90; #declare alfa6 = -30; #declare beta1 = 10; #declare beta2 = 40; #declare beta3 = 60; #declare beta4 = -30; #declare beta5 = 90; #declare beta6 = -30; object{bixo_doido(tx_fosca,alfa1,alfa2,alfa3,alfa4,alfa5,alfa6, beta1,beta2,beta3,beta4,beta5,beta6)} #include "camlight.inc" #declare centro_cena = < 0,0,0>; #declare raio_cena = 30; #declare dir_camera = < 4,1,3 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)