

Note : it is pointless to read these pages if you are already familiar with fractals. I even strongly advise mathematicians not to read them, unless they are prepared to be very indulgent on the elementary aspect and on the approximation of my explanations.
![]()
Euclid and fractals |
|
| Euclid would certainly have been horrified if he had known fractals, as many of his
successors were, that are much closer to us, and that only saw in them mathematical
monsters from which one should turn away ! And yet... A fractal image is obtained from a graphical object to which a certain transformation has been applied which adds an element of complexity ; then the same transformation is applied to the new object obtained, which increases its complexity even more... and this iterating process is reproduced to the infinite. Of course, all iterations do not generate fractals. Let us take a segment of a straight line and let us blot out half of it, then let us apply to the half segment obtained the same operation : it is obvious that for an infinite number of iterations, the figure will tend to become a point. Nothing exciting about that. On the other hand, if we take away 1/3 of the central part of the same segment, then from each of the 2 resulting segments we take away 1/3 of their central part, etc. we will tend towards a figure that, if not really spectacular, has nevertheless some strange mathematical properties : Cantor dust.
|
|
|
|
Indeed, imagine that we zoom
into this figure with a magnifying glass, then with a microscope with higher and higher
magnifications. Whatever the enlargement, the same structure will be observed. On one
detail only it will be impossible to tell the magnifying power under which Cantor's dust
will have been observed (in the picture here above, the resolution of the screen limits
the observation of the smallest details). First propriety of a fractal image : self-similarity, or scale invariance.
|
|
|
|
| Somehow more spectacular is the example of Koch's "curve" or
"snowflake". This "curve" is generated by applying to the sides of
an equilateral triangle a slightly different transformation : 1/3 of the central part
of each side is replaced by 2 segments having the same length than the part that has been
taken away. After the first iteration the picture obtained looks like David's star. Then,
after successive iterations, the result obtained looks like a snowflake. Here again,
whatever the magnifying power used to examine the "curve", the same details will
be seen... as long as the number of iterations is infinite (or, at least, fairly
important).
|
|
|
|
| This type of figure presents a strange peculiarity. At first thought ones
thinks that its perimeter will tend towards a finite limit value, since the details added
will be smaller and smaller as the iterations are repeated. In fact, after the first
iteration, the length l of each side is replaced by 4 l / 3 ;
after the second, it becomes 16 l / 9... In other words, with
each iteration the length is multiplied by 4 / 3, which means that (unlike the
first intuition) the length of Koch's curve tends towards the infinite for an
infinite number of iterations. And yet, this curve never goes beyond the outer limits of
the circumcircle of the initial triangle, and beyond the inner limits of the circle
inscribed inside the triangle ! Another propriety, even less intuitive, concerns
the dimension of fractals objects. We all know that a point is a figure the
dimension of which is 0 ; that a straight line is an object with dimension 1 ;
that a plane surface is an object with dimension 2 ; a volume has dimension 3... What
about a fractal object ? |
|
Complex numbers and fractals |
|
| A great number of strange fractal objects can be built from simple operations of
Euclidean geometry, like the previous ones (the picture heading the page is a variance of
Sierpinski's gasket, after 4 iterations). Some are plane figures, others spread their
structure into space. But if we apply the iteration process even to very simple formulae
using complex numbers, we then enter a fabulous world made of strange shapes and
sometimes of astonishing beauty. Let us remind you that a complex number has the following general structure :
|
|
z = x + yi |
|
| where x and y are real numbers and i is the square root of -1
(operation that was thought to be impossible to carried out by ancient mathematics, since
the square of real numbers is always positive). x is the real part of the number
and y is the imaginary one. We can wonder how a function can be graphically represented when it uses complex numbers, since it is not possible to associate a concrete mental image to a number as strange as the square root of -1. The principle that rules the realization of most of these pictures on a computer is in fact very simple. Whenever ones graduates a coordinate axis, each division of the axis can be given any conventional unit value. If we state that the value of one division equals to i we will have on one side of the origin the representation of the numbers i, 2i, 3i... and on the other side -i, -2i, -3i... The x axis represents the real part of the calculation result ; the y axis represents the imaginary part, and the brightness or the colour of each pixel is function of the number of iterations necessary for the result to match a given condition. Let use take an expression as easy as
|
|
|
|
|
| c is a complex number fixed at the start. The calculations are done for each of
the z points in the complex plane (each point has a real coordinate x and an
imaginary one y). Except that, excuse the detail, instead of doing the calculation
once for each point, we start again, giving z the value found for z' during
the previous calculation, and then we start once more giving z the new value found
for z'... In short we carry out a theoretically infinite number of iterations to
work out each of these points, which can be transcribed into
|
|
|
|
| starting with an initial value z(0) equal to the coordinates of each
point of the complex plane. It is interesting to see towards what value this function
will tend for each point of the complex plane. We notice that for many points (that is to
say, for many initial values of z) the function diverges (the value of z'
moves more and more away from the initial value). On the other hand, for some points, the
result remains definitively within a limited interval : the function does not
diverge, even for an infinite number of iterations.
|
|
real part of c = -0.0519... imaginary part = 0.688... |
|
| In some cases a Julia set is continuous (or, more rigorously, connected) such as here
above, but in others it is fragmented (not connected) as below.
|
|
real part of c = -0.577... imaginary part = 0.478... |
|
| The points for which the values of z diverge do not belong to the filled-in
Julia set : they are situated outside. But one can obtain extra information by giving
them a brightness or a colour that is a function of the number of necessary iterations to
observe the divergence. In other words this colour is a measure of the speed at which the
function diverges for this point. Around the set proper, coloured in black here, one can
notice a series of zones creating pictures that can sometimes be very interesting
(see
above or below).
|
|
| If, instead of giving c a fixed and arbitrary value, we give for any point of
the complex plane an initial value c = z(0), we obtain a more
complex mathematical object called the Mandelbrot set. Here again, the latter is
the black part at the centre of the picture.
|
|
|
|
Note : unlike what it looks like, the Mandelbrot set is connected but some details are so minute that they can't be seen because of the screen resolution. |
|
| Of course, if there is an infinity of Julia sets, there is only one Mandelbrot set for
the function
|
|
|
|
| It is obvious that there is a relation between this set and the Julia sets : the
Mandelbrot set is the set of all the points c for which the corresponding Julia set
is connected. In other words, when on takes for c a value outside the black surface
we obtain a "broken" Julia set. Mandelbrot and Julia sets are fractal objects and by zooming on their edges one can see, whatever the magnifying power, structures that are still as complex and self-similar. Therefore the Mandelbrot set has in its border a multitude of ramifications that locally expand into mini-Mandelbrot sets that, in turn... All these details are self-similar, which does not mean that they are rigorously identical one with the other (unlike the first fractals seen above, created through simple geometrical operations). The following series of pictures show the enlarging, more and more powerful, that reveals mini-Mandelbrot sets in the surrounding of the central set. All the pictures, except the last one, were treated into different shades of blue to make it easier to recognize the shapes. In each one, a small rectangle indicates the limits of the following picture. When you click on a reduced picture you can visualize an image with a 800x600 size. The magnification factor between the first and the last image is 3 200 000.
|
|
All images can be seen in 800x600 size |
|
| The function generating Julia and Mandelbrot sets is the easiest example you can find.
And yet, the Mandelbrot set is considered by some as the most complex mathematical object
known. All its proprieties have not yet been demonstrated. It was possible to establish
that the dimension of its boundary is 2, which is the biggest possible fractal
dimension for a structure whose surface is nil (but, curiously, it is not yet demonstrated
that this surface is nil, although this seems obvious, intuitively : Douady,
personal communication ; 1996). Many amateurs in fractal pictures use other functions. Some are only more or less complex modifications of Julia or Mandelbrot ones ; others are completely different. Fractint and more recent programs allow you to test without any problems practically all the new functions that can be imagined. Last detail : how can one check if the
function diverges for a point of the complex plane ? Here again I will limit
myself to Julia and Mandelbrot sets, but the principle can be applied to many other
functions. It consists in checking whether the modulus of z remains inferior
or equal to a reference value which, for the two sets chosen as example, is 2 (on this
point we will trust mathematicians). This is the bailout value.
|
|
|
|
| (notice that for extra speed in the calculations, it is easier to check that the square of the modulus is <= 4, trick used by Fractint). | |
![]()
| Theoretical information on other servers. | |||
![]() |
Home page | ||
|
|
My fractal album | ||
|
|
Last update : 10/02/03 |
||