// STRATA / Coiled '01.09 // By Tsutomu HIGO E-mail: nj2t-hg@asahi-net.or.jp #version 3.1; global_settings { max_trace_level 3 assumed_gamma 2.2 } camera { location <0, 200, -100> angle 50 look_at <0, -30, 0> } light_source {<0, 10, 0> color rgb <1,1,1>} #declare R1 = seed(8); #declare Ctm = 90; #declare Turn = array[Ctm][2] #declare Cnm = 12; #declare Bubble = array[2] #declare R = 0; #declare Ct = 0; #while (Ct < Ctm) #if(Ct=0) #declare Turn[Ct][0] = 0; #declare Turn[Ct][1] = 0; #else #declare Turn[Ct][0] = Turn[Ct-1][0]+35*rand(R1)-10; #declare Turn[Ct][1] = Turn[Ct-1][1]+0.06*rand(R1); #end #declare Ct = Ct+1; #end #declare Cn = 0; #while (Cn < Cnm) #declare N = 0; #while (N < 2) #declare R = R+2.5*rand(R1); #declare Xp = 0; #declare L = 7; #declare Yp = 0; #declare Zp = 0; #declare Bubble[N] = union { #declare Ct = 0; #while (Ct < Ctm) #declare Yr = Turn[Ct][0]; sphere { R } #declare Xp = Xp+L*sin(mod(Yr+360,360)*pi/180); #declare Yp = Yp+Turn[Ct][1]; #declare Zp = Zp+L*cos(mod(Yr+360,360)*pi/180); #declare Ct = Ct+1; #end } #declare N =N+1; #end intersection { object { Bubble[1] } object { Bubble[0] inverse } plane { -z, 10 } pigment {color rgb <0.5*rand(R1), 0.5+0.5*rand(R1), rand(R1)>} finish { ambient 0.4 phong 1 reflection 0.5 diffuse 0.7 } translate <-52.5,-50,10> rotate x*90 rotate y*-90 no_shadow } #declare Cn = Cn+1; #end