// Last edited on 2009-07-24 18:12:45 by stolfilocal // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 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, -0.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 par_horiz_faca = 0.0; #declare par_vert_colher = 0.0; #declare par_vert_braco1 = 0.0; #declare par_vert_braco2 = 0.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 ck = Cini; #declare iv = 0; #while(iv < nv) #declare ih = 0; #while(ih < nh) #declare par_horiz_faca = ck*360; #if((ck >= c0) & (ck < c1)) #declare rr = (ck-c0)/(c1-c0); #declare ss = (c1-ck)/(c1-c0); #declare par_vert_colher = ss*(-90); #declare par_vert_braco1 = rr*10; #declare par_vert_braco2 = rr*15; #end #if((ck >= c1) & (ck < c2)) #declare rr = (ck-c1)/(c2-c1); #declare ss = (c2-ck)/(c2-c1); #declare par_vert_colher = rr*90; #declare par_vert_braco1 = ss*15 + rr*30; #end #if((ck >= c2) & (ck < c3)) #declare rr = (ck-c2)/(c3-c2); #declare ss = (c3-ck)/(c3-c2); #declare par_vert_colher = ss*90; #declare par_vert_braco1 = ss*30 + rr*15; #end #if((ck >= c3) & (ck < c4)) #declare rr = (ck-c3)/(c4-c3); #declare ss = (c4-ck)/(c4-c3); #declare par_vert_colher = rr*(-90); #declare par_vert_braco1 = ss*15; #end object{ braco3(0, par_horiz_faca, par_vert_colher, 0, par_vert_braco1, par_vert_braco2) translate } #declare ck = ck + Cpasso; #declare ih = ih + 1; #end #declare iv = iv + 1; #end // Original camera parameters: // #local cam_ctr = <17.0,5.0,1.00> // #local cam_vec = (<17.0,0.0,45.00>-<17.0,5.0,1.00>) // #local cam_sky = z #include "camlight.inc" camlight(<22.0,8.0,1.00>,<10,10,10>,60.0,z,1.0)