// Last edited on 2007-07-23 21:38:15 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare chao = plane { <0, -1, 0>, 9 texture { pigment{ checker color rgb <1, 1, 1> color rgb <1, 0.7, 0.7> } } } #declare Tinta_White = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.05 } } #declare Tinta_Gold = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.05 reflection 0.3 } } #declare quadril = box { <-0.7,-3,-1.1>, <0.7,-5,1.1> texture { Tinta_White } } #declare cabeca = sphere { <0,1,0>, 1.5 texture { Tinta_White } } #declare pescoco = cylinder { <0, 0, 0>, <0, -1, 0>, 0.5 texture { Tinta_White } } #declare tronco = cylinder { <0, -1, 0>, <0, -3, 0>, 1 texture { Tinta_White } } #declare perna_sup = cylinder { <0, -5, 0.3> <0, -7.1, 1>, 0.5 texture { Tinta_White } } #declare perna_inf = cylinder { <0, -6.9, 1> <0, -9, 0.7>, 0.4 texture { Tinta_White } } #declare pe = box { <-0.5, -9, 0.2> <0.5, -9.2, 1.2> texture { Tinta_White } } #macro tronc( angulo_braco_esquerdo_a, angulo_braco_esquerdo_b, angulo_braco_esquerdo_c, angulo_braco_direito_a, angulo_braco_direito_b, angulo_braco_direito_c, angulo_perna_esquerda_abertura, angulo_perna_direita_abertura, angulo_coxa_direita_before, angulo_coxa_esquerda_before, angulo_ant_esquerdo, angulo_ant_direito, angulo_perna_esquerdo, angulo_perna_direito, angulo_mao_esquerda, angulo_mao_direita, angulo_pe_esquerdo, angulo_pe_direito) union{ #declare angulo_coxa_direita = angulo_coxa_direita_before - 90; #declare angulo_coxa_esquerda = angulo_coxa_esquerda_before - 90; cylinder { <0, -1, 0>, <0, -3, 0>, 1 texture { Tinta_White } } object{ braco(angulo_ant_esquerdo, angulo_mao_esquerda) rotate translate <0, -1 , 0.7> } object{ braco(angulo_ant_direito, angulo_mao_direita) rotate translate <0, -1 , 0.7> scale <1, 1, -1> } object{ braco(-angulo_perna_direito, angulo_pe_esquerdo) rotate translate <0, 4.8 , 0.8> scale <1, -1, 1> } object{ braco(-angulo_perna_esquerdo, angulo_pe_direito) rotate translate <0, 4.8 , 0.8> scale <1, -1, -1> } } #end #declare ja = 0; #macro antebraco(angulo_mao) union { cylinder { <0, 0, 0>, <0, 0, 2>, 0.4 texture{ Tinta_White } } box { <-0.5, 0.0, 0> <0.5, 0.1, 1.5> texture { Tinta_White } rotate < angulo_mao, 0, 0> translate <0, 0, 1.8> } #if (ja < 2) #declare ja = ja + 1; cone { <-0.7, 0, 2>, 0.3, <-0.7, -5, 2>, 0.0 texture { Tinta_Gold } rotate < angulo_mao, 0, 0> translate <0, 0, 1> } cylinder { <-0.7,0,2> <-0.7,1,2>, 0.2 texture { Tinta_Gold } rotate < angulo_mao, 0, 0> translate <0, 0, 1> } #end } #end #macro braco(angulo_ant, angulo_mao) union { cylinder { <0, 0, 0>, <0, 0, 2>, 0.45 texture { Tinta_White } } object{antebraco(angulo_mao) rotate translate <0, 0, 1.8> } } #end #declare clock1 = 0.4; union{ #declare angulo_braco_direito_a = -90; #declare angulo_braco_direito_b = -90; #declare angulo_braco_direito_c = -90; #declare angulo_mao_esquerda = 0; #declare angulo_mao_direita = 0; #declare angulo_pe_esquerdo = 0; #declare angulo_pe_direito = 0; #declare angulo_ant_esquerdo = 0; #declare angulo_ant_direito = 0; #declare angulo_perna_esquerdo = 0; #declare angulo_perna_direito = 0; #declare angulo_coxa_direita = 0; #declare angulo_coxa_esquerda = 0; #declare angulo_perna_esquerda_abertura = 0; #declare angulo_perna_direita_abertura = -0; #declare angulo_braco_esquerdo_a = -90; #declare angulo_braco_esquerdo_b = -90; #declare angulo_braco_esquerdo_c = -90; #declare angulo_braco_direito_a = -90; #declare angulo_braco_direito_b = -90; #declare angulo_braco_direito_c = -90; #declare angulo_ant_esquerdo = clock*50; #declare angulo_ant_direito = clock*50; #declare angulo_perna_direito = 45*clock; #declare angulo_braco_esquerdo_a = -90*clock; #if (clock < 0.5) #declare angulo_braco_esquerdo_c = 220*clock + 170; #else #declare angulo_braco_esquerdo_c = -220*(clock - 1) + 170; #end #declare angulo_braco_direito_a = -180*clock; #declare angulo_braco_direito_b = -180*clock; #declare angulo_braco_direito_c = -90*clock; #declare angulo_coxa_esquerda = 30*clock*(1-clock); #declare angulo_perna_esquerdo = 40*clock*clock - 40*clock; #declare angulo_coxa_direita = -30*(clock-0.5)*(clock-0.5); #if (clock < 0.3) #declare angulo_coxa_direita = 160*clock; #declare angulo_perna_direito = 30*clock; #else #declare angulo_coxa_direita = 160*(1 - clock); #declare angulo_perna_direito = 30*(1 - clock); #end #declare angulo_coxa_esquerda = -20 + 20*clock; tronc( angulo_braco_esquerdo_a, angulo_braco_esquerdo_b, angulo_braco_esquerdo_c, angulo_braco_direito_a, angulo_braco_direito_b, angulo_braco_direito_c, angulo_perna_esquerda_abertura, angulo_perna_direita_abertura, angulo_coxa_direita, angulo_coxa_esquerda, angulo_ant_esquerdo, angulo_ant_direito, angulo_perna_direito, angulo_perna_esquerdo, angulo_mao_esquerda, angulo_mao_direita, angulo_pe_esquerdo, angulo_pe_direito) object {cabeca} object {pescoco} object {quadril} } chao // Original camera parameters: // #local cam_ctr = <0,-3,0> // #local cam_vec = (<5,2,11>-<0,-3,0>) // #local cam_sky = y #include "camlight.inc" camlight(<0,-3,0>,<10,5,-7>,22.0,y,1.0)