// Last edited on 2007-07-23 10:28:09 by stolfi // Processed by remove-cam-lights global_settings { max_trace_level 12 } #declare tinta_xadrez = texture { pigment { checker color rgb <0.40,0.50,0.60>, color rgb <0.90,0.95,1.00> } finish { ambient 0.6 diffuse 0.4 } } 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() #if(RotAnt > 40) #declare RotAnt = 40; #end #if(RotAnt < -20) #declare RotAnt = -40; #end 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 object { // Tudo(10,20,-30,10,20,30,20,10,30,20,-20,10,-30,20) Tudo(0,0,0,0,0,0,0,0,0,0,0,0,0,0) } // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_vec = vrotate(<5.00,7.00,0.00>,20*z) // #local cam_sky = z #include "camlight.inc" camlight(<0,0,-1>,<7,10,10>,9.0,z,1.0)