// FLOW / DANCING '01.08 // By Tsutomu HIGO E-mail: nj2t-hg@asahi-net.or.jp #version 3.1; global_settings { max_trace_level 6 assumed_gamma 2.2 } camera { location <0,-50,110> angle 48 look_at <-5,20,0> } light_source {<50, 100, 500> color rgb <1,1,1>} light_source {<20, 30, 18> color rgb <1,1,1>} #declare Startp = array[3] #declare Startp[0] =0; #declare Startp[1] =0; #declare Startp[2] =0; #declare N =0; #while (N < 30) #declare R1 = seed(N*12); #declare Colg =rand(0); #declare Cn =0; #while (Cn < 5) #declare Rb =2; #declare Xr =180*rand(0); #declare Yr =360*rand(0); #declare Xp =0; #declare Yp =0; #declare Zp =0; #declare Ctm =50; #if(Cn=4) #declare Ctr=Ctm; #else #declare Ctr=Ctm/2; #end #declare Ct =0; #while (Ct < Ctr) #declare Xr =Xr+30*rand(R1)-15; #declare Yr =Yr+30*rand(R1)-15; #declare R =2*(pow((Ct-Ctm/2)/Ctm,2))+0.1; union { cone { <0,0,0>, Rb, <0,1,0>, R rotate translate } sphere { <0,0,0> Rb translate } #if(Cn=4) pigment {color rgb <1, 1, 1>} #else pigment {color rgb <1,0,0>} #end finish { ambient 0.1 phong 0.8 reflection 1 } translate no_shadow } #declare Rb =R; #declare Xp =Xp+sin(Xr*pi/180)*sin(Yr*pi/180); #declare Yp =Yp+cos(Xr*pi/180); #declare Zp =Zp+sin(Xr*pi/180)*cos(Yr*pi/180); #declare Ct = Ct+1; #end #declare Cn = Cn+1; #end #declare Startp[0] =Startp[0]+Xp; #declare Startp[1] =Startp[1]+Yp; #declare Startp[2] =Startp[2]+Zp; #declare N =N+1; #end