// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-10-22 04:15:44 by stolfi global_settings { max_trace_level 10 } // ====================================================================== // CÂMERA #declare ctr = < 30.00, 15.00, 10.00 >; #declare camdir = < -50.00, 45.00, 10.00 >; camera { location ctr + 1.00*camdir // Posição do observador. right -1.00*x up 0.75*y sky z look_at ctr // Para onde a câmera está apontando. } // ====================================================================== // FONTES DE LUZ light_source { 100 * < -10.00, 12.00, 10.00 > // Posição da lâmpada. color rgb 1.2*< 1.00, 1.00, 1.00 > // Intensidade e cor da luz. } light_source { 100 * < 15.00, 40.00, 50.00 > // Posição da lâmpada. color rgb 0.7*< 1.00, 1.00, 1.00 > // Intensidade e cor da luz. } light_source { 100 * < -50.00, -12.00, 50.00 > // Posição da lâmpada. color rgb 0.4*< 1.00, 1.00, 1.00 > // Intensidade e cor da luz. } // ====================================================================== // DESCRIÇÃO DA CENA background { color rgb < 0.98, 1.00, 0.75 > } #declare tinta_Verde = texture { pigment { color rgb < 0.00, 1.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_Azul = texture { pigment { color rgb < 0.00, 0.00, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_Vermelha = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_Amarela = texture { pigment { color rgb < 1.00, 1.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare transparente = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color rgb < 0.60, 0.35, 0.98 > filter 1 } } #declare cor_espelho = < 0.40, 0.41, 0.40 > ; #declare espelhado = texture { pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.20 roughness 0.05 } } #declare plano_xy = plane { < 0, 0, 1 >, 0 } #declare coluna_vertical = box { < 0.00, 0.00, 0.00 >, < 1.00, 1.00, 10.00 > texture { transparente } } #declare coluna_horizontal1 = box { < 0.00, 0.00, 0.00 >, < 1.00, 21.00, 1.00 > texture { transparente } } #declare coluna_horizontal2 = box { < 0.00, 0.00, 0.00 >, < 21.00, 1.00, 1.00 > texture { transparente } } #declare torre1 = union { cylinder { < 0.00, 0.00, 0.00 > < 0.00, 0.00, 15.00 > 3.00 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } cone { < 0.00, 0.00, 15.00 > 3.00 < 0.00, 0.00, 17.00 > 5.00 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } cone { < 0.00, 0.00, 17.00 > 5.00 < 0.00, 0.00, 19.00 > 2.00 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } cylinder { < 0.00, 0.00, 19.00 > < 0.00, 0.00, 25.00 > 2.00 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } cone { < 0.00, 0.00, 25.00 > 2.00 < 0.00, 0.00, 27.00 > 4.00 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } cone { < 0.00, 0.00, 27.00 > 4.00 < 0.00, 0.00, 31.00 > 0.00 texture { espelhado } } } #declare torre2 = union { cylinder { < 0.00, 0.00, 0.00 > < 0.00, 0.00, 23.00 > 2.50 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } } torus { 4.00, 1.50 pigment { brick rgb < 0.40, 0.43, 0.23 >, rgb < 0.73, 0.60, 0.31 > brick_size 3 } rotate < 90, 0, 0 > translate < 0, 0, 15 > } cone { < 0.00, 0.00, 23.00 > 2.50 < 0.00, 0.00, 25.00 > 4.00 pigment { brick rgb < 0.50, 0.50, 0.50 >, rgb < 0.10, 0.10, 0.10 > brick_size 3 } } cone { < 0.00, 0.00, 25.00 > 4.00 < 0.00, 0.00, 29.00 > 0.00 texture { espelhado } } } #declare predio = union { object { coluna_vertical translate < 10.00, 5.00, 0.00 > } object { coluna_vertical translate < 30.00, 5.00, 0.00 > } object { coluna_vertical translate < 10.00, 25.00, 0.00 > } object { coluna_vertical translate < 30.00, 25.00, 0.00 > } object { coluna_horizontal1 translate < 10.00, 5.00, 10.00 > } object { coluna_horizontal1 translate < 30.00, 5.00, 10.00 > } object { coluna_horizontal2 translate < 10.00, 5.00, 10.00 > } object { coluna_horizontal2 translate < 10.00, 25.00, 10.00 > } } // Aqui está a cena, finalmente: union { object { plano_xy pigment { checker rgb < 0.70, 0.90, 0.90 >, < 0.80, 1.00, 1.00 > scale 4 } } plane { < -1, 1, 0 >, -50 pigment { checker rgb < 0.90, 0.70, 0.90 >, < 1.00, 0.85, 1.00 > // checker rgb < 1.00, 0.50, 0.70 >, < 0.80, 1.00, 0.60 > scale 4 } } object { predio interior { ior 1.5 } } object { torre1 translate < 20.00, 15.00, 0.00 > } object { torre2 translate < 45.00, 32.00, 0.00 > } }