// Last edited on 2007-07-23 20:06:11 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.70, 0.80, 0.90 > } #declare azul = texture { pigment { color rgb < 0.10, 0.80, 1.00 > filter 1.0} finish { diffuse 0.4 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.2 } } #declare verde = texture { pigment { color rgb < 0,1, 0 > } finish { diffuse 0.2 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.4 } } #declare prata = texture { pigment { color rgb < 0.80, 0.80, 0.80 > } finish { diffuse 0.2 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.4 } } #declare esmeralda = texture { pigment { color rgb < 0, 1, 0 > filter 1.0} finish { diffuse 0.4 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.2 } } #declare preto = texture { pigment { color rgb < 0.2, 0.2, 0.2 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare branco = texture { pigment { color rgb < 1, 1, 1 > } finish { diffuse 0 specular 0 roughness 0.005 ambient 1 } } #declare marrom = texture { pigment { color rgb < 0.2, 0.15, 0.1 > } finish { diffuse 0.9 ambient 0.1 specular 0.1 roughness 0.9 } } #declare olho = union{ sphere { <0,0,0>, 1 texture {branco} } sphere { <0,0,0>, 0.5 texture {preto} scale <1,0.5,1> translate <0,0.85,0> } } #macro pe() union{ sphere { <0,0,0>, 3 texture {verde} scale <0.15,0.15,1> translate <0,0,-3> } } #end #macro canela (tornozelo) union{ sphere { <0,0,0>, 4 texture {verde} scale <0.2,0.2,1> translate <0,0,-4> } object { pe() rotate tornozelo*x translate <0,0,-8> } } #end #macro perna (joelho,tornozelo) union{ sphere{ <0,0,0>, 4 texture {verde} scale <0.2,0.2,1> translate <0,0,-4> } object{ canela(tornozelo) rotate -joelho*x translate <0,0,-8> } } #end #macro antebracod() union { sphere { <0,0,0>, 3 texture {verde} scale <0.15,0.15,1> translate <0,0,-3> } cylinder { <0,0,-6>, <0,10,-6>, 0.3 texture {prata} } } #end #macro antebracoe() union { sphere { <0,0,0>, 3 texture {verde} scale <0.15,0.15,1> translate <0,0,-3> } cylinder { <0,0,-6>, <0,0,-6.2>, 4 texture {prata} } } #end #macro bracoe (cotovelo) union{ sphere{ <0,0,0>, 3 texture {verde} scale <0.2,0.2,1> translate <0,0,-3> } object{ antebracoe() rotate cotovelo*x translate <0,0,-6> } } #end #macro bracod (cotovelo) union{ sphere{ <0,0,0>, 3 texture {verde} scale <0.2,0.2,1> translate <0,0,-3> } object{ antebracod() rotate cotovelo*x translate <0,0,-6> } } #end #macro corpo(coxaxd,coxazd,coxaxe,coxaze,joelhod,joelhoe,tornozelod,tornozeloe,ombroxd,ombrozd,ombroxe,ombroze,cotovelod,cotoveloe) union{ difference{ sphere { <0,0,0>, 5 texture { verde } scale <1,1.3,0.7> } box { <-5,-5,-2>, <5,5,-6> texture {verde} } } intersection{ sphere { <0,0,0>, 5.3 scale <1,1.3,0.7> texture { marrom } } union { box { <-6,5,1>, <6,-6,6> texture {marrom} } box { <-6,1,1>, <6,-2,-2.3> texture {marrom} } } } object { olho rotate -90*x translate <3,6,0> } object { olho rotate -90*x translate <-3,6,0> } object { perna(joelhod,tornozelod) rotate coxaxd*x rotate -coxazd*z translate <2.5,-5.5,0> } object { perna(joelhoe,tornozeloe) rotate coxaxe*x rotate coxaze*z translate <-2.5,-5.5,0> } object { bracod(cotovelod) rotate ombroxd*x rotate ombrozd*z translate <4.5,3,0> } object { bracoe(cotoveloe) rotate -ombroxe*x rotate -ombroze*z translate <-4.5,3,0> } } #end // plane{z,0 // texture { // pigment { checker color rgb <1,1,0.8>, // color rgb <0.4,0,0> // } // } // } #declare xx = 0; #declare yy = 15*clock; #if (clock > 0.8) #declare zz = 25-20*(clock-0.8); #else #declare zz = 25; #end #declare coxaxd = 300 + 30*sin(clock*2.25*pi); #declare coxazd = 0; #declare coxaxe = 300 - 30*sin(clock*2.25*pi); #declare coxaze = 0; #declare joelhod = 60; #declare joelhoe = 60; #declare tornozelod = 120; #declare tornozeloe = 120; #declare ombroxd = 70-170*clock; #declare ombrozd = 15; #if (clock < 0.2) #declare ombroxe = 90 - 10*clock; #else #declare ombroxe = 70; #end #declare ombroze = 15; #declare cotovelod = 45; #if (clock < 0.2) #declare cotoveloe = 450*clock; #else #declare cotoveloe = 90; #end #if (clock > 0.8) #declare angcorpo = 90-200*(clock-0.8); #else #declare angcorpo = 90; #end object { corpo(coxaxd,coxazd,coxaxe,coxaze,joelhod,joelhoe,tornozelod,tornozeloe,ombroxd,ombrozd,ombroxe,ombroze,cotovelod,cotoveloe) rotate angcorpo*x translate } // Original camera parameters: // #local cam_ctr = <0,10,20> // #local cam_vec = (<40,10,20>-<0,10,20>) // #local cam_sky = z #include "camlight.inc" camlight(<0,15,25>,<7,10,7>,45.0,z,1.0)