// MC930 - Trabalho prático 10 - 1s2003 // Artur Manoel Passos RA 001388 // Last edited on 2003-05-31 19:17:54 by stolfi #include "colors.inc" #declare ctr = <0,0,0>; camera { location ctr + 1.0 * < 0, -0.5, 30.00 > right -0.80*x up 0.60*y sky y look_at ctr } light_source { 100*<-9.00, 3.00, 7.00 > color 1.3*White } light_source { 100*<+9.00, 3.00, 3.00 > color 0.7*White } light_source { 100*<+1.00, 1.00, 7.00 > color 0.4*White } background{ SummerSky } #declare tx1 = texture { pigment { Silver } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare P1 = text { ttf "arial.ttf" "A" 0.15, 0 } #declare P2 = text { ttf "arial.ttf" "B" 0.15, 0 } #declare P3 = text { ttf "arial.ttf" "C" 0.15, 0 } #declare parafuso = cylinder{ <0, -4.5, 0>, <0, 4.5, 0> 0.5 pigment {Blue}} #declare combustor_piloto = union { difference { cylinder { <0, -1 , 0>, <0, 1 , 0> 3 pigment {Yellow}} object {parafuso translate <1,0,1>} object {parafuso translate <-1,0,1>} object {parafuso translate <-1,0,-1>} object {parafuso translate <1,0,-1>} } object {P1 translate<-2.8,1.7,0>} } #declare bloco_rotativo = union { box {<-2, -2, -2>, <2, 2, 2,> pigment {Red}} object {parafuso translate <1,0,1>} object {parafuso translate <-1,0,1>} object {parafuso translate <-1,0,-1>} object {parafuso translate <1,0,-1>} object {box {<-0.5,-0.3,-0.3>,<0.5,0.3,0.3> pigment{White} translate <-2,0,0>}} object {P2 translate<-3,1.1,0>} } #declare mancal_basculante = union { difference { prism { linear_sweep linear_spline -2, 2, 9, <3, 3>,<2,0>,<3,-3>,<0,-2>,<-3,-3>,<-2,0>, <-3,3>,<0,2>,<3,3> pigment { Tan } } difference { cylinder { <0, 0, 0>, <0, 2.1, 0> 1.91421} cylinder { <0, 0, 0>, <0, 2.1, 0> 0.91421} } } object {P3 translate<-3.3,2.5,0>} } #declare seta = prism { linear_sweep linear_spline -0.1, 0.1, 8, <-1, 0.2>,<0.8,0.2>,<0.8,0.5>,<1.8, 0>,<0.8,-0.5>,<0.8,-0.2>, <-0.8,-0.2>,<-0.8,0.2> pigment { White } } #declare tx1 = texture { pigment { Silver } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #if (clock <0.2) #declare dx1 = clock*30; #declare dy1 = 0; #declare dx2 = 0; #declare dy2 = 0; #declare dy3 = 0; #declare dx4 = 0; #declare dy4 = 0; #else #declare dx1 = 6; #if (clock < 0.4) #declare dy1 = (clock-0.2)*(-15); #declare dx2 = 0; #declare dy2 = 0; #declare dy3 = 0; #declare dx4 = 0; #declare dy4 = 0; # else #declare dy1 = -3; #if (clock < 0.6) #declare dx2 = (clock-0.4)*45; #declare dy2 = (clock-0.4)*20; #declare dy3 = 0; #declare dx4 = 0; #declare dy4 = 0; #else #declare dx2 = 9; #declare dy2 = 4; #if (clock < 0.8) #declare dy3 = (clock-0.6)*(-20); object{ seta rotate<90,0,0> translate <2,3+dy3,0>} #declare dx4 = 0; #declare dy4 = 0; #else #declare dy3 = -4; #declare dx4 = (clock-0.8)*(-35); #declare dy4 = (clock-0.8)*(5); #end #end #end #end object {combustor_piloto rotate <0,0,0> translate <-8+dx1+dx2+dx4, 5+dy1+dy2+dy3+dy4, 0>} object {bloco_rotativo rotate <0,0,0> translate<-2+dx2+dx4, -1+dy2+dy3+dy4, 0>} object {mancal_basculante rotate<0,0,0> translate<7+dx4, -5+dy4, 0>}