// Last edited on 2003-10-22 04:56:35 by stolfi // ====================================================================== // CÂMERA #declare ctr = < 0.00, -15, 5.00 >; #declare camdir = < -30, -7, 25 >; camera { location ctr + 0.80*camdir // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. sky y // Qual direção é "para cima"? look_at ctr // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 100 * < -50.0, +20.0, +20.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100 * < -5.0, -10.0, +60.0 > // Posição da lâmpada. color rgb 0.6 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare cabeca = sphere { < 0.00, 0.00, 0.00 >, 2.00 texture { tinta_A } } #declare chapeu1 = cylinder { <0,2.6,0>, <0,0.6,0>,2 texture {tinta_B}} #declare aba = cylinder { <0,0.5,0>, <0,0.6,0>,3 texture {tinta_B}} #declare chapeu = union {object{chapeu1} object{aba}} #declare aba_bone1 = cylinder { < 0.00, -1, 0.00 >, < 0.00, -1, 4.00>, 2.00 texture { tinta_A } } #declare aba_bone2 = cylinder { < 0.00, -1.50, -1.00 >, < 0.00, -1.50, 5.00>, 2.4 texture { tinta_A } } #declare pescoco = cylinder { < 0.00, -2.70, 0.00 >, < 0.00, -3.70, 0.00>, 1 texture { tinta_A } } #declare furo = cylinder { < -1.00, -2.00, -2.00 >, < +1.00, +2.00, +2.00 >, 1.50 texture { tinta_B } } #declare pino = cylinder { < -2.00, +2.00, -1.00 >, < +2.00, -2.00, +1.00 >, 0.75 texture { tinta_B } } #declare tronco = box { < -3.50, -4.00, 2.00 >, < 3.50, -11.00, -2.00 > texture { tinta_B } } #declare ombro_e = sphere { < -4.5, -4.50, 0.00 >, 1.7 texture { tinta_B } } #declare ombro_d = union { object {ombro_e scale<-1, 1, 1>}} #declare antebraco_e= cone {<-4.5, -11, 0 >,1.25 <-4.5, -16, 0>, 0.8 open texture {tinta_B}} #declare antebraco_d = union {object {antebraco_e} scale<-1,1,1>} #declare braco_e = union { object{ombro_e} cylinder {<-4.5, -4.5, 0 >, <-4.5, -10, 0>, 1.2 texture {tinta_B}} sphere { <-4.5, -11, 0>, 1.5 texture {tinta_B}} } #declare braco_esq = union{ object{braco_e} object{antebraco_e translate<4.5,11,0> rotate 70*z translate<-4.5,-11,0>} } #declare braco_d = union { object {braco_e } object {antebraco_e translate<4.5,11,0> rotate -90*x translate<-4.5,-11,0>} } #declare canela_e= union { union{ sphere { <-1.5, -21, 0>, 1.8 texture {tinta_B}} translate <1.5,21,0> scale<1,1.5,1> translate <-1.5,-21,0>} cone {<-1.5, -21, 0 >,1.8 <-1.5, -27, 0>, 1.1 open texture {tinta_B}}} #declare coxa_e = union { union{ sphere {<-1.5,-15,0>,2 texture {tinta_B}} translate <1.5,15,0> scale <1.2,1.1,1.4> translate <-1.5,-15,0> } union{ cone {<-1.5, -15, 0 >,2 <-1.5, -20, 0>, 1.5 open texture {tinta_B}} translate <1.5,15,0> scale <1.2,1,1.4> translate <-1.5,-15,0> }} #declare perna_e = union { object{coxa_e} object {canela_e translate <1.5,21,0> rotate 40*x translate <-1.5,-21,0>} } #declare tronco1 = intersection{ cone { <0, -4, 0>, 4 <0,-12, 0> 2.5 open} object {tronco}} #declare tronco_ = cone { <0, -4, 0>, 4 <0,-12, 0> 2.5 scale <1,1,0.8> texture {tinta_B} } #declare coxa_d = union { object {coxa_e scale<-1, 1, 1>}} #declare perna_d = union { object{coxa_d} object{canela_e scale<-1,1,1>} } #declare quadril = box { < -3.50, -15.00, 2.00 >, <3.5, -11.30, -2> texture { tinta_B } } #declare quadril_ = difference{ cone {<0,-11.3,0>,4 <0,-15,0>,3.5 open texture {tinta_B}} object{perna_e} object{perna_d} scale <1,1,0.65> } #declare superior = union { object { cabeca scale<1,1.3,1>} object{chapeu} object {pescoco} object {tronco_} object {braco_d translate <4.5,4.5,0> rotate -60*x translate <-4.5,-4.5,0> scale <-1,1,1> } object {braco_esq translate<4.5,4.5,0> rotate 30*x translate<-4.5,-4.5,0>} object {quadril_} } // Aqui está a cena, finalmente: object {superior translate <0,15,0> rotate 50*x translate <0,-15,0> } object {perna_e} object {perna_d}