// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "colors.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare amarelo = <1,.8,.1>; #declare verde = <0,1,0>; #declare vermelho = <1,0,0>; #declare tverde = texture { finish { ambient 0.1 diffuse .1 reflection .25 specular 1 roughness .001 } pigment { color verde filter 1 } } #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare tinta_C = texture { pigment { color rgb < 1.00, 0.0, 0.0 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare tvermelho = texture { finish { ambient 0.1 diffuse .1 reflection .25 specular 1 roughness .001 } pigment { color vermelho filter 1 } } #declare tx_espelho = texture { pigment { rgb amarelo } finish { ambient .05 diffuse .05 reflection amarelo *.50 specular .20 roughness .05 } } #declare janela_redonda= cylinder { <1.30,1.05,0.7> <1.30,-0.05,0.7> 0.17 texture {tinta_C} } #declare janela_quadrada= box { <1.47,1.05,0.87> <1.13,-0.05,0.53> texture {tinta_C} } #declare roda = cylinder { <1.30,1.05,0.17> <1.30,-0.05,0.17> 0.17 pigment {rgb <0,0,0>} } #declare vagao = union { #declare r=0; #declare gerador = seed ( 1234567); #while (r<4) union { box {<0,0,0> <1.5,1,1> texture {tinta_A}} box {<0,0.45,0> <-0.4,0.55,0.1> texture {tinta_A}} #if (rand (gerador )>=.5) object { janela_redonda translate <-0.35*r,0,0>} #else object { janela_quadrada translate <-0.35*r,0,0>} #end object { roda translate <-0.35*r,0,0>} } #declare r = r+1; #end } #declare primeiro_vagao = union { #declare r=0; #declare gerador = seed ( 1234567); box {<0,0,0> <0.75,1,0.7> texture {tinta_A}} box {<0.75,0,0> <1.5,1,1.2> texture {tinta_A}} box {<0,0.45,0> <-0.4,0.55,0.1> texture {tinta_A}} #while (r<4) object { roda translate <-0.35*r,0,0>} #declare r = r+1; #end #declare r=0; #declare gerador = seed ( 1234567); #while (r<2) #if (rand (gerador )>=.5) object { janela_redonda translate <-0.35*r,0,0>} #else object { janela_quadrada translate <-0.35*r,0,0>} #end #declare r=r+1; #end } #declare trem = union { #declare n=0; #while (n<7) #if (n=0) object {primeiro_vagao translate <-1,4.85,0> rotate -n*19*z} #else object {vagao translate <-1,4.85,0> rotate -n*19*z} #end #declare n = n+1; #end } #declare estacao = box { <0,0,0> <1.5,1,1> pigment {rgb <0,0,0>} } #declare tempo=clock; #if (tempo < 0.3) #declare mult = sin(tempo*pi/3*3)+1; #else (tempo < 0.8) #declare mult = sin(tempo*pi/3*1.8)+1; #end union { lathe { linear_spline 2, <5.0,0>,<5.1,0> rotate 90*x pigment {rgb <0,0,1>} } lathe { linear_spline 2, <5.9,0>,<6.0,0> rotate 90*x pigment {rgb <0,0,1>} } object {estacao translate <-1,6,0> rotate 40*z } object {trem rotate z*mult*400 } } #include "camlight.inc" camlight(<0,0,0>,<7.00,8.00,17>,1.00,z,1.0)