// MELT / A Sphere Being Rotted '03.03 // By Tsutomu HIGO E-mail: nj2t-hg@asahi-net.or.jp #version 3.1; global_settings { assumed_gamma 2.2 } light_source {<100, 150, -150> color <1, 0.5, 1>} camera { location <0, 0, -50> angle 92 look_at <2, 0, 0> } #declare R1 = seed(7); #declare StrengthVal = 0.1; #declare Media = media { emission 0.05 intervals 50 samples 1, 50 confidence 0.9999 variance 1/100 density { spherical turbulence 0.3 color_map { [0.0 color rgbt <0, 0, 0, 1>] [0.3 color rgbt <1, 0, 0, 0.6>] [1 color rgb <0.5, 1, 0.5>] } scale 10 } } #macro Dlaring (Nmax, Dia, Rot, Dsphe) #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 Tc = Cp[Np][2]/Dia; #declare Rd = sin(Tc); sphere { Dsphe StrengthVal rotate y*0.01*Np rotate x*Rot} #declare Ca[mod(Pa, Amax)] = Np; #declare Np = Np+1; #end #end union { blob { threshold 0.2 Dlaring(2400, 60, 0, 2) } sphere { 0, 30 } pigment {color rgbt <0.2, 0.5, 1, 0.6>} finish { reflection 1 phong 4 brilliance 1 ambient 0.4 } no_shadow rotate z*-60 rotate y*-30 }