|
![](/i/fill.gif) |
It was not invented by me and I apologize that I forgot who did it.
#declare Gball = union{
//sphere { 0, 1 }
#declare N = 150; //arbitrary 150422;
#declare nn = 0; //arbitrary 150422;
#declare R = 1/sqrt(N); //also arbitrary
#declare Theta = 0;
// #declare H = (N-1)/N; //I dunno which of these makes a better
pattern.
#declare H = 1; //There's a logical argument for either.
#while (H >= -1)
#declare Phi = degrees(acos(H));
sphere { <0,1,0>, R*2
rotate <Phi, Theta, 0>
inverse
pigment{color rgb nn/150}
finish{reflection 0.2}
}
#declare H = H - 2/N;
#declare Theta = mod (Theta + 137.5077641, 360);
#declare nn=nn+1;
#end
texture {Tex_2 }
}
#object {Gball
rotate <0,0,0>
translate <3,0,3>}
Post a reply to this message
|
![](/i/fill.gif) |