// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare amarelo = <1,1,0.1>; #declare azul = <0.2,0.8,1>; #declare verde = <0.2,1,0.1>; #declare vermelho = <1,0.2,0.1>; #declare preto = <0.1,0.1,0.1>; #declare marrom = <0.2,0.2,0.2>; #declare branco = <1,1,1>; #declare m=360; #declare a=m/(2*0.3*0.7); #declare b=-a*0.3*0.3; #declare c=2*a*0.3; #declare vagao = union { #declare i = 0; #while(i<8) #declare temp = union { cylinder { <0,3,0>, <0,3,7>, 0.7 pigment {color preto filter 1} } cylinder { <0,3.5,-0.3>, <0,3.5,7.3>, 0.2 pigment {color branco filter 0.5} } } object { temp translate -1*y+1.2*i*x+2*z } #declare i=i+1; #end box { <0,3,3>,<10,7,7> pigment {color azul filter 0.8} translate -1*x } #declare i = 0; #declare gerador = seed(12345); #while(i<10) #declare treco = #if(i>4) cylinder { <1,3,0.1>, <1,3,0.2>, 1 pigment {color amarelo filter 0.5} } #else cylinder { <1,3,0.1>, <1,3,0.2>, 0.6 pigment {color amarelo filter 0.5} } #end object { treco translate <7*rand(gerador),4*rand(gerador),7.1>} #declare i=i+1; #end } #declare trem = union { #declare i = 0; #while(i<8) #declare temp = cylinder { <0,0,0>, <0,0,10>, 2 pigment {color preto filter 1} } object { temp translate -1*y+2.8*i*x} #declare i=i+1; #end box { <0,0,0>,<20,10,10> pigment {color vermelho filter 0.8} } cylinder { <3,10.1,5>, <3,18,5>, 2 pigment {color vermelho filter 1} } #declare i = 0; #declare gerador = seed(12345); #while(i<5) #declare treco = box { <0,0,0>,<+3,+1.7,0.3> pigment {color amarelo filter 0.5}} object { treco translate <16*rand(gerador),8*rand(gerador),10.1>} #declare i=i+1; #end } #declare trilhoext= cylinder { < 0, 0, 0 >,< 0, 0.5, 0 >,53 pigment {color marrom} } #declare trilhoextaux= cylinder { < 0, -0.1, 0 >,< 0, 0.6, 0 >,52 pigment {color marrom} } #declare trilhoint= cylinder { < 0, 0.0, 0 >,< 0, 0.5, 0 >,49 pigment {color marrom} } #declare trilhointaux= cylinder { < 0, -0.1, 0 >, < 0, 0.6, 0 >, 48 pigment {color marrom} } #declare trem_total = union { #declare cont = 0; #while(cont<8) #declare r = 25*cont; #if(cont=7) object{ trem translate<0,0,-55> rotate r*y } #else object{ vagao translate<0,-4,-55> rotate r*y } #end #declare cont = cont + 1; #end } object {trem_total #if (clock < 0.3) rotate y*clock*a*clock #else #if (clock < 0.7) rotate y*(clock*c+b) #else rotate y*(m-a*(1-clock)*(1-clock)) #end #end translate 3*y } union{ difference{ object {trilhoext} object {trilhoextaux} } difference{ object {trilhoint} object {trilhointaux} } } #include "camlight.inc" camlight(<0,0,0>,<120,120,120>,1.00,y,1.0)