// Last edited on 2007-07-23 23:31:06 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } // plane{ z, 0 translate -5*z // pigment{ // checker // color rgb <1., 1., 1.> // color rgb <0.4, 0, 0 > // } // } #declare raio = 2.000; #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < .50, 0.50, 0.50 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_C = texture { pigment { color rgb < 0.30, 0.40, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_D = texture { pigment { color rgb < 0.10, 0.20, 0.50 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare bola = sphere { < 0.00, 0.00, 0.00 >, 2.0 texture { tinta_B } } #declare furo = cylinder { < -1.00, -2.00, -2.00 >, < +1.00, +2.00, +2.00 >, 2.00 texture { tinta_B } } #declare pino = cylinder { < -2.00, +2.00, -1.00 >, < +2.00, -2.00, +1.00 >, 0.75 texture { tinta_B } } #declare caixa = box { < -2.00, 1.00, 2.00 >, < +2.00, -1.00, -2.00 > texture { tinta_B } } #declare cabeca = cone { < 0, 0, 1.5 >, 0.2 < 0, 0, 3.0 >, 1.0 texture { tinta_B } } #declare cabeca1 = sphere { <0, 0, 2.25 >, 1 texture { tinta_B } } #declare orelha = sphere { < 0.3, -.5, 3.2 >, 0.4 texture { tinta_B } } #declare lanca = cylinder { < -2.00, +2.00, -1.00 >, < +2.00, -2.00, +1.00 >, 0.05 texture { tinta_B } } #macro mao() union{ box{ < 0, 0, 0 >, < 0.5, 0.5, 0.2 > texture { tinta_B }} lanca } #end #macro antebraco(a4) union{ cylinder{ <0,0,0>, <2,0,0>, .2 texture { tinta_B } } object{ mao() rotate a4*x translate 2*x } } #end #macro braco(a3,a4,a5) union{ cylinder{ <0,0,0>, <1.5,0,0>, 0.3 texture { tinta_B } } object{antebraco(a4) rotate a3*y translate 1.5*x } rotate a5*y } #end #macro pe() box{ < 0, 0, 0 >, < 0.5, 0.5, 0.2 > texture { tinta_B }} #end #macro canela(a2) union{ cylinder{ <0,0,0>, <2,0,0>, .4 texture { tinta_B } } object{ pe() rotate a2*y translate 2*x } } #end #macro perna(a1,a0,a6) union{ cylinder{ <0,0,0>, <0,0,-1.5>, 0.6 texture { tinta_B } } object{canela(a0) rotate a1*y translate -1.5*z } rotate a6*y } #end #macro interpola(t1,v1,t2,v2) ((v1)+(clock-(t1))*((v2)-(v1))/((t2)-(t1))) #end #declare bd1 = -50 - 20*clock; #declare bd2 = 0; #declare bd3 = 10 - 30*clock; #declare be1 = 45 - 90*clock; #declare be2 = 10; #declare be3 = -30*clock; #if (clock<0.5) #declare pd1 = interpola(0,70,0.49,140); #declare pd2 = -90; #declare pd3 = interpola(0,-30,0.49,0); #end #if (clock>=0.5) #declare pd1 = interpola(0.5,140,1.0,70); #declare pd2 = -90; #declare pd3 = interpola(0.5,0,1.0,-30); #end #if (clock<0.5) #declare pe1 = interpola(0,140,0.49,70); #declare pe2 = -90; #declare pe3 = interpola(0,0,0.49,-30); #end #if (clock>=0.5) #declare pe1 = interpola(0.5,70,1.0,140); #declare pe2 = -90; #declare pe3 = interpola(0.5,-30,1.0,0); #end #declare PDX = 1.3*cos(radians(pd1)); #declare PDY = 1.5*sin(radians(pd1)); #declare PEX = 1.3*cos(radians(pe1)); #declare PEY = 1.5*sin(radians(pe1)); #declare TTX = -PEX; #declare TTY = -PEY; union{ intersection{ object { bola } object { caixa } } intersection{ object { cabeca } object { cabeca1 } } translate } object {orelha scale <.5, 1., 1.> translate } object {orelha scale <.5, 1., 1.> translate <0, 1, 0> translate } object {braco(bd1, bd2, bd3) translate <0, 1.2, 1.3> translate } object {braco(be1, be2, be3) translate <0, -1.2, 1.3> translate } object {perna(pe1, pe2, pe3) translate <0, -1, -2> translate } object {perna(pd1, pd2, pd3) translate <0, 1, -2> translate } // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_vec = <0.00,20.00,6.00> // #local cam_sky = z #include "camlight.inc" // camlight(<0,0,0>,<10,10,10>,20.0,z,1.0) camlight(<0,0,0>,<10,7,5>,18.0,z,1.0)