// Last edited on DATE TIME by USER // Processed by remove-cam-lights #declare c0 = 0.00; #declare c1 = 0.50; #declare c2 = 1.00; #declare cam = 180*(clock-c0)/(c1-c0); #if((clock >= c0) & (clock < c1)) #declare rr = (clock-c0)/(c1-c0); #declare ss = (c1-clock)/(c1-c0); #declare corr = ss*0.2 + rr*1; #declare uper = ss*0 + 45*rr; #end #if((clock >= c1) & (clock <= c2)) #declare rr = (clock-c1)/(c2-c1); #declare ss = (c2-clock)/(c2-c1); #declare corr = ss*1 + rr*0.2; #declare uper = ss*45 + 0*rr; #end background{ color rgb < 0.75, corr, 0.85 > } #declare raio = 2.000; #declare azul = texture { pigment { color rgb < 0.00, 0.00, 0.70 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare amarelo = texture { pigment { color rgb < 0.90, 0.90, 0.30 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare cinza = texture { pigment { color rgb < 0.80, 0.80, 0.80 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare laranja = texture { pigment { color rgb < 1.00, 0.50, 0.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare verde= texture { pigment { color rgb < 0.20, 0.80, 0.20 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare vermelho= texture { pigment { color rgb < 0.50, 0.00, 0.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare preto = texture { pigment { color rgb < 0.00, 0.00, 0.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare branco = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare marron = texture { pigment { color rgb < 0.54, 0.27, 0.07 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #macro folha_faca() difference{ object{ cylinder{ < 0.00, 0.00, 0.0 >, < 0.00, 0.00, 0.5 >, 5 texture { azul } } translate<0,3,0> } object{ box{ < -6.00, 0.00, -6.00 >, < 6.00, 15.00, 6.00 > texture { azul } } } translate<4,0,0> scale<0.5,0.5,0.5> } #end #macro folha_colher() difference{ object{ sphere{ < 1.00, 0.00, 0.00>, 1 texture { amarelo } } } object{ box{ < 0.00, 0.00, -4.00 >, < 5.00, 5.00, 5.00 > texture { amarelo } } } object{ sphere{ < 1.00, 0.00, 0.00>, 0.7 texture { amarelo } } } } #end #macro braco1(vert_faca, horiz_faca, vert_colher, horiz_colher) union{ object{ box{ <-0.50, -4.00, -0.50>, <0.50, 4.00, 0.50> texture{ cinza } } } object{ folha_faca() rotate<0,horiz_faca,vert_faca> translate<0.5, 4, 0.5> } object{ folha_colher() rotate<0,horiz_colher,vert_colher> translate<0.5, -4, 0.5> } } #end #macro braco2(vert_faca, horiz_faca, vert_colher, horiz_colher, vert_braco1) union{ object{ box{ <-0.50, -0.50, -0.50>, <3.50, 0.50, 0.50> texture{ cinza } } } object{ braco1(vert_faca, horiz_faca, vert_colher, horiz_colher) rotate<0,0,vert_braco1> translate< 3.5,0,0> } } #end #macro braco3(vert_faca, horiz_faca, vert_colher, horiz_colher, vert_braco1, vert_braco2) union{ object{ box{ <0.00, -1.0, -5.50>, <4.00, 1.0, 0.50> texture{ cinza } } } object{ braco2(vert_faca, horiz_faca, vert_colher, horiz_colher, vert_braco1) rotate<0,0,vert_braco2> translate< 4,0,0> } } #end #declare c0 = 0.0; #declare c1 = 0.25; #declare c2 = 0.5; #declare c3 = 0.75; #declare c4 = 1.0; #declare nh = 3; #declare nv = 3; #declare nquadros = nh*nv; #declare Cini = 0.0; #declare Cfim = 1.0; #declare Cpasso = (Cfim - Cini)/(nquadros - 0.9999); #declare clk = Cini; #declare par_horiz_faca = 0.0; #declare par_vert_colher = 0.0; #declare par_vert_braco1 = 0.0; #declare par_vert_braco2 = 0.0; #macro quadro(clk) #declare par_horiz_faca = clk*360; #if((clk >= c0) & (clk < c1)) #declare rr = (clk-c0)/(c1-c0); #declare ss = (c1-clk)/(c1-c0); #declare par_vert_colher = ss*(-90); #declare par_vert_braco1 = rr*10; #declare par_vert_braco2 = rr*15; #end #if((clk >= c1) & (clk < c2)) #declare rr = (clk-c1)/(c2-c1); #declare ss = (c2-clk)/(c2-c1); #declare par_vert_colher = rr*90; #declare par_vert_braco1 = ss*15 + rr*30; #declare par_vert_braco2 = ss*15; #end #if((clk >= c2) & (clk < c3)) #declare rr = (clk-c2)/(c3-c2); #declare ss = (c3-clk)/(c3-c2); #declare par_vert_colher = ss*90; #declare par_vert_braco1 = ss*30 + rr*15; #declare par_vert_braco2 = rr*30; #end #if((clk >= c3) & (clk < c4)) #declare rr = (clk-c3)/(c4-c3); #declare ss = (c4-clk)/(c4-c3); #declare par_vert_colher = rr*(-90); #declare par_vert_braco1 = ss*15; #declare par_vert_braco2 = ss*30; #end object{ braco3(0, par_horiz_faca, par_vert_colher, 0, par_vert_braco1, par_vert_braco2) } #end plane { z, 0 texture { pigment { checker <1,1,1> , <0.5,0.5,0.6> } finish { diffuse 1 specular 0.5 roughness 0.005 ambient 0.1 } } translate -25*z } object{quadro(clock)} object{quadro(mod(clock+0.30, 1.0)) translate<11,0,0>} // Original camera parameters: // #local cam_ctr = <10.00,1.00,1.00> // #local cam_vec = vrotate(((uu)-<10.00,1.00,1.00>),(vv,<0,-) // #local cam_sky = z #include "camlight.inc" camlight(<10.00,1.00,1.00>,<10,10,10>,20.0,z,1.0)