// Last edited on 2007-07-23 13:56:15 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 cinza = texture { pigment { color rgb < 0.50, 0.50, 0.50 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.15 reflection 0.05 } } #declare branco = texture { pigment { color rgb < 0.90, 0.90, 0.90 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.15 reflection 0.05 } } #declare tinta_am = texture { pigment { color rgb < 1, 1, 0 > } finish { diffuse 0.8 specular 0.5 roughness 0.005 ambient 0.15 reflection 0.05 } } #declare corpo = difference { union { sphere { <+0, +0, +0 >, 1 } cone { <+0, +0, +0 >, 1.2 <+0, +3, -0.5 >, 0.4 } cone { <+0, +2.8, -0.5 >, 0.4 <+0, +3.5, -0.5 >, 0.8 } cylinder { <+0, +3.2, -0.5 >, <+0, +10, -0.5 >, 0.8 } } difference { cylinder { <+0, -8, 0 >, <+0, 8, 0 >, 10 } cylinder { <+0, -8, 0 >, <+0, 2.8, 0 >, 1 } cone { <+0, +2.8, -0.45 >, 0.6 <+0, +4, -0.8 >, 0.1 } } } #declare olho = union { sphere { <+0.25, +3.5, -0.45 >, 0.08 } sphere { <-0.25, +3.5, -0.45 >, 0.08 } } #macro pe () intersection{ union{ cone { <+0, 0, 0 >, 0.2 <+0, 1, -0.15 >, 0.05 } sphere{ <+0, 0, 0 >, 0.2 } } box { <2, 2, 2 > <-2, -2, -0.15 > } } #end #macro subperna(i) union{ sphere{ <+0, 0, 0 >, 0.3 } cone{ <+0, 0, 0 >, 0.3 <+0, 0, -1.5 >, 0.2 } object {pe() rotate i*x translate -1.5*z } } #end #macro perna (k,i,j) union{ sphere{ <+0, 0, 0 >, 0.5 } cone{ <+0, 0, 0 >, 0.5 <+0, 1, 0 >, 0.3 } object {subperna(j) rotate i*x translate 1*y } rotate k*y } #end #macro mao() intersection{ union{ cone { <+0, 0, 0 >, 0.15 <+0, 0.8, -0.1 >, 0.04 } sphere{ <+0, 0, 0 >, 0.15 } } box { <2, 2, 2 > <-2, -2, -0.1 > } } #end #macro antebraco(i) union{ sphere{ <+0, 0, 0 >, 0.2 } cone{ <+0, 0, 0 >, 0.2 <+0, 0, -1 >, 0.15 } object {mao() rotate i*x translate -1*z } } #end #macro braco(k,i,j) union{ sphere{ <+0, 0, 0 >, 0.3 } cone{ <+0, 0, 0 >, 0.3 <+0, 0.5, 0 >, 0.2 } object {antebraco(j) rotate i*x translate 0.5*y } rotate k*y } #end #macro rabo(i,j) object{ union{ cone { <+0, 0, 0 >, 0.1 <+0, -4, 0 >, 0 } sphere{ <+0, 0, 0 >, 0.1 } } rotate } #end #macro rato(dpe,dsub,dperna,dmao,dante,dbraco,epe,esub,eperna,emao,eante,ebraco,rabox,raboy) object{ union{ object {corpo texture {cinza} translate 1.5*z } object {olho texture {branco} translate 1.5*z } object {rabo(raboy,rabox) texture {cinza} translate <0,0,1.5> } object {perna(dperna,dsub,dpe) texture {cinza} scale <0.7,0.7,0.7> translate <-1,0.5,1.5> } object {perna(eperna,esub,epe) texture {cinza} scale <-0.7,0.7,0.7> translate <1,0.5,1.5> } object {braco(dbraco,dante,dmao) texture {cinza} scale <0.7,0.7,0.7> translate <-0.7,2.2,1.3> } object {braco(ebraco,eante,emao) texture {cinza} scale <-0.7,0.7,0.7> translate <0.7,2.2,1.3> } } } #end object {rato(10,-30,-20, -40,-20,-50, -40,10,40, 20,20,30, 50,-60)} // object {rato(0,0,0,0,0,0,0,0,0,0,0,0,0,0)} // [js:] syntax error: extra unclosed "object {" before next statement. // plane {z,0 // texture { tinta_xadrez } // } // Original camera parameters: // #local cam_ctr = <0,0,0> // #local cam_vec = <7.00,7.00,7.00> // #local cam_sky = z #include "camlight.inc" camlight(<0,1.5,0>,<10,0,7>,9.0,z,1.0)