// Last edited on 2007-07-23 21:46:22 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #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 pernaDireita(cd) union { sphere { < 0, 0, 0 >, 1.2 translate < 0, 0, -6> } object { coxa() } object { canela() rotate cd*x translate < 0, 0, -6 > } } #end #macro pernaEsquerda(ce) union { sphere { < 0, 0, 0 >, 1.2 translate < 0, 0, -6> } object { coxa() } object { canela() 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) 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) rotate pd*x translate < 2, 0, 0 > } object { pernaEsquerda(ce) rotate pe*x translate < -2, 0, 0 > } } #end #declare bcdx_a = 180 - 90*clock; #declare abd_a = 80 - 80*clock; #declare bcex_a = 70 - 120*clock; #declare abe_a = 10 + 110*clock; #declare pe_a = 90 - 140*clock; #declare ce_a = -20 - 30*clock; union { object { boneco(bcdx_a, 30, bcex_a, 30, abd_a, abe_a, -20, ce_a, 10, pe_a) texture { azul } } } // 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>,40.0,z,1.0)