// Last edited on 2003-10-14 23:49:48 by stolfi // ====================================================================== // CÂMERA #declare ctr = < 0.00, 0.00, 2.00 >; #declare camdir = < 15.00, 3.00, 8.00 >; camera { location ctr + 0.9*camdir // Posição do observador. right -0.60*x // Largura RELATIVA da imagem. up 0.80*y // Altura RELATIVA da imagem. sky z // 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 { 10 * < +50.0, +30.0, +50.0 > // Posição da lâmpada. color rgb 1.1 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare cor_corpo = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } #declare cor_roupa = texture { pigment { color rgb < 1.00, 0.25, 0.10 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } #declare cor_chapeu = texture { pigment { color rgb <0.8,1,0.6> } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.1 } } #declare chapeu = union { cylinder { <0, 0, 6.5>, <0, 0, 5.8>, 0.8 texture { cor_chapeu } } cylinder { <0, 0, 5.8>, <0, 0, 5.7>, 1.4 texture { cor_chapeu } } } #declare cabeca = difference { sphere { <0, 0, 5>, 1 // raio texture { cor_corpo } } cylinder { <-3, 0, 5.2>, <3, 0, 5.2>, 0.35 // raio } rotate <0, 0, 20> } #declare pescoco = cylinder { <0, 0, 4>, <0, 0, 3.5>, 0.3 texture { cor_corpo } } #declare ombro = cylinder { <0, 1.5, 3.2>, <0, -1.5, 3.2>, 0.3 texture { cor_roupa } } #declare parte_tronco = sphere { <0,0,0>, 0.5 texture { cor_roupa } } #declare tronco = union { object { parte_tronco translate <0, 0, 2.8> scale <1, 1.5 , 1> } object { parte_tronco translate <0, 0, 2> scale <1, 1.25, 1> } object { parte_tronco translate <0, 0, 1.2> } object { parte_tronco translate <0, 0, 0.4> } } #declare cintura = intersection { cylinder { <0, -5, 0>, <0, 5, 0>, 0.26 texture { cor_roupa } } cone { <0, 0, -6>, 2.5, <0, 0, 1>, 1 texture { cor_roupa } } } #declare pernad = union { cylinder { <0, -1, 0>, <1, -1.7, -2.6>, 0.3 texture { cor_roupa } } cylinder { <0.2, -0.7, -4.1>, <1, -1.7, -2.6>, 0.3 texture { cor_roupa } } } #declare pernae = union { cylinder { <0, 1, 0>, <0.7, 1.5, -3>, 0.3 texture { cor_roupa } } cylinder { <0.7, 1.5, -3>, <0.5, 1.3, -4.8>, 0.3 texture { cor_roupa } } } #declare bracod = union { cylinder { <0.2, -1.5, 3>, <1.3, -2.0, 1.5>, 0.25 texture { cor_corpo } } sphere { <1.3, -2.0, 1.5>, 0.25 texture { cor_corpo } } cylinder { <1.3, -2, 1.5>, <1.5, -2.2, 3.3>, 0.25 texture { cor_corpo } } } #declare bracoe = union { cylinder { <0.2, 1.4, 3>, <1.3, 1.7, 1.4>, 0.25 texture { cor_corpo } } sphere { <1.3, 1.7, 1.4>, 0.25 texture { cor_corpo } } cylinder { <1.3, 1.7, 1.4>, <1.6, 0.3, 0.8> 0.25 texture { cor_corpo } } } //#declare ombro = // cylinder { // <0, 1.5, 3.2>, // <0, -1.5, 3.2>, // 0.3 // texture { cor_roupa } // } // Cena final: union { object { cabeca } object { pescoco } object { chapeu } object { ombro } object { tronco } object { cintura } object { pernad } object { pernae } object { bracod translate <-0.2, 0.2, 0.2>} object { bracoe translate <-0.2, -0.2, 0.2>} }