// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "colors.inc" #include "metals.inc" #include "stones.inc" #include "textures.inc" #include "skies.inc" background{ color rgb < 0.9, 0.9, 0.9 > } #declare raio = 2.000; #declare tinta_A = texture { pigment { color rgb < 1, 0, 0 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1, 0.9, 0 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare cor_cristal = <0.5, 0.5, 0.75 >; #declare tx_cristal = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.30 specular 1 roughness 0.001 } pigment { color cor_cristal filter 1 } } #declare cor_espelho = <0.4, 0.4, 0.4 >; #declare tx_espelho = texture { pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.20 roughness 0.05 } } #declare cor_ouro = <1, 0.9, 0>; #declare tx_ouro = texture { pigment { rgb cor_ouro } finish { ambient 0.05 diffuse 0.05 reflection cor_ouro specular 0.20 roughness 0.05 } } #declare cor_ourot = < 1, 0.9, 0 >; #declare tx_ourot = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_ourot filter 1 } } #declare vigas = union { #declare i = 0; #while (i < 90) #declare r = 0.1; #declare umaviga = box { <-30*r,-r,-r>,<5*r,r,r> } object { umaviga translate <14, 0, 0.6> rotate 4*i*z } #declare i = i+1; #end texture {Dark_Wood} } #declare trilho = union { lathe { 4,<11.6,0>,<11.6,0.6>,<11.8,0.6>,<11.8,0> texture {tx_espelho} } lathe { 4,<13.8,0>,<13.8,0.6>,<14,0.6>,<14,0> texture {tx_espelho} } } #declare locomotiva = union { #declare i = 0; #while (i < 4) cylinder { <-1.6,0,0>,<1.6,0,0>,0.5 translate <12.5,2+i,1.1> texture {tinta_B} } #declare i = i+1; #end cylinder { <0,-1,1>,<0,2,1>,1 translate <12.5,0,1.2> texture {tinta_A} } box { <0,-0.5,0.5>,<0.5,0,4> translate <12.5,0,1.2> texture {tinta_A} } box { <-1.5,1,0>,<1.5,6,2> translate <12.5,0,1.2> texture {tinta_A} } box { <-0.3,0.3,0>,<0.3,5,0.4> translate <12.5,4,1.3> rotate 5*z texture {tinta_A} } difference { box { <-1.5,3.5,0>,<1.5,6,4> translate <12.5,0,1.2> texture {tinta_A} } box { <-1.2,-3,2.4>,<1.2,8,3.7> translate <12.5,0,1.2> texture {tinta_A} } #declare i4 = 0; #while (i4 < 2) box { <-2,3.5,2.5>,<2,4.2,3.5> translate <12.5,0.4+i4,1.2> texture {tx_cristal} } #declare i4 = i4+1; #end } } #declare vagoes = union { #declare i1 = 0; #while (i1 < 8) #declare umvagao = union { #declare i2 = 0; #while (i2 < 4) cylinder { <-1.6,0,0>,<1.6,0,0>,0.5 translate <12.5,-1.4+i2,1.1> texture {tinta_B} } #declare i2 = i2+1; #end difference { box { <-1.5,-2.5,0>,<1.5,2.5,3> translate <12.5,0,1.2> texture {tinta_A} } #declare i3 = 0; #while (i3 < 4) box { <-2,-2,1.6>,<2,-1.5,2.5> translate <12.5,0.4+i3,1.2> texture {tx_cristal} } #declare i3 = i3+1; #end } #if (i1 != 7) box { <-0.3,0.3,0>,<0.3,5,0.4> translate <12.5,0,1.3> texture {tinta_A} } #end } object { umvagao rotate 60*z rotate 30*i1*z } #declare i1 = i1+1; #end texture {tinta_B} } #declare pilar = cylinder { <0,0,0.2>,<0,0,5.8>,0.6 pigment { Silver } } #declare estacao = union { difference { box { <-6,0,0>,<6,6,6> rotate 90*z pigment { Gray } } box { <-7,-1,1.5>,<7,7,5> rotate 90*z pigment { Gray } } } box { <-6.4,0,6>,<6,6,6.1> rotate 90*z pigment { Red } } object {pilar translate <-1,-3.5,0.2>} object {pilar translate <-1,3.5,0.2>} translate <20,0,0> } plane { z,0 texture {T_Grnt24} } #if (clock < 0.20) #declare posicao = 750*clock*clock; #else #if (clock < 0.80) #declare posicao = -70+500*clock; #else #declare posicao = 360-750*(1-clock)*(1-clock); #end #end object {trilho rotate 90*x translate <0,0,0.15>} object {vigas} union { object {vagoes} object {locomotiva translate <0,-3,0> rotate 30*z} rotate -posicao*z } object {estacao} #include "camlight.inc" camlight(<0,0,0>,<35,30,20>,1.00,z,1.0)