// Last edited on 2007-07-23 12:03:31 by stolfi // Processed by remove-cam-lights global_settings { max_trace_level 12 } #declare tinta_xadrez = texture { pigment { checker color rgb <0.40,0.50,0.60>, color rgb <0.90,0.95,1.00> } finish { ambient 0.6 diffuse 0.4 } } background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare branco = texture { pigment { color rgb < 3.00, 3.00, 3.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare preto = texture { pigment { color rgb < 0.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare vermelho = texture { pigment { color rgb < 2.00, 0.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare verde = texture { pigment { color rgb < 0.00, 2.00, 0.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare azul = texture { pigment { color rgb < 0.00, 0.00, 2.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare dourado = texture { pigment { color rgb < 1.00, 0.80, 0.00 > } finish { ambient 0.3 diffuse 0.2 specular 0.3 roughness 0.005 reflection 0.2 } } #declare prata = texture { pigment { color rgb < 0.70, 0.70, 0.70 > } finish { ambient 0.3 diffuse 0.2 specular 0.3 roughness 0.005 reflection 0.2 } } #declare vermelho_rubi = texture { pigment { color rgb < 1.00, 0.00, 0.00 > filter 1.0 } finish { ambient 0.3 diffuse 0.2 specular 0.3 roughness 0.005 reflection 0.2 } } #declare verde_esmeralda = texture { pigment { color rgb < 0.00, 0.90, 0.00 > filter 1.0 } finish { ambient 0.3 diffuse 0.2 specular 0.3 roughness 0.005 reflection 0.2 } } #declare eixoX = cylinder { < 0.00, 0.00, 0.00 >, < 10.00, 0.00, 0.00 >, 0.05 texture { vermelho } } #declare eixoY = cylinder { < 0.00, 0.00, 0.00 >, < 0.00, 10.00, 0.00 >, 0.05 texture { verde } } #declare eixoZ = cylinder { < 0.00, 0.00, 0.00 >, < 0.00, 0.00, 10.00 >, 0.05 texture { azul } } #declare eixos_cartesianos = union { object {eixoX } object {eixoY } object {eixoZ } } #declare fundo = plane { z,0 translate -5*z texture { tinta_xadrez } } #declare bola = sphere { < 0.00, 0.00, 0.00 >, 0.50 texture { prata } } #declare cilindro = cylinder { < 0.00, 0.00, 0.50 >, < 0.00, 0.00, -0.50 >, 1.00 texture { prata } } #declare tronco_cabeca = union { object{ bola scale <1.2,1.2,1.2> translate <0,0,8.55 > } object{ cilindro scale <1,1,4> translate <0,0,6> } } #declare cilindro_braco = object { cilindro scale <0.3,0.3,1.5> rotate 90*y translate 0.75*x } #declare cilindro_perna = object { cilindro scale <0.4,0.4,2.0> translate -1.00*z } #declare mao = object { bola scale <0.8,0.8,0.4> translate 0.4*x } #macro Antebraco(ang_mao) union { object {cilindro_braco} object {bola scale <0.6,0.6,0.6> translate 1.5*x } object {mao rotate ang_mao*y translate 1.5*x } } #end #macro Braco(ang_ant,ang_mao) union { object {cilindro_braco} object {bola scale <0.6,0.6,0.6> translate 1.5*x } object {Antebraco(ang_mao) rotate ang_ant*y translate 1.5*x } } #end #declare peh = object { bola scale <0.9,0.9,0.45> translate 0.45*y } #macro Canela(ang_peh) union { object {cilindro_perna} object {bola scale <0.8,0.8,0.8> translate -2.0*z } object {peh rotate ang_peh*x translate -2.0*z } } #end #macro Perna(ang_can,ang_peh) union { object {cilindro_perna} object {bola scale <0.8,0.8,0.8> translate -2.0*z } object {Canela(ang_peh) rotate ang_can*x translate -2.0*z } } #end #macro Boneco( ang1_braco_dir,ang2_braco_dir,ang_ant_dir,ang_mao_dir, ang1_braco_esq,ang2_braco_esq,ang_ant_esq,ang_mao_esq, ang1_perna_dir,ang2_perna_dir,ang_can_dir,ang_peh_dir, ang1_perna_esq,ang2_perna_esq,ang_can_esq,ang_peh_esq ) union { object {tronco_cabeca} object {bola scale <0.6,0.6,0.6> translate <1,0,7.7> } object {Braco(ang_ant_dir,ang_mao_dir) rotate ang1_braco_dir*y rotate ang2_braco_dir*z translate <1,0,7.7> } object {bola scale <0.8,0.8,0.8> translate <0.6,0,4> } object {Perna(ang_can_dir,ang_peh_dir) rotate ang1_perna_dir*x rotate ang2_perna_dir*y translate <0.6,0,4> } object {bola scale <0.6,0.6,0.6> translate <1,0,7.7> scale <-1,0,0> } object {Braco(ang_ant_esq,ang_mao_esq) rotate ang1_braco_esq*y rotate ang2_braco_esq*z translate <1,0,7.7> scale <-1,0,0> } object {bola scale <0.8,0.8,0.8> translate <0.6,0,4> scale <-1,0,0> } object {Perna(ang_can_esq,ang_peh_esq) rotate ang1_perna_esq*x rotate ang2_perna_esq*y translate <0.6,0,4> scale <-1,0,0> } } #end object {fundo} object {Boneco( 45,30,-45,45, -30,30,45,-30, 20,-10,-60,0, 45,-10,-25,-15 )} // Original camera parameters: // #local cam_ctr = <0.00,0.00,5.00> // #local cam_vec = (<7.00,10.00,10.00>-<0.00,0.00,5.00>) // #local cam_sky = z #include "camlight.inc" camlight(<0.00,0.00,5.00>,<-4,10,5>,14.0,z,1.0)