// Last edited on 2003-12-09 04:35:36 by stolfi #include "colors.inc" #include "skies.inc" // ====================================================================== #declare ctr = <0,0,-1>; #declare camDir = < -30.00, -20.00, 14.00 >; camera { location ctr + 0.42*camDir right -1.00*x up 0.75*y sky z look_at ctr } // ====================================================================== // FONTES DE LUZ light_source { 10 * < -30.0, 18.0, 50.0 > // Posição da lâmpada. color rgb 1.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < -20.0, -20.0, +50.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA sky_sphere {S_Cloud4} #declare corpo = sphere {<0,0,0>, 3 pigment{DarkBrown} scale<1.5,1,0.5> } #declare tampe = 0.6; #declare tam = 1.5; #declare tam2 = 3; #declare tam3 = 2; #declare clock0 = clock; #declare clock1 = mod(clock+0.5, 1); #declare alfa = 0; //floor(60*rand(semente))-30; #declare beta = 0; //floor(40*rand(semente))-20; #declare teta = 0; //floor(30*rand(semente))-15; #declare i=0; #while (i<3) #if (clock<0.25) #if (i=1) #declare gama = 40*clock; #declare rho = 60*clock; #else #declare gama = 20-40*(clock); #declare rho = 0; #end #end #if ((clock>=0.25)&(clock<0.50)) #if(i=1) #declare gama=40*clock; #declare rho=15-60*(clock-0.25); #else #declare gama = 20-40*(clock); #declare rho = 0; #end #end #if ((clock>=0.5)&(clock<0.75)) #if (i=1) #declare gama = 20-40*(clock-0.5); #declare rho = 0; #else #declare gama = 40*(clock-0.5); #declare rho = 60*(clock-0.5); #end #end #if(clock>=0.75) #if(i=1) #declare gama = 20-40*(clock-0.5); #declare rho = 0; #else #declare gama = 40*(clock-0.5); #declare rho = 15-60*(clock-0.75); #end #end #declare pe = union{ sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tampe,0>,0.1} pigment{DarkBrown} } #declare anteperna = union{ object{pe rotate<90+alfa,0,0> translate<0,tam,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0><0,tam,0>,0.1} pigment{DarkBrown} } #declare anteperna2 = union{ object{anteperna rotate<-45+beta,0,0> translate<0,tam2,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tam2,0>,0.1} pigment{DarkBrown} } #declare perna = union{ object{anteperna2 rotate<-80+teta,0,0> translate<0,tam3,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tam3,0>,0.1 } pigment{DarkBrown} translate } object{perna rotate<30+rho,0,15*(1-i)+gama> translate} #declare i=i+1; #end #declare i=0; #while (i<3) #if (clock<0.25) #if (i!=1) #declare gama = 40*clock; #declare rho = 60*clock; #else #declare gama = 20-40*(clock); #declare rho = 0; #end #end #if ((clock>0.25)&(clock<0.50)) #if(i!=1) #declare gama=40*clock; #declare rho=15-60*(clock-0.25); #else #declare gama = 20-40*(clock); #declare rho = 0; #end #end #if ((clock>0.5)&(clock<0.75)) #if (i!=1) #declare gama = 20-40*(clock-0.5); #declare rho = 0; #else #declare gama = 40*(clock-0.5); #declare rho = 60*(clock-0.5); #end #end #if(clock>0.75) #if(i!=1) #declare gama = 20-40*(clock-0.5); #declare rho = 0; #else #declare gama = 40*(clock-0.5); #declare rho = 15-60*(clock-0.75); #end #end #declare pe = union{ sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tampe,0>,0.1} pigment{DarkBrown} } #declare anteperna = union{ object{pe rotate<90+alfa,0,0> translate<0,tam,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0><0,tam,0>,0.1} pigment{DarkBrown} } #declare anteperna2 = union{ object{anteperna rotate<-45+beta,0,0> translate<0,tam2,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tam2,0>,0.1} pigment{DarkBrown} } #declare perna = union{ object{anteperna2 rotate<-80+teta,0,0> translate<0,tam3,0>} sphere{<0,0,0>,0.1} cylinder{<0,0,0>,<0,tam3,0>,0.1 } pigment{DarkBrown} translate } object{perna rotate<30+rho,0,180+15*(1-i)-gama> translate<1-i,-2.5,0>} #declare i=i+1; #end #declare chao = plane { z, -2.85 texture{ pigment{ checker color rgb <0.7,0.6,0.5>, color rgb <0.6,0.5,0.2> } finish{ diffuse 0.7 ambient 0.3 } scale 2 } } #declare olho = sphere{<0,0,0>,0.2 pigment{color Black} } //exibicao union{ object{corpo } object{olho translate<-3.7,0.6,0.7>} object{olho translate<-3.7,-0.6,0.7>} object{chao} }