Previous Up No next

Description of the Julia sets of the Cauliflower fractal

This page investigates the Julia sets of the Cauliflower fractal, which is a fractal generated by two linear translations with three parameters. The generated fractal can either be solid, connected, or disconnected. We show that two Julia sets consisting of the borders between these properties can be described by an infinite set of equations.


The Cauliflower fractal is called so, because it resembles the form of cauliflowers. When looking at a cauliflower, one can see that each of the smaller pieces resembles the form of the whole cabbage. Also if we rotate the cauliflower, we see the form repeated. This leads us to the conclusion that the whole form of the cauliflower can be described with two transformations.

The Cauliflower fractal is generated by two simple linear transformation in the plane. To be more precise two mappings of the unit circle in itself. One mapping, maps the unit circle to a smaller circle with radius b touching the unit circle. This represents the fact that a small piece of the cabbage on the outside has the same form as the whole cabbage. The other mapping, rotates and shrinks the unit circle into a circle which has the same centre as the unit circle with radius a, and rotated along the angle phi. This represents the fact that the rotated (and slightly shrinked) cauliflower looks the same as the original. Below is the cauliflower fractal for a is 0.8, b = 0.5, and phi = 140 degrees, drawn inside the unit circle.

The mathematical description of these two mappings, which we call f, and g is given by:

       / x \     / bx + 1 - b \       / x \     / 1 - b \
   f:  |   |  =  |            |  =  b |   |  +  |       |
       \ y /     \     by     /       \ y /     \   0   /

       / x \       | cos(phi)   sin(phi) | / x \
   g:  |   |  =  a |                     | |   |
       \ y /       | -sin(phi)  cos(phi) | \ y /

The cauliflower fractal L(a,b,phi) for 0<a<1, and 0<b<1 is the set of points (inside the unit circle) which is equal to union of the two sets of points which are made by the mappings f, and g. Or in mathematics:
    =       { f(p) | p in L(a,b,phi) }
      union { g(p) | p in L(a,b,phi) }
Depending on the values of a, b, and p, the resulting fractal will look more or less like a cauliflower.

The construction of the set of points L(a,b,phi) is not trivial, because the set is an infinite set (except for some rare cases). But it is possible to construct series of sets which get closer and closer to this set. It is obvious that the points (1, 0) and (0, 0) are in L(a,b,phi), as f maps (1, 0) on itself, and g maps (0, 0) on itself. And if we know that a point p is in L(a,b,phi), we also know that the points f(p), and g(p) are in L(a,b,phi). We can use this knowledge to create ever greater sets of points which are a subset of the set we are looking for.

One method is the so-called random-walk method, which can be easily implemented. The idea is that you start with the point (0, 0), and repeatedly apply one of the two mappings at random, to generate new point. These points are plotted immediately. An example, of a program which used this approach is the program kool.c, which I wrote. It is also possible to program this algorithm in the PostScript file

Another way of generating the points is a recursive method, which just finds all points starting from (0, 0), and (1, 0) after applying all possible combinations of the mappings until a certain maximum length has been reached. An example of this can be seen in the PostScript file

The above methods generate sets which are subsets of L(a,b,phi), but it is also possible to generate a series of smaller and smaller sets which enclose L(a,b,phi). It is clear, that L(a,b,phi) is inside the unit circle (except for the point (1, 0), which is on the unit circle). If Cu represents the unit circle, then we know that L(a,b,phi) is inside the union of Cf=f(Cu), and Cg=g(Cu). The same applies to the set of circles Cff=f(f(Cu)), Cgf=f(g(Cu)), Cfg=g(f(Cu)), and Cgg=g(g(Cu)), which one gets by applying the f, and g to the circles Cf, and Cg. An example of this can be seen in the PostScript file, which displays open circles. In the PostScript file a set of solid circles is generated, where all circles are smaller than a given dimension.


If both a, and b are small, all the point in L(a,b,phi) are standing apart. Although each point is surrounded by an infinite number of other points, it might seem if they are connected, but zooming in, will always show that they are not connected to each other. If a+2b is smaller than 1, it is obvious that the circles Cf, and Cg do not touch. This means that all the points of L(a,b,phi) can be divided in two groups, inside Cg, and Cg respectively, which are not connect. If we look inside circle Cf, we will see that the points inside this circle are all inside Cff, and Cgf, which are two circles which are also not touching each other. By this we can show that the condition a+2b<1 implies that L(a,b,phi) can be divided in any arbitrary number of sets of points, which are not connected. Algebraic conditions for L(a,b,phi) to be disconnected are given below

For other values of a, b, and phi, it can be shown that all the points in L(a,b,phi) are connect. Two points are considered connected if there exists an line of points between them. This line, which does not need to be straights, consists of an infinite number of points, which have a complete ordering. Furthermore, it must be possible to divide the line in segments, such that the points within each segment are arbitrary close together.

All combinations of a, b, and phi, for which L(a,b,phi) is connected, is also called the Julia set of the connected Cauliflower fractals.

In case L(a,b,phi) is connected, it can have area equal to zero, or larger than zero. When the values of a, and b are close to one, it is very likely that L(a,b,phi) has an area larger than zero. Such Cauliflower fractals will be called solid. For a2+b2<1, L(a,b,phi) cannot be solid. Algebraic conditions for L(a,b,phi) to be solid are given below. (It's clear that a disconnected Cauliflower fractal can not have area larger than zero.)

All combinations of a, b, and phi, for which L(a,b,phi) is connected, is also called the Julia set of the solid Cauliflower fractals.

The estimated area of the solid Cauliflower fractals is 2pi(Area(Cf) + Area(Cg) - 2pi) / Area(Cf intersection Cg).

Below characterizations for the two Julia sets of the Cauliflower fractal are presented. Firstly, simple algebraic conditions are given. Secondly, exact conditions are given.

Simple algebraic conditions

Here some simple algebraic conditions for which L(a,b,phi) is disconnected or solid are presented.

The remaining of this page needs to be (re)written


We list some conditions for which L(a,b,phi) is disconnected.

L(a,b,phi) is disconnected if:

and: with rho = arccos(-(1-acos(phi))/sqrt(a2-2acos(phi)+1)).


We list conditions for which L(a,b,phi) is solid.

For phi equals pi/2, L(a,b,phi) is solid if:

or: or:

For phi equals 2pi/k where k is a natural number greater zero, L(a,b,phi) is solid if:

For phi equals 2pil/k where l, and k are natural number greater zero, and gcd(l,k) = 1, L(a,b,phi) is solid if:

Where m is the smallest m, such that: ml = (k - 1) mod k.

And for the most general condition, L(a,b,phi) is solid if:


Exact conditions

Let H be the set of all mappings f, g, ff, fg, gf, gg, fff, and so on. If there exists h1, and h2 element of H, and p1, and p2 element of {(0,0), (1,0)}, such that f(h1(p1)) = g(h2(p2)), then L(a,b,phi) is connected.



home and email