// Last edited on 2007-07-23 23:30:36 by stolfi // Processed by remove-cam-lights #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} } #declare tinta_branca = texture { pigment { color rgb <1, 1, 1> } 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.4 texture {tinta_branca} } #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(bx, by) union{ cylinder { <0,0,0>, <0,3,0>, 0.6 texture {tinta_verde} } object{ antebraco() rotate bx*x rotate by*y translate 3*y } } #end #macro bracoEspada(by, bz) union{ cylinder { <0,0,0>, <0,3,0>, 0.6 texture {tinta_verde} } object{ antebracoEspada() rotate by*y rotate bz*z translate 3*y } } #end #macro pe(pp) cylinder { <0,0,-10>, <2,0,-10> 0.6 texture{tinta_vermelha} rotate pp*y } #end #macro peJoelho(pj,pp) union { cylinder { <0,0,-5>, <0,0,-10> 0.6 texture{tinta_verde} } object{ pe(pp) } rotate pj*y } #end #macro perna(p, pj, pp) union { cylinder { <0,0,0>, <0,0,-5> 0.6 texture{tinta_prata} } object{ peJoelho(pj,pp) } rotate p*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(besqx, bdiry, besqy, bdirz, pesq, pesqp, pesqj, pdir, pdirp, pdirj) union{ cylinder { <0,0,0>, <0,0,10>, 2 texture {tinta_amarela} } object { braco(besqx, besqy) translate <0,2,10> } object { bracoEspada(bdiry, bdirz) translate <0,2,10> rotate 180 * z } object{ cabeca() translate <0,0,11> } object { perna(pesq, pesqj, pesqp) translate <0,1,0> } object { perna(pdir, pdirj, pdirp) 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 = 20 * clock; #declare pesqp = 0; #declare pesqj = 0; #declare pdir = 20 * (1-clock); #declare pdirp = 0; #declare pdirj = 0; #declare PDX = 0; #declare PDY = 0; #declare PEX = 0; #declare PEY = 0; #declare TTX = -PEX; #declare TTY = -PEY; // plane{ z,-5 // translate - 5*z // texture { pigment { checker color rgb <0,0,0>, color rgb <0.9,0.9,0.9> } } } object{ guerreiro (besqx, bdiry, besqy, bdirz, pesq, pesqj, pesqp, pdir, pdirj, pdirp) translate } // Original camera parameters: // #local cam_ctr = <0.00,0.00,5.00> // #local cam_vec = (<35.00,20.00,20.00>-<0.00,0.00,5.00>) // #local cam_sky = z #include "camlight.inc" // camlight(<0.00,0.00,5.00>,<10,10,10>,20.0,z,1.0) camlight(<0.00,0.00,5.00>,<-10,7,5>,35,z,1.0)