// Last edited on 2007-07-23 23:32:57 by stolfi // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare chao = plane { <0, -1, 0>, 8.9 texture { pigment{ checker color rgb <1, 1, 1> color rgb <1, 0.7, 0.7> scale 2 } } } #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; #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 = 90; #declare angulo_pe_direito = 90; #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; #if (clock < 0.5) #declare angulo_ant_esquerdo = clock*140; #declare angulo_braco_direito_a = -clock*140 - 90; #else #declare angulo_ant_esquerdo = (1 - clock)*140; #declare angulo_braco_direito_a = -(1 - clock)*140 - 90; #end #if (clock <= 0.25) #declare angulo_coxa_direita = 320*clock; #declare angulo_perna_direito = 120*clock; #declare angulo_coxa_esquerda = -200*(clock); #declare angulo_perna_esquerdo = 120*clock; #declare angulo_pe_esquerdo = 90 - 320*(clock); #end #if (clock > 0.25 & clock <= 0.5) #declare angulo_coxa_direita = 320*(0.5 - clock); #declare angulo_perna_direito = 120*(0.5 - clock); #declare angulo_coxa_esquerda = -200*(0.5 - clock); #declare angulo_perna_esquerdo = 120*(0.5 - clock); #declare angulo_pe_esquerdo = 90 - 320*(0.5 - clock); #end #if (clock > 0.5 & clock <= 0.75) #declare angulo_coxa_esquerda = 320*(clock - 0.5); #declare angulo_perna_esquerdo = 120*(clock - 0.5); #declare angulo_coxa_direita = -200*(clock - 0.5); #declare angulo_perna_direito = 120*(clock - 0.5); #declare angulo_pe_direito = 90 - 320*(clock - 0.5); #end #if (clock > 0.75) #declare angulo_coxa_esquerda = 320*(1 - clock); #declare angulo_perna_esquerdo = 120*(1 - clock); #declare angulo_coxa_direita = -200*(1 - clock); #declare angulo_perna_direito = 120*(1 - clock); #declare angulo_pe_direito = 90 - 320*(1 - clock); #end #declare tot = union{ 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} } #if (clock < 0.5) #declare al = cos(angulo_coxa_esquerda*pi/180)*2 + sin(angulo_perna_esquerdo*pi/180)*3 + cos(angulo_pe_esquerdo*pi/180); #else #declare al = cos(angulo_coxa_direita*pi/180)*2 + sin(angulo_perna_direito*pi/180)*3 + cos(angulo_pe_direito*pi/180); #end object {tot translate <0, -al, clock> } // chao // Original camera parameters: // #local cam_ctr = <0,-2,0> // #local cam_vec = (<2,2,15>-<0,-2,0>) // #local cam_sky = y #include "camlight.inc" // camlight(<0,-2,0>,<10,10,10>,20.0,y,1.0) camlight(<0,-3,0>,<10,5,-7>,22.0,y,1.0)