//Description: // Modification include better lighting, glass-like properties for the spheres // Now with a huge freaky eye thing! //Author: Ben Scheele //Date: 3-16-2003 camera{ location 100*y up y right x look_at 0 angle 31 } light_source{ <5,20,5>*45 rgb 1.1 } light_source{ 9*y rgb .5 } background{rgb .5} #declare s1 = seed(29590); #declare s2 = seed(23030); #declare s3 = seed(13001); #declare s4 = seed(3990); #declare s5 = seed(2030); #declare s6 = seed(1301); #declare step = .01; #local T = -5*pi; #local EndT = -1*pi; //-------------------------------- #declare a = 3; #declare b = 5; #declare c = 3; #declare d = .4; #declare f = .4; #declare tr = .6; #declare metglass = finish { specular 0.4 roughness 0.05 brilliance .2 phong .35 phong_size 25 metallic .3 diffuse .7 ambient 0 reflection { 0.2, 0.4 falloff 2 metallic .4 fresnel on} conserve_energy } #declare front1 = union{ #while(T < EndT + step) sphere{ 0, .2 hollow finish{ metglass } interior{ ior 1.45 caustics 1 fade_distance 3 fade_power 2 } scale (abs(sin(2*T))+.0001)*1.5 scale +d translate T*x*1.7 rotate 360*cos(T)*(.1*x+y) #if (sin(T)>0) pigment{ rgbf<.75-.2*rand(s1),.75-.2*rand(s2),.3+.2*rand(s3),f> transmit tr } #else pigment{ rgbf<.3+.2*rand(s1),.3+.2*rand(s2),.75-.2*rand(s3),f> transmit tr } #end } #declare T = T + step; #end } // end front part 1----------------- #declare front2 = #local T2 = 1*pi; #local EndT2 = 5*pi; union{ #while(T2 < EndT2 + step) sphere{ 0, .2 hollow finish{ metglass } interior{ ior 1.45 caustics 1 fade_distance 3 fade_power 2 } scale (abs(sin(2*T2))+.0001)*1.5 scale +d translate T2*x*1.7 rotate 360*cos(T2)*(.1*x+y) #if (sin(T2)>0) pigment{ rgbf<.75-.2*rand(s4),.75-.2*rand(s5),.3+.2*rand(s6),f> transmit tr} #else pigment{ rgbf<.3+.2*rand(s4),.3+.2*rand(s5),.75-.2*rand(s6),f> transmit tr} #end } #declare T2 = T2 + step; #end } // end front part 2 ------------------------------- #declare s7 = seed(3027); #declare s8 = seed(20993); #declare s9 = seed(30400); #declare bit = box{ <-10,-.01,-10>, <10,.01,10> finish{ ambient 0 diffuse .8 phong .4 reflection{ 0.2, .25 falloff 2 metallic .5 } metallic .4 specular .4 brilliance 1 roughness .05 } normal{ bumps .0025 scale .0005 } } #declare r = 5; #declare step3 = 3; #declare E = 24; #declare back = union{ #declare X = -E; #declare EndX = E; #while(X < EndX + step3) #declare Z = -E; #declare EndZ = E; #while(Z < EndZ + step3) object{ bit scale <.5+.3*rand(s7),10*rand(s8),.5+.3*rand(s9)> rotate rotate <-r*rand(s9),-r*rand(s7),-r*rand(s8)> translate pigment{ rgb .4*(<.4*rand(s7),.1*rand(s8),.4*rand(s9)>+.5) } } #declare Z = Z + step3; #end #declare X = X + step3; #end translate -5*y } object{ front1 } object{ front2 } difference{ object{ back } cylinder{ -10*y, 5*y, 5 } } #declare Ball = difference{ sphere{ 0, .65 hollow } sphere{ 0, .64 hollow } pigment{ rgbf <.9,.2,.5,.2> transmit .5 } normal{ ripples 3 scale <.05,.15,.1> translate -5*y } finish{ ambient .3 phong .5 specular .2 reflection{ .2 .5 metallic .2 } roughness .05 brilliance 2 metallic .2 } interior{ ior 1.33 caustics 1 fade_distance .5 fade_power 2 } } sphere{ -5*y, 3 pigment{ rgb 5*z }} object{ Ball scale 7.69 translate -5*y }