I still love the look of this 3D fractal type. Despite its IFS nature, in many ways it's much closer the the 'true' 3D Mandelbrot, than the Mandelbulb is.
However, nobody apart from the original creators has ever rendered it, or even spoke much about it. There is information out there to create this object, but it's pretty scarce and opaque (well for me anyway
).
It is of course the 'Quasi-Fuchsian' fractal by Dr. Kazushi Ahara and Dr. Yoshiaki Araki. Here is their gallery:
http://www.math.meiji.ac.jp/~ahara/quasisphere/Gallery.html... and here is a video:
http://www.youtube.com/v/3lcO9zRCv-4&rel=1&fs=1&hd=1Anybody had a crack at recreating this?
Oh..That thing...
After some intense search over the net, related how that was done, I think that I got some clues from this webpage (created by Kentaro Ito):
http://www.math.nagoya-u.ac.jp/~itoken/index.htmlYou can start by downloading the following paper (pdf), that appears on the page:
# (with Y. Araki) An extension of the Maskit slice for 4-dimensional Kleinian groups,
Conform. Geom. Dyn. 12 (2008), 199-226. Take a look at the gallery:
http://www.math.nagoya-u.ac.jp/~itoken/3d-maskit.htmlWith the parameters from the article, go to this applet and play with them (some very interesting kleinians will appear):
http://www.math.nagoya-u.ac.jp/~itoken/java/masinv3.htmReplace the points with spheres and you will probably get that fractal.
I have tested some and I think that I have hit very near.
Also at the end of the article there are several 3d kleinians that looks like that fractal.
Oh well, if you want to see it in the fast way, iterate the following code:
Select the transformation (tr) randomly or in a structured fashion and (get the parameters from the article):
const float p=0;
const float q=1.9;
const float r=0.04;
const float l=2;
switch(tr){
case 0:
w=(x*x+y*y+z*z);
X1=x/w+p;
Y1=-y/w+q;
Z1=z/w+r;
break;
case 1:
w=((x-p)*(x-p)+(y-q)*(y-q)+(z-r)*(z-r));
X1=(x-p)/w;
Y1=(-y+q)/w;
Z1=(z-r)/w;
break;
case 2:
X1=x-l;
Y1=y;
Z1=z;
break;
case 3:
X1=x+l;
Y1=y;
Z1=z;
break;
}
x=X1;
y=Y1;
z=Z1;
Now, with the iteration values 3d point, map it to the spherical function:
double rr=sqrt(q*q+r*r);
double xn=X1;
double yn=Y1+2*r/rr;
double zn=Z1-2*q/rr;
Xp=4*rr*xn/(xn*xn+yn*yn+zn*zn);
Yp=4*rr*(yn/(xn*xn+yn*yn+zn*zn)-r/(4*rr));
Zp=4*rr*(zn/(xn*xn+yn*yn+zn*zn)+q/(4*rr));
and plot the point (Xp,Yp,Zp)..
That set of parameters will not produce something like that fractal, but it will produce something very very interesting..