// Last edited on 2007-07-23 21:54:55 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tinta_amarela = texture { pigment { color rgb <1,0.7,0> } finish { diffuse 0.3 specular 0.3 roughness 0.005 ambient 0.2 reflection 0.2} } #declare tinta_verde = texture { pigment { color rgb <0,1,0> } finish { diffuse 0.3 specular 0.3 roughness 0.005 ambient 0.2 reflection 0.2} } #declare tinta_prata = texture { pigment { color rgb <0.6, 0.6, 0.6> } finish { diffuse 0.3 specular 0.3 roughness 0.005 ambient 0.2 reflection 0.2} } #declare tinta_azul = texture { pigment { color rgb <0, 0, 1> } finish { diffuse 0.3 specular 0.3 roughness 0.005 ambient 0.2 reflection 0.2} } #declare tinta_vermelha = texture { pigment { color rgb <1, 0, 0> } finish { diffuse 0.3 specular 0.3 roughness 0.005 ambient 0.2 reflection 0.2} } #macro espada() cylinder { <0,0,0>, <0,0,10>, 0.3 texture {tinta_prata} } #end #macro mao() sphere{ <0,0,0>,1.5 texture {tinta_vermelha} } #end #macro maoEspada() union{ sphere{ <0,0,0>,1.5 texture {tinta_vermelha} } object { espada() translate <0,0,0.75> } } #end #macro antebraco() union{ cylinder { <0,0,0>, <0,3,0>, 0.5 texture {tinta_prata} } object{ mao() translate 3*y } } #end #macro antebracoEspada() union{ cylinder { <0,0,0>, <0,3,0>, 0.5 texture {tinta_prata} } object{ maoEspada() translate 3*y } } #end #macro braco(xis, ipsolon) union{ cylinder { <0,0,0>, <0,3,0>, 0.6 texture {tinta_verde} } object{ antebraco() rotate xis*x rotate ipsolon*y translate 3*y } } #end #macro bracoEspada(ipsolon, ze) union{ cylinder { <0,0,0>, <0,3,0>, 0.6 texture {tinta_verde} } object{ antebracoEspada() rotate ipsolon*y rotate ze*z translate 3*y } } #end #macro pernaETC(angulo) cylinder { <0,0,0>, <0,0,-10> 0.6 texture{tinta_prata} rotate angulo*y } #end #macro orelha() sphere { <0,0,0>,0.5 scale <0.4,0.4,1> texture {tinta_amarela} } #end #macro cabeca() union{ sphere{ <0,0,0>, 1.5 scale <1,1,2> texture {tinta_prata} } object {orelha() translate <0,0,2.8> rotate 15*x } object {orelha() translate <0,0,3.2> rotate -15*y } } #end #macro guerreiro(anguloBracoEsqX, anguloBracoDirY, anguloBracoEsqY, anguloBracoDirZ, anguloPernaEsq, anguloPernaDir) union{ cylinder { <0,0,0>, <0,0,10>, 2 texture {tinta_amarela} } object { braco(anguloBracoEsqX, anguloBracoEsqY) translate <0,2,10> } object { bracoEspada(anguloBracoDirY, anguloBracoDirZ) translate <0,2,10> rotate 180 * z } object{ cabeca() translate <0,0,11> } object { pernaETC(anguloPernaEsq) translate <0,1,0> } object { pernaETC(anguloPernaDir) translate <0,-1,0> } } #end #declare besqx = 60 - 120 *clock; #declare bdiry = 30 + 80 * clock; #declare besqy = -40 + 2 * clock; #declare bdirz = -40 + 120 * clock; #declare pesq = 15 * clock; #declare pdir = -10 + 50 * (1-clock); object{ guerreiro (besqx, bdiry, besqy, bdirz, pesq, pdir) } // Original camera parameters: // #local cam_ctr = <0.00,0.00,5.00> // #local cam_vec = (<35.00,6.00,20.00>-<0.00,0.00,5.00>) // #local cam_sky = z #include "camlight.inc" camlight(<0.00,0.00,5.00>,<-10,7,5>,35,z,1.0)