// Last edited on 2007-07-23 14:53:42 by stolfi // Processed by remove-cam-lights global_settings { max_trace_level 12 } #declare tinta_xadrez = texture { pigment { checker color rgb <0.40,0.50,0.60>, color rgb <0.90,0.95,1.00> } finish { ambient 0.6 diffuse 0.4 } } background{ color rgb < 0.75, 0.80, 0.85 > } #declare ouro = texture { pigment { color rgb < 1.00, 0.80, 0.3 > } finish { ambient 0.1 diffuse 0.1 specular 0.3 roughness 0.1 reflection < 1.00, 0.80, 0.3 > } } #declare prata = texture { pigment { color rgb < 0.8, 0.80, 0.8 > } finish { ambient 0.1 diffuse 0.1 specular 0.3 roughness 0.1 reflection < 0.8, 0.8, 0.8 > } } #declare marrom = texture { pigment { color rgb < 0.8, 0.5, 0.1 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare preto = texture { pigment { color rgb < 0, 0, 0 > } 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.5 specular 0.5 roughness 0.005 ambient 0.1 } } plane{y,-15.7 texture { tinta_xadrez } } #declare dente = box { <-0.2,-0.3,0.2><0.2,0.3,-0.2> texture{branco} } #declare olho = union { sphere { <0.0,0.0,0.0> 0.4 texture{branco} } sphere { <0.0,0.0,0.4> 0.1 texture{preto} } } #declare orelha = difference { sphere { <0.0,0.0,0.0> 0.8 texture {marrom} } sphere { <0.0,0.0,0.8> 0.5 texture {branco} } } #macro cabeca() union { difference { sphere { <0.0,0.0,0.0> 3.0 texture { marrom } } cylinder { <-1.5,-1.3,3>,<1.5,-1.3,3>,0.7 texture {preto} } } cylinder { <0.0,-2.9,0.0>,<0.0,-3.6,0.0>,0.4 texture {marrom} } object {dente translate <-0.3,-0.9,2.7>} object {dente translate <0.3,-0.9,2.7>} object {olho translate <0.7,0.9,3.0>} object {olho translate <-0.7,0.9,3.0>} object {orelha translate <-1,3.1,0>} object {orelha translate <1,3.1,0>} } #end #macro antebraco() union { cylinder { <0.0,0.0,0.0>,<3.8,0.0,0.0>,0.7 texture {marrom} } sphere { <0.0,0.0,0.0>,0.8 texture {marrom} } sphere { <4.5,0.0,0.0>,1.0 texture {marrom} } } #end #macro antebraco_direito() union { object { antebraco() } cylinder { <4.8,0.0,0.0>,<5.5,0.0,0.0>,6.0 texture {prata} } cone { <5.5,0,0>,1.0,<6.8,0,0>,0.0 texture {ouro} } } #end #macro braco(beta) union { cylinder {<0.0,0.0,0.0>,<3.5,0.0,0.0>,0.7 texture {marrom}} sphere { <0.0,0.0,0.0>,0.8 texture {marrom} } object { antebraco() rotate beta*z translate 3.3*x } } #end #macro braco_direito(beta) union { object { braco(beta) } object { antebraco_direito() rotate beta*z translate 3.3*x } } #end #macro batata() union { cylinder { <0.0,0.0,0.0>,<0.0,-5.0,0.0>,0.8 texture {marrom} } sphere { <0.0,0.0,0.0>,1.0 texture {marrom} } sphere { <0,-5.7,0.0>,1.5 texture {marrom} } } #end #macro perna(gama) union { cylinder {<0.0,0.0,0.0>,<0.0,-5.0,0.0>,0.8 texture {marrom}} sphere { <0.0,0.0,0.0>,1.0 texture {marrom} } object { batata() rotate gama*x translate -4.8*y } } #end #macro Tronco(a,b,c,d,e,f,g,h,i,j,k) union { sphere { <0,0,0>,4.5 texture { marrom } scale<1.0,1.2,1.0> } object { cabeca() rotate a*y translate 8.5*y } object { braco_direito(b) rotate c*x rotate d*z translate 3.5*x translate 3.0*y } object { braco(e) rotate f*x rotate g*z translate 3.5*x translate 3.0*y scale <-1,1,1>} object { perna(h) rotate i*x translate -4.5*y translate -1.5*x} object { perna(j) rotate k*x translate -4.5*y translate 1.5*x} rotate 25*y } #end Tronco(-10.0,50.0,50.00,20.0,-30.00,50.00,20.00,20.0,30.0,0.0,0.00) // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_vec = <0.0,10,40.00> // #local cam_sky = y #include "camlight.inc" camlight(<0,0,0>,<3,5,10>,40.0,y,1.0)