// Last edited on 2003-12-07 12:52:04 by stolfi // ====================================================================== #declare ctr = < 0.00, -1.00, 8.00 >; #declare camDir = < -35.00, -10.00, 40.00 >; camera { location ctr + 0.90*camDir right -1.00*x up 0.75*y sky z look_at ctr } // sphere{ ctr, 5 pigment{color rgb <1,1,0>}} // ====================================================================== // FONTES DE LUZ light_source { < -20.0, 0.0, 60.0 > // Posição da lâmpada. color rgb 0.7 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0.0, -10.0, 60.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare p1 = texture { pigment { color rgb < 0.10, 0.10, 0.10 > } finish { diffuse 0.9 specular 0.5 roughness 0.005 ambient 0.1 } } #declare p2 = texture { pigment { color rgb < 0.10, 0.10, 0.10 > } finish { diffuse 0.9 specular 0.5 roughness 0.05 ambient 0.1 } } #declare p3 = texture { pigment { color rgb < 0.80, 0.20, 0.20 > } finish { diffuse 0.9 specular 1.0 roughness 0.05 ambient 0.1 } } #declare cont=0; #declare min_artdedo=-45; #declare max_artdedo=90 ; #declare min_artmao =-45; #declare max_artmao =90 ; #declare min_artperna2 = 10; #declare max_artperna2 = 120 ; #declare min_artperna_a = 30; #declare max_artperna_a = 120 ; #declare min_artperna_b = -10; #declare max_artperna_b = 10 ; #declare semente = seed(12345); #declare pernas = union { #while(cont<6) #declare artdedo=min_artdedo + rand(semente)*(max_artdedo-min_artdedo); #declare artmao=min_artmao + rand(semente)*(max_artmao-min_artmao); #declare artperna2=min_artperna2 + rand(semente)*(max_artperna2-min_artperna2); #declare artperna_a=min_artperna_a + rand(semente)*(max_artperna_a-min_artperna_a); #declare artperna_b=min_artperna_b + rand(semente)*(max_artperna_b-min_artperna_b) + 30*(mod(cont,3) -1); #declare posperna=<1,(mod(cont,3) -1) ,0>; #declare dedo = union { sphere{<0,0,0> 0.3} cone{<0,0,0> 0.3 <0,0,2> 0} scale<0.6,1,1> texture{p1} } #declare mao_ = blob { threshold 0.6 sphere {<0,0,0> 1 1} sphere {<0,0,0.5> 0.7 1} sphere {<0,0,1> 1 1 rotate<45,0,0>} sphere {<0,0,1> 1 1 rotate<-45,0,0>} scale<0.3,1,1> texture{p1} } #declare mao = union { object{mao_} object{dedo rotate<0,artdedo,0> rotate<23,0,0> translate<0,-1,1>} object{dedo rotate<0,artdedo,0> rotate<-23,0,0> translate<0,1,1>} } #declare perna2_ = blob { threshold 0.6 cylinder {<0,0,0> <0,0,15> 0.4 1} sphere {<0,0,0> 1 1 scale<0.6,1,6> translate<0,0,3>} texture {p1} } #declare perna2 = union { object {perna2_} object {mao rotate<0,artmao,0> translate<0,0,15>} } #declare perna1_ = blob { threshold 0.6 cylinder {<0,-0.4,0> <0,0,10> 0.7 1} cylinder {<0,0.4,0> <0,0,10> 0.7 1} texture {p1} } #declare perna1 = union { object {perna1_} object {perna2 rotate<0,artperna2,0> translate<0,0,10>} } object{ perna1 rotate<0, artperna_a, artperna_b> translate posperna #if(cont>2) scale<-1,0,0> #end } #declare cont=cont+1; #end } #declare torax_= intersection { sphere{<0,0,-0.5> 1 scale<5,7,6>} sphere{<0,0,0.5> 1 scale<5,7,5>} translate<0,5,0> texture{p2} } #declare olho = sphere { <0,0,0> 0.7 texture{p3} } #declare cabeca = union { sphere{<0,0,0> 1 } cone{<0,0,0> 1 <0,-1.5,0> 0.05} object{olho translate<-0.5,-0.1,0.5>} object{olho translate<0.5,-0.1,0.5>} scale<2,4,2> translate<0,-4,0> texture{p2} } #declare artcab_a = 80 + rand(semente)*40; #declare artcab_b = -20 + rand(semente)*40; #declare artcab_c = -20 + rand(semente)*40; #declare torax = union { object{torax_} object{cabeca rotate} translate<0,-10,0> } #declare abdomen= intersection { sphere{<0,0,-0.5> 1 scale<8,10,9>} sphere{<0,0,0.5> 1 scale<8,10,7>} translate<0,9,0> texture{p2} } #declare artab = -rand(semente)*20; #declare corpo = union { object{abdomen rotate} object{torax} object{pernas translate<0,-2,0>} } object{corpo rotate<0,180,0>}