// Last edited on 2003-06-28 04:11:54 by stolfi #include "colors.inc" background{ color rgb < 0.00, 0.00, 0.00 > } camera { location 1.0 * < 15.00, 0.00, 0.00 > right -1.2*x up 0.80*y sky y look_at < 0.00, 0.00, 0.00 > } light_source { 30*< 15.00, 20.00, +15.00 > color 1.2*White } light_source { 30*< 15.00, 10.00, -15.00 > color 0.8*White } light_source { 30*< 15.00, 2.00, +4.00 > color 0.4*White } background { Gray50 } #declare marrom = texture { pigment { checker color rgb < 0.70, 0.36, 0.06 >, color rgb < 0.84, 0.50, 0.20 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } scale 0.4 } #declare rosa = texture { pigment { checker color rgb < 0.80, 0.00, 0.80 >, color rgb < 1.00, 0.20, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } scale 0.4 } #declare azul = texture { pigment { checker color rgb < 0.00, 0.00, 0.80 >, color rgb < 0.20, 0.20, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } scale 0.4 } #if (clock < 0.25) #declare translacaoAsup = 5 - 4*clock; #declare translacaoAinf = 1 - 4*clock; #declare translacaoB = -3 + 8*clock; #declare translacaoAB = 5; #declare rotacao = 0; #else #if (clock < 0.5) #declare translacaoAsup = 4; #declare translacaoAinf = 0; #declare translacaoB = -1; #declare translacaoAB = 5-24*(clock-0.25); #declare rotacao = 0; #else #if (clock < 0.75) #declare translacaoAsup = 4; #declare translacaoAinf = 0; #declare translacaoB = -1; #declare translacaoAB = -1; #declare rotacao = (180/0.25)*(clock - 0.5); #else #declare translacaoAsup = 4; #declare translacaoAinf = 0; #declare translacaoB = -1; #declare translacaoAB = -1; #declare rotacao = 180; #end #end #end #declare translacaoA = (translacaoAsup + translacaoAinf)/2; #declare hA = (translacaoAsup - translacaoAinf)/2; #declare a = cylinder{ <0,-hA,0>, <0,hA,0>, 1 texture { rosa } translate <0,translacaoA,translacaoAB> } #declare b = sphere{ <0,0,0>, 1 texture { azul } translate < 0, translacaoB,translacaoAB > } #declare c = cylinder{ <0,0,-6>, <0,0,-2>, 1 texture { marrom } } #declare ab = union{ object{a} object{b} } #declare abc = union{ object{ab} object{c} } object{abc rotate<0,0,rotacao>}