// MELT / A Round Circle Discussion '03.03 // By Tsutomu HIGO E-mail: nj2t-hg@asahi-net.or.jp #version 3.1; global_settings { assumed_gamma 2.2 max_trace_level 4 } light_source {<0, 150, -50> color <1, 1, 1>} camera { location <0, 0, -100> angle 86 look_at <5, 15, 0> } #declare R1 = seed(7); #declare StrengthVal = 0.3; #declare Media = media { emission 0.05 intervals 100 samples 1, 15 confidence 0.9999 variance 1/10 density { spherical turbulence 0.6 color_map { [0.0 color rgb <0, 0, 0>] [0.7 color rgb <0.2, 0.2, 0.7>] [1 color rgb <0.3, 0.3, 0.3>] } scale <45, 90, 45> } } #macro Dlaring (Nmax, Dia, Rot) #declare Amax = int(pi*Dia/2*3); #declare Ca = array[Amax] #declare Na = 0; #while (Na < Amax) #declare Ca[Na] = 0; #declare Na = Na+1; #end #declare Cp = array[Nmax][3] #declare Ap = 2*pi*rand(R1); #declare Cp[0][0] = Dia/2*cos(Ap); #declare Cp[0][1] = Dia/2*sin(Ap); #declare Cp[0][2] = 0; #declare Np = 1; #while (Np < Nmax) #declare Ap = 2*pi*rand(R1); #declare Pa = int(Ap*Dia/4*3); #declare Ho = max( max( max(Cp[Ca[mod(Pa-4+Amax, Amax)]][2], Cp[Ca[mod(Pa-3+Amax, Amax)]][2]), max(Cp[Ca[mod(Pa-2+Amax, Amax)]][2], Cp[Ca[mod(Pa-1+Amax, Amax)]][2]) ), max( max(max(Cp[Ca[mod(Pa, Amax)]][2], Cp[Ca[mod(Pa+1, Amax)]][2]), Cp[Ca[mod(Pa+2, Amax)]][2]), max(Cp[Ca[mod(Pa+3, Amax)]][2], Cp[Ca[mod(Pa+4, Amax)]][2]) ) )+2.1; #declare Ntmax = Ho*10; #declare Nt = Ntmax; #while (Nt > -1) #declare Cp[Np][0] = Dia/2*cos(Ap); #declare Cp[Np][1] = Dia/2*sin(Ap); #declare Cp[Np][2] = Ho*Nt/Ntmax; #declare Ns = -4; #while (Ns < 5) #declare Nns = Ca[mod(Pa+Ns+Amax, Amax)]; #if (pow(Cp[Np][0]-Cp[Nns][0], 2)+pow(Cp[Np][1]-Cp[Nns][1], 2)+pow(Cp[Np][2]-Cp[Nns][2], 2) < 4) #declare Nt = 0; #end #declare Ns = Ns+1; #end #declare Nt = Nt-1; #end #declare Rlength = 0.8+rand(R1)*0.8*pow(1/(Cp[Np][2]+1), 0.2); sphere { 5 StrengthVal rotate x*Rot} #declare Ca[mod(Pa, Amax)] = Np; #declare Np = Np+1; #end #end union { blob { threshold 0.25 Dlaring(800, 100, 0) Dlaring(800, 100, 180) pigment {color rgbt <1, 1, 1, 0.8>} finish { reflection 0.8 phong 0.5 brilliance 0.3 ambient 0.3 } no_shadow rotate x*-90 rotate y*-90 } sphere { 0, 1000 pigment {color rgbf <1, 1, 1, 1>} finish {ambient 0 diffuse 0} interior {media {Media}} hollow translate y*30 } rotate <30, 40, 0> } background {color rgb <0.0, 0.1, 0.05>}