// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "colors.inc" #include "metals.inc" #include "stones.inc" #include "textures.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} } 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} } plane { z,0 texture {T_Grnt24} } object {trilho rotate 90*x translate <0,0,0.15>} object {vigas} object {vagoes} object {locomotiva translate <0,-3,0> rotate 30*z} #include "camlight.inc" camlight(<0,0,0>,<22,18,12>,1.00,z,1.0)