// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-09-04 15:25:26 by stolfi // ====================================================================== // CÂMERA #include "textures.inc" #include "colors.inc" camera { location 4*<10, 10, 4 > // Posição do observador. right -1*x // Largura RELATIVA da imagem. up .75*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0.00, 0.00, 0 > // 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.2 * < 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.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0, -12.75, 2 > // Posição da lâmpada. color rgb < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0, -12.75, 5.5 > // Posição da lâmpada. color rgb 0.4 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0, -12.75, 4 > // 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 raio = 2.000; #declare tinta1 = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta2 = texture { pigment { color rgb < 0.40, 0.10, 0.70 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta3 = texture { pigment { color rgb < 0, 0, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta4 = texture { pigment { color rgb < 0.0, 0.0, 0.0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta5 = texture { pigment { color rgb < 1, 1, 1 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta6 = texture { pigment { color rgb < 1, 1, 0 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta7 = texture { pigment { color rgb < 1, 1, 1 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare eixoX = cylinder {<-300,0,0>,<300,0,0>,.1 texture {tinta1} } #declare eixoY = cylinder {<0,-300,0>,<0,300,0>,.1 texture {tinta2} } #declare eixoZ = cylinder {<0,0,-300>,<0,0,300>,.1 texture {tinta3} } #declare eixos= union{ object{eixoX} object{eixoY} object{eixoZ} } #declare fundo = plane {z,0 texture{Jade} scale 0.5 } #declare vertice = sphere{ <0,0,0>,.6 texture{tinta1}} #declare aresta= cylinder{<0,0,0>,<5,0,0>,.1 texture{tinta2}} #declare gerador = seed(10); #macro GRAFO(x_pos, y_pos, z_pos, chance_de_parar) #declare a = rand(gerador)*3.5; #local xl = x_pos; #local yl = y_pos; #local zl = z_pos; #local cl = chance_de_parar; object{vertice translate } #if (cl < .5) #if (a > 3) object{aresta translate } GRAFO(xl+5, yl, zl, cl + .01) object{aresta rotate 90*z translate } GRAFO(xl, yl+5, zl, cl + .01) object{aresta rotate -90*y translate } GRAFO(xl, yl, zl+5, cl +.1) #else #if (a>2) object{aresta rotate 90*z translate } GRAFO(xl, yl+5, zl, cl +.1) object{aresta rotate -90*y translate } GRAFO(xl, yl, zl+5, cl +.1) #else object{aresta translate } GRAFO(xl+5, yl, zl, cl + .1) object{aresta rotate -90*y translate } GRAFO(xl, yl, zl+5, cl+.1) #end #end #end #end union{ GRAFO(0,0,-10,0) }