// Exemplo de arquivo de descricao de cena para POV-ray // ====================================================================== // CÂMERA #include "colors.inc" #include "stones.inc" #include "metals.inc" camera { location <50.00, 50.00, 50.00> // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y 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 * < +40.0, +30.0, +40.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. } // ====================================================================== // DESCRIÇÃO DA CENA //background { White } background{ color rgb < 0.75, 0.80, 0.85 > } //Pontos que formam a superfície de rotação #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare filme_rgb = <0.2, 0.20, 0.80>; #declare filme = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.15 specular 2 roughness 0.010 } pigment { color filme_rgb filter 1 } } #declare filme_t_rgb = <0.7, 0.70, 0.87>; #declare filme_t = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.15 specular 2 roughness 0.010 } pigment { color filme_t_rgb filter 1 } } #declare G = seed(766144); #declare H = seed(10871); #declare nj = 5*rand(G); #declare janela1 = box {<-0.35,-0.3,0.1>, <0.35,0.3,-0.1> texture { filme } } #declare janela2 = box {<-0.35,-0.3,0.1>, <0.35,0.3,-0.1> texture { filme_t } } #declare nv = (5*rand(H)) + 5; #declare janelas = #declare j = 1; union { #while (j <= 5) #if (j <= int(nj)) object{ janela1 translate <-2.7 + 0.9*j,0,0>} #else object{ janela2 translate <-2.7 + 0.9*j,0,0>} #end #declare j = j + 1; #end } #declare roda = torus{0.25,0.1 rotate 90*x texture {T_Brass_5E} } #declare eixo = cylinder {<0,0,1.2>, <0,0,-1.2> 0.15 texture {T_Brass_5C}} #declare roda_eixo = union { object{roda translate <0,0,1.2>} object{eixo translate <0,0,0>} object{roda translate <0,0,-1.2>} } #declare vagao = union { box{<-3,0,1.2>,<3,3,-1.2> texture{T_Chrome_5B}} object {janelas translate <0,2,1.2>} #declare h = 1; union { #while (h <=8) object{roda_eixo translate <-3.2 + 0.7*h,0,0> scale <1,1,0.9>} #declare h = h + 1; #end } box{<-3,0,0.1>,<-3.5,0.1,-0.1> pigment { color <0,0,0>}} } #declare vagao_rot = object {vagao rotate 90*y} #declare vagoes = union { #declare k = 1; #while (k <= int(nv)) object { vagao_rot translate <20,0,0> rotate 20*k*y} #declare k = k + 1; #end } vagoes