// Last edited on 2005-01-05 23:45:38 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.80, 0.80, 1.00> } #declare preto = texture { pigment { color rgb < 0.00, 0.00, 0.00 > } finish { diffuse 0.8 specular 0.2 roughness 0.015 ambient 0.4 } } #declare verde = texture { pigment { color rgb < 0.20, 0.80, 0.20 > } finish { diffuse 0.5 specular 0.0 roughness 0.05 ambient 0.1 } } #declare azul = texture { pigment { color rgb < 0.70, 0.70, 1.00 > } finish { diffuse 0.8 specular 0.2 roughness 0.05 ambient 0.1 } } #declare branco = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { diffuse 0.7 specular 0.3 roughness 0.00005 ambient 0.1 } } #declare cinza = texture { pigment { color rgb < 0.70, 0.70, 0.70 > } finish { diffuse 0.6 specular 0.4 roughness 0.5 ambient 0.1 } } #declare vermelho = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } finish { diffuse 0.8 specular 0.2 roughness 0.0001 ambient 0.1 } } #declare amarelo = texture { pigment { color rgb < 1.0,1.00, 0.00 > } finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 } } #declare fundo = plane{<0,0,1>, 0 texture{ pigment {checker <0.80, 0.80, 0.00>,<1.00, 1.00,0.00> } finish {ambient 0.1 diffuse 0.9 } } } #declare alfa_dedo = 120; #declare alfa_mao = 30; #declare alfa_antebraco = 30; #declare alfa_braco = 45; #declare dedo = cylinder{ <0.00,0.00,0.00>, <0.00,0.50,0.00>, 0.05 texture{azul} } #declare mao = union{ sphere{ <0.00,0.00,0.00>, 0.2 texture{verde} } #if (clock <= 0.40) object{dedo scale 0.8 rotate 90*x rotate (2.5)*(clock)*alfa_dedo*y translate 0.1*z} object{dedo rotate -(2.5)*(clock)*alfa_dedo*z translate <0.00,0.20,-0.10>} object{dedo rotate -(2.5)*(clock)*alfa_dedo*z translate <0.00,0.20, 0.10>} #else object{dedo scale 0.8 rotate 90*x rotate alfa_dedo*y translate 0.1*z} object{dedo rotate -alfa_dedo*z translate <0.00,0.20,-0.10>} object{dedo rotate -alfa_dedo*z translate <0.00,0.20, 0.10>} #end } #declare antebraco = union{ cylinder{ <0.00,0.00,0.00>, <0.00,2.00,0.00>, 0.1 texture{azul} } sphere{ <0.00,0.00,0.00>, 0.15 texture{verde} } #if(clock <= 0.40) object{mao rotate alfa_mao*2.50*(0.4-clock)*x translate 2*y} #else #if (clock <=0.50) object{mao translate 2*y} #else object{mao translate 2*y} #end #end } #declare braco = union{ cylinder{ <0.00,0.00,0.00>, <0.00,2.00,0.00>, 0.1 texture{azul} } #if(clock <= 0.40) object{antebraco rotate alfa_antebraco*2.5*(0.4-clock)*x translate 2*y} #else #if (clock <=0.50) object{antebraco translate 2*y} #else object{antebraco rotate 1.5*alfa_antebraco*2.0*(clock-0.5)*x translate 2*y} #end #end } #declare ombro = union{ difference{ sphere{ <0.00,0.00,0.00>, 0.40 texture{preto} } box{ <-0.50,-0.50,0.00> < 0.50, 0.50,-0.50> texture{preto} } } #if(clock <= 0.40) object{braco rotate 30*2.50*(0.40-clock)*z rotate alfa_braco*2.5*(0.4-clock)*x translate <0.00,0.10,0.10>} #else #if (clock <= 0.50) object{braco translate <0.00,0.10,0.10>} #else object{braco translate <0.00,0.10,0.10>} #end #end } #declare corpo = union{ cylinder{ <0.00,0.00,0.00>, <0.00,0.00,2.50>, 0.70 texture{azul} } cylinder{ <0.00,0.00,2.50>, <0.00,0.00,2.80>, 0.20 texture{preto} } sphere{ <0.00,0.00,3.15>, 0.70 texture{azul} } object{ombro translate <-0.70,0.00,2.30> } object{ombro scale <-1.00,1.00,1.00> translate < 0.70,0.00,2.30> } } #declare bandido = union{ cylinder{ <0.00,0.00,0.00>, <0.00,0.00,3.00>, 0.50 texture{preto} } cylinder{ <0.00,0.00,2.50>, <0.00,0.00,2.80>, 0.51 texture{vermelho} } } sky_sphere{ pigment {color rgb <1,1,1>} scale 2 translate -1 } union{ object{corpo} object{fundo} #if(clock <= 0.5) object{bandido translate 4*y} #else object{bandido translate <0.00,2.00,-2.80> rotate 1.5*alfa_antebraco*2.00*(clock-0.50)*x translate <0.00,2.00,2.80>} #end } #include "camlight.inc" camlight(<0,3,2>,<15,4,1>,1.00,z,1.0)