Fractales et inversions de sphères
Mon ami artiste-développeur Eric Wenger vient de m’envoyer une vidéo d’images de fractales en trois dimensions basées sur l’inversion de sphères. C’est réalisé avec VQuartz, son nouveau logiciel qui sera distribué bientôt ; il a composé la musique avec le MetaSynth, un autre logiciel développé par lui il y a quelques années.
C’est un joli voyage dans le monde des fractales, avec une envoûtante musique. Merci pour le lien.
Absolument sublime, on ne peut pas en decrocher le regard ! Tout simplement envoutant…
2D Fractals generated by circles inversions are often invariant under a Kleinian group, hence the title of the film.
http://www.hiddendimension.com/F...
In our case I used the 3D equivalent by inverting spheres instead of circles.
I used the following algorithm to generate the first set :
Offset & Invert the space so that the tiled plane xz becomes a sphere.
Space inversion is defined by v/ length(v)^2 or ( x /M ,y / M , z / M ) with M=(x^2+y^2+z^2)
Tile the space in x,z by D=2
Recursively apply 6 spheres inversions of radius M = 0.7382 at coordinates
(0., -1.,0.) (0., 1.,0.) (-1., 0.,0.) (1., 0., 0.) (0., 0.,-1.) (0., 0.,1.) );
A sphere inversion centered at p of radius R is defined by
v.xyz-= p; //move the space so that origin is at 0
v =v/R; //scale the space so that unit sphere is at R
r2=v.x*v.x+v.y*v.y+v.z*v.z;
if(r2<1.){ //invert the space when inside unit sphere
v*=(1./r2);
}
v*=R;
v.xyz+= p;
After the space transform just render a zero centered sphere of radius 0.2689 (colored spheres)
+ an inverted sphere when (Norm(V)>8) (white spheres)
+ 3 infinite cylinders on each axis.
With the global space inversion and the recursive spheres inversions infinite lines are transformed to circles orthogonal to the spheres.
The rendering uses Distance Field Ray Marching to converge to the surface and was done in GPU using a GLSL patch in Quartz composer.
Other sets uses similar techniques but with various position for the sphere inversions and various tilings /or reflections folding.
Joli voyage dans le monde des fractales !