Algorithmic worlds










Search blog posts



Next posts

2012-06-16 3d printed Julia set

2012-05-06 Pep Ventosa

2012-04-06 Fractal automata

2012-03-30 Periodic Julia patterns

2012-03-25 Conformally invariant patt...

2012-03-21 In Flight

2012-03-16 Spherical worlds

2012-03-02 Ferrofluids

2012-02-26 Starry Night

2012-02-12 The Scale of the Universe

Previous posts


A blog about algorithmic art and fractal aesthetic. Click here to subscribe to the RSS feed

March 16th 2012

Spherical worlds

An algorithmic world is an algorithm decorating the plane with an infinitely extended pattern displaying dense fractal structures everywhere. In other words, no matter where one looks on the plane, the pattern displays an infinity of details. Exploring such a pattern is very much like exploring the Earth on Google Maps, hence the term "algorithmic world".

Although algorithmic worlds are meant to decorate the plane, it turns out that some of them can more naturally be pictured on other surfaces. In a previous post, it was explained that the algorithmic worlds created by the "Ducks" algorithm naturally live on a cylinder. It has the consequence that very deep zooms about the origin of the complex plane are possible at low computational cost, and such zooms can be pictured as travelling along the cylinder on which the world is defined.

In this post, I would like to show that algorithmic worlds created by related algorithms naturally live on the sphere. Before embarking into explanations, part of which will be technical, check the nice example below. It uses a Java applet by Prof. H. Dersch, originally devised to display full panoramas assembled from photographs. [EDIT: I am now using the WebGL applet of Matthew Petroff.] You should imagine that you are sitting inside the sphere on which the algorithmic world lives. Remark how the pattern patches seamlessly over the whole sphere. A whole bunch of my works can be now viewed in this way and they have been gathered into a new collection. Once you click on a thumbnail, check the link to the spherical picture at the bottom of the page.

A view of the spherical algorithmic world 20111029. Click and drag to change the view. A higher resolution spherical picture can be seen here (about 5MB). Check the collection of all the algorithmic worlds displayed panoramically.

Many fractals are visual representations of properties of dynamical systems. A dynamical system simply a set, together with a function mapping the elements of the set onto each other. Iterating the function can be seen as an evolution of the system in time (hence the epithet "dynamical"). The set of succesive images of a point under the iterations of the function is called the "orbit" of the point. In the case of the standard Julia fractals, the set underlying the dynamical system is the set of complex numbers, pictured as the plane, and the function sends a complex number z onto z2 + c, where c is a fixed complex number. For most points, orbit behaves regularly, with z converging to a point, or escaping to infinity, or converging to some nice periodic orbit. For other points, however, the dynamic is chaotic and the orbit is irregular, and (very roughly) these are the points which are defined to belong to the Julia set.

To create a picture of the Julia set, some properties of the orbits are turned into colors. For instance one can compute the average of the distance to the origin over all the points in the orbit, or over a subset of those, and turn the resulting real number into a color. Clearly, points outside the Julia set, with their regular orbits, will show up as smoothly colored regions of the plane. On the contrary, the points of the Julia sets, with their chaotic orbits, have the potential to display interesting patterns.

For the function z2 + c, almost all the points lie outside the Julia set (the latter is of measure zero). This means that almost every part of the picture eventually gets dull when you zoom on it. To get interesting patterns everywhere, in other words an algorithmic world according to the definition above, we would need the Julia set to be dense in the plane, i.e. that most or all the points of the plane actually lie in the Julia set. It turns out that this is possible with a very simple modification of the function defining the Julia set, and this is where we will see the sphere enter the scene.

A typical Julia set

A typical Julia set. The points belonging to the Julia set are very scarce, they are essentially the centers of the spirals. If you pick a random point, it will not belong to the Julia set and after zooming far enough you will end up with a smooth, uniform and boring picture.

A typical Julia set

A dense Julia set (see below for how to draw them). All the points in the plane belong to the Julia set. No matter where you zoom, interesting details will appear.

Recall that the complex plane can be turned into a sphere by adding a "point at infinity". The equivalence of the plane plus a point at infinity to a sphere can be picture very concretely by means of the the stereographic projection. The operation of adding c in the Julia set formula z2 + c is a bijective map from the complex plane to itself, but by means of the stereographic projection, it can also be seen as a map of the sphere to itself. This map has the special property of being conformal, i.e. it preserves the angles on the sphere. On the plane, all the conformal bijective maps are either translation, dilatations or rotations, and none of the Julia sets obtained by combining the square operation with these transformations are dense. However, once we add a point at infinity and turn the plane into a sphere, there are more conformal bijective maps: they consist of all the Moebius transformations. A typical Moebius transformation turns z into (az+b)/(cz+d) with a, b, c and d arbitrary complex numbers. (One way to see that these transformations are really maps of the sphere is to note that they are ill-defined at the point -c/d, where they give formally an infinite result. To cure this problem, we can define their value at this point to be equal to the "point at infinity" and obtain a well-defined map of the sphere to itself.)

So we have a natural generalization of the Julia set! Instead of just adding a constant, we can instead perform an arbitrary Moebius transformation. The resulting Julia sets are naturally pictured on the sphere, and it turns out that some of them are dense!! The spherical Julia set that you can see above with the Java applet is exactly of this type.

Of course, this is hardly hot news: mathematicians have been studying for a long time a further generalization of the notion of Julia set, obtained by iterating a function of the form p(z)/q(z), where p and q are arbitrary complex polynomials. All these Julia sets naturally live on the sphere, as well. Prof. Mary Rees even won a prestigious mathematical prize, essentially for proving that the "dense" Julia sets are quite common. (This is of course a very rough statement...) Readers with a math background can check this very nice review of the subject for more information. I have now been exploring and admiring these dense Julia sets for about a year and I am very happy to have found a link to some deep mathematics. Future blog posts will show how some rather non-trivial mathematical ideas can be used to get interesting visual results.

comments powered by Disqus
Copyright S.Monnier 2009-2014. Bookmark or share