// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-09-04 15:25:26 by stolfi // ====================================================================== // C�ERA camera { location < 35.00, 28.0, 15.00 > // Posi�o do observador. right -1.50*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. sky z // Qual dire�o �"para cima"? look_at < 15.00, 15.00, -8.00 > // Para onde a c�era est�apontando. } // Nota: os par�etros "right" e "up" devem ter a mesma propor�o // que os par�etros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 4 * < +40.0, +60.0, +50.0 > // Posi�o da l�pada. color rgb 2.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 4 * < -40.0, -40.0, +90.0 > // Posi�o da l�pada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRI�O DA CENA background{ color rgb < 0.50, 0.50, 0.50 > } #declare tinta_branca = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { reflection 0.2 phong 0.4 diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_preta = texture { pigment { color rgb < 0.00, 0.00, 0.00 > } finish { reflection 0.6 phong 0.4 diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_azul = texture { pigment { color rgb < 0.30, 0.60, 1.00 > } finish { reflection 0.1 phong 1.0 diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_marrom = texture { pigment { color rgb < 0.40, 0.20, 0.10 > } finish { reflection 0.1 phong 0.4 diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare roleta = seed(1); #declare i = 0; #declare j = 0; #while (i < 30) #while (j < 30) box { < i, j, -1 >, < i + 1, j + 1, 0.0 > #if (mod(i,2) = 0) #if (mod(j,2) = 0) texture { tinta_branca } #end #if (mod(j,2) != 0) texture { tinta_preta } #end #end #if (mod(i,2) != 0) #if (mod(j,2) = 0) texture { tinta_preta } #end #if (mod(j,2) != 0) texture { tinta_branca } #end #end finish { reflection 0.4 phong 0.6} } #declare j = j+1; #end #declare j = 0; #declare i = i+1; #end #declare deslocamento_rei_a_i = 14.5; #declare deslocamento_rei_a_j = 0.5; union { cone { <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 0>, 0.4 <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.0>, 0.2 texture { tinta_azul } } cone { <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.0>, 0.2 <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.4>, 0.4 texture { tinta_azul } } box { <-0.1 + deslocamento_rei_a_i, -0.1 + deslocamento_rei_a_j, 1.4>, <0.1 + deslocamento_rei_a_i, 0.1 + deslocamento_rei_a_j, 2.0> texture { tinta_azul } } box { <-0.3 + deslocamento_rei_a_i, -0.1 + deslocamento_rei_a_j, 1.6>, <0.3 + deslocamento_rei_a_i, 0.1 + deslocamento_rei_a_j, 1.8> texture { tinta_azul } } } #declare deslocamento_rei_a_i = 15.5; #declare deslocamento_rei_a_j = 29.5; union { cone { <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 0>, 0.4 <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.0>, 0.2 texture { tinta_marrom } } cone { <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.0>, 0.2 <0 + deslocamento_rei_a_i, 0 + deslocamento_rei_a_j, 1.4>, 0.4 texture { tinta_marrom } } box { <-0.1 + deslocamento_rei_a_i, -0.1 + deslocamento_rei_a_j, 1.4>, <0.1 + deslocamento_rei_a_i, 0.1 + deslocamento_rei_a_j, 2.0> texture { tinta_marrom } } box { <-0.3 + deslocamento_rei_a_i, -0.1 + deslocamento_rei_a_j, 1.6>, <0.3 + deslocamento_rei_a_i, 0.1 + deslocamento_rei_a_j, 1.8> texture { tinta_marrom } } } #declare torres = 0; #while (torres < 30) #declare deslocamento_i = int(rand(roleta)*30) + 0.5; #declare deslocamento_j = int(rand(roleta)*2) + 0.5; union { cone { <0 + deslocamento_i, 0 + deslocamento_j, 0>, 0.4 <0 + deslocamento_i, 0 + deslocamento_j, 1.0>, 0.2 texture { tinta_azul } } difference { cylinder { < 0 + deslocamento_i, 0 + deslocamento_j, 1.0 >, < 0 + deslocamento_i, 0 + deslocamento_j, 1.3 >, 0.3 texture { tinta_azul } } cylinder { < 0 + deslocamento_i, 0 + deslocamento_j, 1.1 >, < 0 + deslocamento_i, 0 + deslocamento_j, 1.4 >, 0.28 texture { tinta_azul } } } } #declare torres = torres + 1; #end #declare torres = 0; #while (torres < 30) #declare deslocamento_i = int(rand(roleta)*30) + 0.5; #declare deslocamento_j = int(rand(roleta)*3) + 27.5; union { cone { <0 + deslocamento_i, 0 + deslocamento_j, 0>, 0.4 <0 + deslocamento_i, 0 + deslocamento_j, 1.0>, 0.2 texture { tinta_marrom } } difference { cylinder { < 0 + deslocamento_i, 0 + deslocamento_j, 1.0 >, < 0 + deslocamento_i, 0 + deslocamento_j, 1.3 >, 0.3 texture { tinta_marrom } } cylinder { < 0 + deslocamento_i, 0 + deslocamento_j, 1.1 >, < 0 + deslocamento_i, 0 + deslocamento_j, 1.4 >, 0.28 texture { tinta_marrom } } } } #declare torres = torres + 1; #end #declare peoes = 0; #while (peoes < 70) #declare deslocamento_i = int(rand(roleta)*30) + 0.5; #declare deslocamento_j = int(rand(roleta)*20) + 3.5; union { cone { <0 + deslocamento_i, 0 + deslocamento_j, 0>, 0.4 <0 + deslocamento_i, 0 + deslocamento_j, 0.8>, 0.2 texture { tinta_azul } } sphere { < 0 + deslocamento_i, 0 + deslocamento_j, 1 >, 0.3 texture { tinta_azul } } } #declare peoes = peoes + 1; #end #declare peoes = 0; #while (peoes < 70) #declare deslocamento_i = int(rand(roleta)*30) + 0.5; #declare deslocamento_j = int(rand(roleta)*20) + 7.5; union { cone { <0 + deslocamento_i, 0 + deslocamento_j, 0>, 0.4 <0 + deslocamento_i, 0 + deslocamento_j, 0.8>, 0.2 texture { tinta_marrom } } sphere { < 0 + deslocamento_i, 0 + deslocamento_j, 1 >, 0.3 texture { tinta_marrom } } } #declare peoes = peoes + 1; #end