// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-07-31 12:50:37 by stolfi // ====================================================================== // CÂMERA camera { location < -40+40*clock, 80.0-60*clock, 320.0-240*clock > // Posição do observador. right -1.0*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. sky y // Qual direção é "para cima"? look_at < 0.00, 0.00, 0.00 > // 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 * < +0.0, +10.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, +50.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < -50.0, +50.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -50.0, -50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < -50.0, -50.0, -50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.0, 0.0, 0.5 > } #declare raio = 2.000; #declare tinta_B = texture { pigment { color rgb < 0.90, 0.90, 0.90 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_R = texture { pigment { color rgb < 0.70, 0.0, 0.0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare verde = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color <0.0,0.5,0.0> filter 1 } } #declare dourado = texture { pigment { rgb <1.0,1.0,0.0> } finish { ambient 0.05 diffuse 0.05 reflection <1.0,1.0,0.0> specular 0.2 roughness 0.05 } } #declare preto = texture { pigment { color rgb < 0.0 0.0, 0.0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare cilindro = cylinder { < 0.0, 0.0, 0.0 >, < 0.0, 20.0, 0.0 >, 2.0 texture { preto } //interior { ior 10 } } #declare bico = cone { < 0, 20, 0 >, 3.0 < 0, 32, 0>, 0 texture { dourado } //interior { ior 10} } #declare rosquinha = torus { 2, 1 // major and minor radius texture { verde } interior { ior 10} } #declare porta = prism { linear_sweep linear_spline 0, // sweep the following shape from here ... 1, // ... up through here 5, // the number of points making up the shape ... <0,0>, <50,0>, <50,80>, <0,50>, <0, 0> rotate -90*clock*z rotate -90*x translate <-10,-15,0> texture { dourado } } #declare porta2 = prism { linear_sweep linear_spline 0, // sweep the following shape from here ... 1, // ... up through here 5, // the number of points making up the shape ... <0,0>, <50,0>, <50,80>, <0,50>, <0, 0> scale -1*x rotate 90*clock*z rotate -90*x translate <-10,-15,0> texture { dourado } } #declare bico = lathe { linear_spline 6, //<0,0>, <1,1>, <3,2>, <2,3>, <2,4>, <0,4> <0,0>,<3,0>,<2,1>,<3,1.2>,<2,1.4>,<0,5.4> //pigment { Blue } //finish { // ambient .3 // phong .75 //} texture { verde } } #declare torre = union { object { cilindro } //object { bico } //object { rosquinha scale 2 translate 20*y} //object { rosquinha translate 26*y} object { bico translate 20*y} scale <3,3,3> } #declare torres = union { object {torre translate <+46,-16,0> } object {torre translate <-66,-16,0> } } #declare chao = plane { <0, 1, 0>, 0 //16 texture { pigment { color rgb < 0, 0.4, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } } #declare logo = text { ttf "arial.ttf" "Fome Zero" 4.0, 0 scale <4,4,4> texture { tinta_B } } #declare c1 = cylinder { < 0.0, 0.0, 0.0 >, < 0.0, 6.0, 0.0 >, 1.0 texture { tinta_B } } #declare c2 = cylinder { < 0.0, -1.0, 0.0 >, < 0.0, 7.0, 0.0 >, 0.8 texture { tinta_B } } #declare c4 = cylinder { < 480.0, -17.0, 0.0 >, < 480.0, -15.9, 0.0 >, 540.0 texture { preto } } #declare c5 = cylinder { < 480.0, -17.0, 0.0 >, < 480.0, -15.0, 0.0 >, 440.0 texture { preto } } #declare linha = box { <-60,-15.8,10>, <40,-16.1,-10> texture { pigment { color rgb < 1.0, 1.0, 1.0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } } #declare c3 = cylinder { < 0.0, 0.0, 0.0 >, < 0.0, 12.0, 0.0 >, 0.5 texture { tinta_B } } #declare b1 = box { <-1.6, -1.0, 0.0>, <1.6, 7.0, 2.0> texture { tinta_B} } #declare b2 = box { <0, 0.0, -1.0>, <9, 6.0, 1.0> texture { tinta_B} } #declare Ban = difference { difference { object { c1 } object { c2 } } object { b1 } } #declare Bandeira = union { intersection { union { object { Ban scale -1*z translate -1.8*x } object { Ban } object { Ban scale -1*z translate 1.8*x } object { Ban translate 3.6*x } translate clock*x scale 2*x } object { b2 } translate 6*y } object {c3} } #declare braco = cylinder { < 0.0, 0.0, 0.0 >, < 6.0, 0.0, 0.0 >, 1.0 texture { tinta_R } } #declare cotovelo = sphere { < 7.00, 0.00, 0.00 >, 1.5 texture { tinta_R } } #declare tronco = cylinder { < 0.0, 10.0, 0.0 >, < 0.0, 0.0, 0.0 >, 4.0 texture { tinta_R } } #declare bracao = union { object { cotovelo translate <-6,0,0>} object { braco } object { cotovelo } union { object { braco } object { cotovelo translate <0,0,0>} rotate -15*z translate <8,0,0> } rotate -60*z translate <4,9,0> } #declare bracaos = union { object { cotovelo translate <-6,0,0>} object { braco } object { cotovelo } union { object { braco } object { cotovelo translate <0,0,0>} object { Bandeira translate <7,0,0>} rotate <0, -20*clock, -15> translate <8,0,0> } rotate -60*z rotate 20*clock*z translate <4,9,0> } #declare perna = union { object { cotovelo translate <-6,0,0>} object { braco } object { cotovelo } union { object { braco } object { cotovelo translate <0,0,0>} rotate -15*z translate <8,0,0> } rotate -60*z translate <2,-1,0> } #declare corpo = union { object { tronco } object { bracaos translate <-4,-9,0> rotate 20*clock*z translate <4,9,0>} object { bracao scale -1*x } object { perna } object { perna scale -1*x } } #declare cab = sphere { < 0.00, 0.00, 0.00 >, 3.00 texture { tinta_R } } #declare viseira = cylinder { < 6.0, 1.0, 2.0 >, < -6.0, 1.0, 2.0 >, 2.0 scale 2*z texture { preto } } #declare cabeca = union { difference { object { cab } object { viseira } } intersection { object { viseira } object { cab texture {preto }} } translate <-2,13,0> } #declare cena = union { object { cabeca translate <2,1,0>} object { cotovelo translate <-7,10,0>} object { corpo translate <0,0,0>} object { logo translate <0,20,-10>} translate <-10,0,-10> } #declare pista = difference { object { c4 } object { c5 } } union { object { porta2 translate 50*x} object { porta translate -50*x } object { torres } object { linha } object { pista } object { cena } object { chao translate -16*y} }