// Last edited on 2007-07-23 23:35:15 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 0.3 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare esfera= sphere { < 0,0,0 >, 1 } #declare cilindro= cylinder { < 0,0,0 >, < 0,0,1 >, 1 } #macro Mao() object { esfera scale <0.4, 0.3, 0.2> texture{tinta_A} } #end #macro Antebraco() union { object { cilindro scale <0.25, 0.2, 1> translate -1*z texture{tinta_A} } object { Mao() translate <0.1, 0, -1> } } #end #macro BracoFrente(RotAnt) union { object { Antebraco() rotate (-70 + RotAnt)*y translate -1*z } union { object { cilindro scale <0.25, 0.25, 1> translate -1*z texture{tinta_A} } object { esfera scale 0.27 translate -1*z texture{tinta_A} } } rotate 10*y } #end #macro BracoTras(BraTra) union { union { object { BracoFrente(-30) rotate (50 + BraTra)*y } object { esfera scale 0.3 texture{tinta_A} } translate <1, 0, 0> } object { cilindro scale <0.29, 0.29, 1> rotate 90*y texture{tinta_A} } object { esfera scale 0.32 texture{tinta_A} } rotate 50*y } #end #macro Cabeca(Sim, Nao) object { esfera scale <0.8, 0.7, 0.6> rotate translate <1.9, 0, 0.6> texture{tinta_A} } #end #macro Corpo(AnteFreDi, AnteFreEs, AnteTraDi, AnteTraEs, BraFreDiX, BraFreDiY, BraFreEsX, BraFreEsY, BraTraDiX, BraTraDiY, BraTraEsX, BraTraEsY) union { object { esfera scale <1.8, 1.8, 1> texture{tinta_A} } union { object { BracoFrente(AnteFreDi) rotate translate <1.2, 1.2, -0.3> } object { esfera scale 0.27 translate <1.2, 1.2, -0.3> texture{tinta_A} } } union { object { BracoFrente(AnteFreEs) rotate translate <1.2, -1.2, -0.3> } object { esfera scale 0.27 translate <1.2, -1.2, -0.3> texture{tinta_A} } } union { object { BracoTras(AnteTraEs) rotate translate <-0.6, 1.7, -0.3> } object { BracoTras(AnteTraDi) rotate translate <-0.6, -1.7, -0.3> } } } #end #macro Tudo(a,b,c,d,e,f,g,h,i,j,k,l,m,n) union { object { Corpo(a,b,c,d,e,f,g,h,i,j,k,l) } object { Cabeca(m,n) } } #end #macro interpola(t1,t2,v1,v2) (v1+(clock-t1)*(v2-v1)/(t2-t1)) #end #declare BraTraDi = 0; #declare BraTraEs = 0; #declare AntTraDi = 0; #declare AntTraEs = 0; #if (clock < 0.4) #declare BraTraDi = interpola(0,0.4,0,70); #declare BraTraEs = interpola(0,0.4,0,70); #declare AntTraDi = interpola(0,0.4,0,-50); #declare AntTraEs = interpola(0,0.4,0,-50); #else #declare BraTraDi = 70; #declare BraTraEs = 70; #declare AntTraDi = -50; #declare AntTraEs = -50; #end object { Tudo(0,0,AntTraDi,AntTraEs,0,0,0,0,0,BraTraDi,0,BraTraEs,0,0) rotate -40*y } // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_vec = vrotate(<5.00,7.00,0.00>,30*z) // #local cam_sky = z #include "camlight.inc" // camlight(<0,0,0>,<10,10,10>,20.0,z,1.0) camlight(<0,0,0>,<10,10,10>,20.0,z,1.0)