#include "colors.inc" background{ color rgb<1,1,1> } // ====================================================================== // FONTES DE LUZ light_source { 10 * < +50.0, +30.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 4.0, 10.0, 30.0 > // Posição da lâmpada. color rgb 0.8*< 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== camera { location < 4.00, 4.00, 20.00> right < -0.60, 0.00, 0.00 > up < 0.00, 0.00, 0.80 > sky < 0.00, 0.00, 1.00 > look_at < 4.00, 4.00, 0.00 > } //eixos #declare eixox = cylinder { < -5.00, 0.00, 0.00 >, < 5.00, 0.00, 0.00 >, 0.05 pigment { color Black } } #declare eixoy = cylinder { < 00, -5.00, 0.00 >, < 00, 5.00, 0.00 >, 0.05 pigment { color Black } } #declare eixoz = cylinder { < 0.0, 00, -5.00 >, < 0.0, 00, 5.00 >, 0.05 pigment { color Black } } #declare host = sphere { < 0, 0, 0 >,0.5 pigment{color Black} } #declare enlace = cylinder { < 0.0, -2.0, 0.00 >, < 0.0, 2.0, 0.00 >, 0.1 pigment{color Yellow} } #declare i=0; #declare j=0; #while (j < 3) #while (i < 3) object { host translate 4*i*y translate 4*j*x} #declare k=0; #while (k <3) #if(j < 2) #if(i < 2) object { enlace translate <0,2,0> translate 4*i*y translate 4*k*x pigment { color Yellow } } object {enlace rotate z*90 translate <2,0,0> translate 4*j*x translate 4*k*y} #end #end #declare k=k+1; #end #declare i=i+1; #end #declare i=0; #declare j=j+1; #end #declare pacote = box{ <-0.5,-0.50,0> <0.5,0.5,0.3> } //caminho #declare p=0; #declare fonte=seed(123456); #if(clock<=0.25) #declare p1=1; #declare p2=0; #declare p3=0; #declare p4=0; #declare time=(clock)/(0.25); #else #if(clock>0.25) #if(clock<=0.5) #declare p1=0; #declare p2=1; #declare p3=0; #declare p4=0; #declare time=(clock-0.25)/(0.5-0.25); #else #if(clock<=0.75) #declare p1=0; #declare p2=0; #declare p3=1; #declare p4=0; #declare time=(clock-0.5)/(0.75-0.5); #else #declare p1=0; #declare p2=0; #declare p3=0; #declare p4=1; #declare time=(clock-0.75)/(1-0.75); #end #end #end #end //4 direcoes possiveis #declare pos1=time*(4); #declare pos2=(1-time)*(4)+time*(8); #declare pos3=(1-time)*(8)+time*(4); #declare pos4=(1-time)*(4); #declare p=0; #while(p<20) #declare r = rand(fonte); #if(r<=0.25) object{pacote pigment{color rgb} translate p1* translate p2*<4,pos1,0> translate p3* translate p4*<8,pos2,0> } #else #if(r<=0.5) object{pacote pigment{color rgb} translate p1*<0,pos1,0> translate p2*<0,pos2,0> translate p3* translate p4*<4,pos3,0> } #else #if(r<=0.75) object{pacote pigment{color rgb} translate p1*<8,pos1,0> translate p2*<8,pos2,0> translate p3*<8,pos3,0> translate p4*<8,pos4,0> } #else object{pacote pigment{color rgb} translate p1*<4,pos2,0> translate p2* translate p3*<0,pos3,0> translate p4*<0,pos4,0> } #end #end #end #declare p=p+1; #end // Aqui está a cena, finalmente: union { //object{eixox} //object{eixoy} //object{eixoz} }