// Last edited on 2007-07-23 21:25:53 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.95 > } #declare ang_rot_antebracoE = 45*clock; #declare ang_rot_antebracoD = 45*clock; #declare ang_rot_bracoEx = (120-clock*120); #declare ang_rot_bracoEy = -30; #declare ang_rot_bracoEz = 0; #declare ang_rot_bracoDx = (120-clock*120); #declare ang_rot_bracoDy = 30; #declare ang_rot_bracoDz = 0; #declare ang_rot_canelaD = (0-60*clock); #declare ang_rot_canelaE = (0-60*clock); #declare ang_rot_pernaD = (45*clock); #declare ang_rot_pernaE = (-45*clock); #declare ang_rot_cabecaX = 0; #declare ang_rot_cabecaY = 0; #declare ang_rot_cabecaZ = 0; #declare ang_rot_cauda = 0; #declare cor_pelo = texture { pigment { color rgb < 0.75, 0.45, 0.15 > } } #declare cor_nariz = texture { pigment { color rgb < 0.10, 0.10, 0.10 > } finish { ambient 0.1 diffuse 0.7 reflection 0.2 phong 1 brilliance 1 } } #declare cor_orelha = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { ambient 0.1 diffuse 0.8 reflection 0.05 phong 0.8 roughness 0.05 } } #declare orelha = difference { sphere { <0,0,0>,1 texture { cor_pelo } } sphere { <0,1,0>,1.5 texture { cor_orelha } } } #declare cabeca = union { sphere { <0,0,0>,2 texture { cor_pelo } } cone { <0,0,0>,1.5,<0,4.5,-0.25>,0 texture { cor_pelo } } sphere { <0,4.5,-0.25>,0.3 texture { cor_nariz } } sphere { <-1,1.3,1.40>,0.3 texture { cor_nariz } } sphere { <1,1.3,1.40>,0.3 texture { cor_nariz } } object { orelha translate <-1,0,1.75> } object { orelha translate <1,0,1.75> } } #declare pescoco = cylinder { <0,0,-1.20>, <0,0,-2>, 0.7 texture { cor_pelo } } #declare tronco = cylinder { <0,0,-2>, <0,0,-5>, 1.80 texture { cor_pelo } } #declare corpo = union { object { tronco } sphere { <-1.9,0,-2.1>,0.6 texture { cor_pelo } } sphere { <+1.9,0,-2.1>,0.6 texture { cor_pelo } } sphere { <-1.2,0,-5.75>,0.8 texture { cor_pelo } } sphere { <+1.2,0,-5.75>,0.8 texture { cor_pelo } } } #macro antebraco (esqdir) union { cylinder { <0,0,0>,<0,0,-1.7>,0.5 texture { cor_pelo } } sphere { <0,0,-1.7>,0.85 texture { cor_pelo } } box { <0,0,0>, <1,1,5.7> rotate 25*esqdir*y rotate -25*x translate <-0.65,-0.65,-1.7> texture { pigment { color rgb <0.2,0.2,0.2> } finish { ambient 0.2 diffuse 0.8 phong 1} } } } #end #macro braco (ang_ante,esqdir) union { cylinder { <0,0,0>,<0,0,-1.7>,0.5 texture { cor_pelo } } sphere { <0,0,-1.7>,0.6 texture { cor_pelo } } object { antebraco(esqdir) rotate ang_ante*x translate <0,0,-1.7> } } #end #declare canela = union { cylinder { <0,0,0>,<0,0,-2.25>,0.65 texture { cor_pelo } } sphere { <0,0,-2.25>,1 texture { cor_pelo } } } #declare cauda = cylinder { <0,0,0>,<-8,-6,0>,0.5 texture { cor_pelo } } #macro perna(ang_canela) union { cylinder { <0,0,0>,<0,0,-2.5>,0.65 texture {cor_pelo} } sphere { <0,0,-2.5>,0.8 texture {cor_pelo} } object { canela rotate ang_canela*x translate <0,0,-2.5>} } #end #macro rato (ang_bracoEx, ang_bracoEy, ang_bracoEz, ang_antebracoE, ang_pernaE, ang_canelaE, ang_bracoDx, ang_bracoDy, ang_bracoDz, ang_antebracoD, ang_pernaD, ang_canelaD, ang_cabecaX, ang_cabecaZ, ang_cabecaY,angCauda) union { object { cabeca rotate ang_cabecaX*x rotate ang_cabecaY*y rotate ang_cabecaZ*z scale 0.7 translate <0,0,0>} object { pescoco } object { corpo } object { cauda rotate angCauda*y translate <0,0,-4.5> } object { perna(ang_canelaD) rotate ang_pernaD*y translate <-1.2,0,-5.75>} object { perna(ang_canelaE) rotate ang_pernaE*y translate <1.2,0,-5.75> } object { braco(ang_antebracoD,-1) rotate ang_bracoDx*x rotate ang_bracoDy*y rotate ang_bracoDz*z translate <-1.9,0,-2.1> } object { braco(ang_antebracoE,1) rotate ang_bracoEx*x rotate ang_bracoEy*y rotate ang_bracoEz*z translate <1.9,0,-2.1> } } #end object { rato(ang_rot_bracoEx, ang_rot_bracoEy, ang_rot_bracoEz, ang_rot_antebracoE, ang_rot_pernaE, ang_rot_canelaE, ang_rot_bracoDx, ang_rot_bracoDy, ang_rot_bracoDz, ang_rot_antebracoD, ang_rot_pernaD, ang_rot_canelaD, ang_rot_cabecaX, ang_rot_cabecaZ, ang_rot_cabecaY,ang_rot_cauda) } // plane { // z, -11.75 // pigment { // checker color rgb <0,0,0> color rgb <1,1,1> // } // } // Original camera parameters: // #local cam_ctr = <0.00,0.00,-3.00> // #local cam_vec = (<0.00,20.0,0.00>-<0.00,0.00,-3.00>) // #local cam_sky = z #include "camlight.inc" camlight(<0.00,0.00,-3.00>,<8,10,4>,20.0,z,1.0)