// Last edited on 2007-07-23 23:33:30 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare piso = plane { z, -12 texture { pigment { checker <0,0,0>, <1,1,1>} finish { ambient 0.1 diffuse 0.9 } scale 10 } } #declare azul = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } 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 } } #macro cabeca() sphere { < 0, 0, 0 >, 2.5 } #end #macro anteBraco() union { cylinder { < 0, 0, 0 >, < 0, 5, 0 >, 1 } sphere { < 0, 0, 0 >, 1 translate < 0, 6, 0> } } #end #macro braco() cylinder { < 0, 0, 0 >, < 0, 6, 0 >, 1 } #end #macro bracoCompletoDireito(abd) union { sphere { < 0, 0, 0 >, 1 translate < 0, 6, 0> } object { braco() } object { anteBraco() rotate abd*x translate < 0, 6, 0 > } } #end #macro bracoCompletoEsquerdo(abe) union { sphere { < 0, 0, 0 >, 1 translate < 0, 6, 0> } object { braco() } object { anteBraco() rotate abe*x translate < 0, 6, 0 > } } #end #macro coxa() cylinder { < 0, 0, -6 >, < 0, 0, 0 >, 1.2 } #end #macro canela() cylinder { < 0, 0, -6 >, < 0, 0, 0 >, 1.2 } #end #macro pata() cylinder { < 0, 0, 0 >, < 0, 3, 0 >, 1.2 } #end #macro pernaDireita(cd, patad) union { sphere { < 0, 0, 0 >, 1.2 translate < 0, 0, -6> } object { coxa() } union { object { canela() } object { pata() rotate patad*x translate < 0, 0, -5.4 > } rotate cd*x translate < 0, 0, -6 > } } #end #macro pernaEsquerda(ce, patae) union { sphere { < 0, 0, 0 >, 1.2 translate < 0, 0, -6> } object { coxa() } union { object { canela() } object { pata() rotate patae*x translate < 0, 0, -5.4 > } rotate ce*x translate < 0, 0, -6 > } } #end #declare tronco = cylinder { < 0, 0, 0 >, < 0, 0, 10 >, 3 } #macro boneco(bcdx, bcdy, bcex, bcey, abd, abe, cd, ce, pd, pe, patad, patae) union { object { tronco } object { bracoCompletoDireito(abd) rotate -90*x rotate bcdx*x rotate bcdy*y translate < 4, 0, 10 > } object { bracoCompletoEsquerdo(abe) rotate -90*x rotate bcex*x rotate bcey*y translate < -4, 0, 10 > } object { cabeca() translate < 0, 0, 12.5 > } object { pernaDireita(cd, patad) rotate pd*x translate < 2, 0, 0 > } object { pernaEsquerda(ce, patae) rotate pe*x translate < -2, 0, 0 > } } #end #declare bcdx_a = 20 - 80*(sin(clock*pi)); #declare abd_a = 60 + 50*(sin(clock*pi)); #declare bcex_a = -60 + 80*(sin(clock*pi)); #declare abe_a = 110 - 50*(sin(clock*pi)); #declare pe_a = 45 - 70*(sin(clock*pi)); #declare pd_a = -25 + 70*(sin(clock*pi)); #declare ce_a = -10 - 50*(sin(clock*pi)); #declare cd_a = -60 + 50*(sin(clock*pi)); #declare patad_a = -30 + 60*(sin(clock*pi)); #declare patae_a = 30 - 60*(sin(clock*pi)); #declare piso_a = -30*clock; union { object { boneco(bcdx_a, -30, bcex_a, 30, abd_a, abe_a, cd_a, ce_a, pd_a, pe_a, patad_a, patae_a) texture { azul } } // object { piso translate piso_a*y } } // Original camera parameters: // #local cam_ctr = <0.00,0.00,5.00> // #local cam_vec = (<30.00,20.00,10.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,10,10>,40.0,z,1.0)