// Last edited on 2003-06-28 14:11:56 by stolfi // Repermeador Oscilatório Multifuncional // 22/05/2003 Thiago Barroso Fonte Boa #include "colors.inc" #include "stones.inc" background { Gray90 } #declare ctr = < 0.5, 1, 0 >; #declare cam = < 0, 1, -4 >; camera { location ctr + 1.2*cam right 1.2*x up 0.9*y sky y look_at ctr } light_source { ctr + 100*vrotate(cam + 3.0*y, -40*y) color 1.2*White } light_source { ctr + 100*vrotate(cam + 1.0*y, +55*y) color 0.5*White } light_source { ctr + 100*vrotate(cam + 0.1*y, +15*y) color 0.8*White } #if(clock<0.5) #declare rot=0; #declare transcomb = -clock*2.6; #declare transpeca = 0; #declare reb=0; #end #if(clock>=0.5 & clock<0.8) #declare rot=-20+50*abs(cos(radians(2*(clock-0.5)*720))); #declare transcomb = -1.3; #declare transpeca = 0.9 + (9*(clock-1)/5); #declare reb=0; #end #if(clock>=0.8) #declare rot=-20+50*abs(cos(radians(2*(clock-0.5)*720))); #declare transcomb = -1.3; #declare transpeca = 0.9 + (9*(clock-1)/5); #declare reb=0.5+2.5*(clock-1); #end #declare combustor= union{ box{<-0.5,-0.2,-0.5>,<0.5,0.2,0.5> pigment{color rgb<0.4,0.3,0.8>}} cone{<0,0,0>,0.2,<0,0.7,0>,0.45 open pigment{color rgb<0.4,0.6,0.1>}} translate<-0.9,1.5,0> } #declare bloco= difference{ union{ cylinder{<0,-0.4,0>,<0,0.2,0>,0.9 pigment{color rgb<0.4,0.2,0.8>}} cylinder{<0.8,-0.2,0>,<1.5,-0.2,0>,0.1 pigment{color rgb<0.3,0.6,0.6>}} } box{<-0.5,-0.2,-0.5>,<0.5,0.3,0.5> pigment{color rgb<0.6,0.7,0.9>}} translate<-0.9,0.2,0> } #declare mancal= difference{ union{ box{<1.2,-0.4,-0.6>,<2.4,0.3,0.6> pigment{color rgb<0.6,0.7,0.4>}} box{<1.2,-0.8,-0.6>,<1.6,-0.3,-0.2> pigment{color rgb<0.6,0.7,0.4>}} box{<1.2,-0.8,-0.6>,<1.6,-0.3,-0.2> pigment{color rgb<0.6,0.7,0.4>} scale<1,1,-1>} box{<2,-0.8,-0.6>,<2.4,-0.3,-0.2> pigment{color rgb<0.6,0.7,0.4>}} box{<2,-0.8,-0.6>,<2.4,-0.3,-0.2> pigment{color rgb<0.6,0.7,0.4>} scale<1,1,-1>} } cylinder{<1.0,-0.2,0>,<1.3,-0.2,0>,0.1 pigment{color rgb<0.3,0.6,0.6>}} translate<0,0.2,0> } cylinder{<1.5,1.2,-0.3>,<1.5,0.3,-0.3>,0.1 pigment{color rgb<1,0.2,0.1>} translate<0,-reb,0>} object{mancal} object{combustor translate rotate} object{bloco translate rotate}