// Last edited on 2007-07-23 14:10:19 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 negro = texture { pigment { color rgb < 0, 0, 0 > } finish { diffuse 1.5 specular 0.2 roughness 0.005 reflection 0.1 ambient 0.2 } } #declare branco = texture { pigment { color rgb < 1.50, 1.50, 1.50 > } finish { diffuse 1.5 specular 0.2 roughness 0.005 reflection 0.1 ambient 0.2 } } #declare prata = texture { pigment { color rgb < 0.50, 0.50, 0.50 > } finish { diffuse 1.5 specular 0.2 roughness 0.005 reflection 0.1 ambient 0.2 } } #declare vermelho = texture { pigment { color rgb < 0.70, 0.20, 0.20 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 reflection 0.5 ambient 0.1 } } #declare verde_sapo = texture { pigment { color rgb < 0, 1, 0 > filter 0.1} finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare RAIO_CABECA = 2; #declare olho = union{ sphere{ <2,2,2>,2 texture {branco} } sphere{ <2,0.5,2>,1 texture {negro} } } #declare cabeca = union{ difference{ sphere{ ,RAIO_CABECA texture{verde_sapo} } box{ <0,0,0>,<2*RAIO_CABECA,2*RAIO_CABECA,RAIO_CABECA> } } object{ olho scale 0.2 translate <0.5,0,2.8> } object{ olho scale 0.2 translate <2.7,0,2.8> } } #declare tronco = intersection{ sphere{ <0,0,0>,RAIO_CABECA scale <1,1,2> texture{verde_sapo} } box{ <-RAIO_CABECA,-RAIO_CABECA,-RAIO_CABECA>, } } #declare G_BRACO = 0.7; #macro mao() sphere{ <0.8,0,0>,G_BRACO+0.2 scale <2,1,0.5> } #end #macro mao_antebraco(alphaX,alphaY) #declare TAMANHO_ANTEBRACO = 5; union{ sphere{,G_BRACO} cylinder{ <0,0,0>,,G_BRACO } object{ mao() rotate -alphaX*x rotate alphaY*y translate TAMANHO_ANTEBRACO*x } } #end #macro braco(alphaX,alphaY,betaX,betaY) #declare TAMANHO_BRACO = 4; union{ sphere{,G_BRACO} cylinder{ <0,0,0>,,G_BRACO } object{ mao_antebraco(alphaX,alphaY) rotate -betaX*x rotate betaY*y translate TAMANHO_BRACO*x } texture{verde_sapo} } #end #declare G_PERNA = 0.7; #macro pe() sphere{ <0.5,0,-1>,G_PERNA scale <4,2,0.8> } #end #macro pe_sobrecoxa(alphaY) #declare TAMANHO_SOBRECOXA = 8; union{ sphere{<0,0,-TAMANHO_SOBRECOXA>,G_PERNA} cylinder{ <0,0,0>,<0,0,-TAMANHO_SOBRECOXA>,G_PERNA } object{ pe() rotate alphaY*y translate -TAMANHO_SOBRECOXA*z } } #end #macro coxa(betaY,betaZ,alphaY) #declare TAMANHO_COXA = 7; union{ sphere{<0,0,-TAMANHO_COXA>,G_PERNA} cylinder{ <0,0,0>,<0,0,-TAMANHO_COXA>,G_PERNA } object{ pe_sobrecoxa(alphaY) rotate betaY*y rotate betaZ*z translate -TAMANHO_COXA*z } sphere{<0,0,0>,G_PERNA} texture{verde_sapo} } #end #declare corpo = union{ object{ cabeca scale 1.2 translate 6.6*z } object{ tronco translate 6.9*z translate 2.35*x translate 2.4*y } object{ braco(30,30,30,30) scale 0.4 rotate 20*y translate 8.5*z translate 3.8*x translate 3*y } object{ braco(30,30,30,30) scale 0.4 scale <-1,1,1> rotate -20*y translate 8.5*z translate 1*x translate 3*y } object{ coxa(90,-90,-40) scale 0.4 rotate -40*x translate 4.8*z translate 3.2*x translate 2.5*y } object{ coxa(100,-90,-30) scale 0.4 rotate -70*x translate 4.8*z translate 1.5*x translate 2.5*y } } object{corpo} plane{z,0 translate -10*y texture { tinta_xadrez } } // Original camera parameters: // #local cam_ctr = <2.00,100.00,6.60> // #local cam_vec = (<2.00,-20.00,+6.60>-<2.00,100.00,6.60>) // #local cam_sky = z #include "camlight.inc" camlight(<4,2,7>,<5,-10,7>,20.0,z,1.0)