// MC930A Decima Primeira Atividade de Laboratório utilizando POV-ray // Autor: Mário Riudoms Sangenis - RA: 992198 // Last edited on 2003-06-28 13:55:22 by stolfi #include "colors.inc" #include "textures.inc" background{ color 0.2*Blue + 0.3*Cyan + 0.5*White } #if (clock < 0.25) #declare desloc = 14*clock; #declare rot = 0; #declare encaixe = 0; #declare rot2 = 0; #else #declare desloc = 3.5; #if (clock < 0.5) #declare rot = 360*(clock-0.25); #declare encaixe = 0; #declare rot2 = 0; #else #declare rot = 90; #if (clock < 0.75) #declare encaixe = 36*(clock-0.5); #declare rot2 = 0; #else #declare encaixe = 9; #if (clock < 1) #declare rot2 = 360*(clock-0.75); #else #declare rot2 = 90; #end #end #end #end #declare cam = < 8.00, 0.00, -17.00 >; #declare camVar = cam - < 3*clock, 0.00, clock >; #declare ctr = < 0.00, 0.00, 0.00 >; camera { location ctr + camVar right 1.2*x up 0.9*y sky y look_at ctr } light_source { ctr + 100*vrotate(cam + 16.0*y, -40*y) color 1.2*White } light_source { ctr + 100*vrotate(cam + 3.0*y, +55*y) color 0.5*White } light_source { ctr + 100*vrotate(cam + 0.5*y, +15*y) color 0.8*White } #declare CheckerBronze = texture { pigment { checker color 0.8*Yellow + 0.2*Orange, color 0.2*Yellow + 0.8*Orange scale 2.0 } finish { diffuse 0.4 reflection 0.5*<1,0.95,0,5> specular 0.2 roughness 0.01 ambient 0 } } #declare CombustorPiloto = box { <-.2, -1.8, -2>, <.2, -1.30, 2> texture { Gold_Metal } } #declare BlocoRotativo = difference { cylinder { <0.00, -2.00, 0.00>, <0.00, 6.00, 0.00>, 1 } box { <-.2, -1.8, -2>, <.2, -1.30, 2> } texture { CheckerBronze rotate 45*y } // Para ver melhor o movimento --stolfi } #declare MancalBasculanteInferior = difference { lathe { cubic_spline 16, <1, 15>, <1, 10>, <1, 8>, <1.5, 7>, <1, 6>, <1, 3>, <2, 2>, <2.5, 1>, <3.5, 0>, <4,-1>, <3.5, -2>, <2.5,-3>, <2, -4>, <1, -5>, <1, -7>, <0, -7> texture {Silver_Metal} } cylinder { <0.00, -6.00, 0.00>, <0.00, 4.00, 0.00>, 1.1 pigment { color 0.5*Cyan + 0.5*Gray50 } rotate <90,0,0> translate <0, -1,0> } box { <-.25, -6, -2>, <.25, 4, 2> pigment { color 0.5*Cyan + 0.5*Gray50 } rotate <90,0,0> translate <0, -1,0> } } // Aqui está a cena, finalmente: union { object { CombustorPiloto rotate <-rot,0,rot2> translate <0, -2.5, -1.5-desloc>} object { BlocoRotativo rotate <-rot,0,rot2> translate <0, -2.5, -5>} object { MancalBasculanteInferior translate <0, -1.3, 7-encaixe> } } box { <-50,-11,-50>, <+50,-10,+50> pigment { checker Gray70,White scale 2 } finish { diffuse 0.6 ambient 0.4 } }