// Last edited on 2007-07-23 20:38:03 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare cinza = texture { pigment { color rgb < 0.50, 0.50, 0.50 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.05 } } #declare branco = texture { pigment { color rgb < 0.90, 0.90, 0.90 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 reflection 0.05 } } #declare vermelho = texture { pigment { color rgb < 1.00, 0.1, 0.1 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 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, 12, 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 (i,j,k) union{ sphere{ <+0, 0, 0 >, 0.5 } cone{ <+0, 0, 0 >, 0.5 <+0, 1, 0 >, 0.3 } object {subperna(i) rotate j*x translate 1*y } rotate k*x } #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(k) rotate i*x translate 0.5*y } rotate j*x } #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 torre(i,j) object{ union{ cylinder { <+0, +0, 0 >, <+0, 0, 1 >, 0.7 } cylinder { <+0, 0, 1 >, <+0, 0, 1.7 >, 0.3 } object{ cone { <+0, -0.5, 0 >, 0.2 <+0, 5, 0 >, 0 } rotate translate 1.5*z } } } #end #macro rato(dpe,dsub,dperna,dmao,dante,dbraco,epe,esub,eperna,emao,eante,ebraco,rabox,raboy,torrei,torrej,px,py,pz) 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> } object {torre(torrei,torrej) texture {cinza} translate 1.5*z } } translate } #end #if (clock<0.2) #declare A = 100*clock; #declare B = -125*clock; #declare C = 25*clock; #declare D = 150*clock; #declare E = 150*clock; #else #if (clock<0.8) #declare A = (20-166*(clock-0.2)); #declare B = (-25+91*(clock-0.2)); #declare C = (5-25*(clock-0.2)); #declare D = (30-83*(clock-0.2)); #declare E = (30-83*(clock-0.2)); #else #declare A = (-80+400*(clock-0.8)); #declare B = (30-150*(clock-0.8)); #declare C = (-10+50*(clock-0.8)); #declare D = (-20+150*(clock-0.8)); #declare E = -20; #end #end #declare F = 50*clock; #declare G = 8*clock; #declare H = 5*(-(clock*clock)+clock); object{ rato(A,B,C,A,B,C,A,B,C,A,B,C,0,D,E,F,0,G,H) } object{ sphere{ <-3.2,11.5,1>, 1.5} texture { pigment {checker color rgb < 1.00, 0.1, 0.00 >, color rgb < 1.00, 1.0, 1.0 > } } } // object {plane {z,0 // texture { // pigment {checker color rgb < 1.00, 0.95, 0.00 >, color rgb < 0.00, 0.20, 0.80 > } // } // // } // } // Original camera parameters: // #local cam_ctr = <0,6.5,2> // #local cam_vec = (<-5.00,0,10.00>-<0,6.5,2>) // #local cam_sky = z #include "camlight.inc" camlight(<0,7.5,2>,<10,10,10>,17.0,z,1.0)