//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 }