   # 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.

## Introduction

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:
```    L(a,b,phi)
=       { 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 random.ps.

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 dots.ps.

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 circles.ps, which displays open circles. In the PostScript file scircles.ps a set of solid circles is generated, where all circles are smaller than a given dimension.

## Characterization

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

### Disconnected

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

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

`b + api/phi < 1`
and:
```(abrho/phi(1+api/phi))2 < (1-b)2(a2-2acos(phi)+1) ```
with `rho = arccos(-(1-acos(phi))/sqrt(a2-2acos(phi)+1))`.

### Solid

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

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

`2a3b > 1`
or:
`a6b2 - 4(1-b) > 0`
or:
`a2b2 - 4(1-b) > 0`

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

```(ak-1b+2(1-b)cos(phi))2 - 4(1-b) > 0```

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:

```(am-1b+2(1-b)cos(phi))2 - 4(1-b) > 0```
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:

```D = (ab+2(1-b)cos(phi))2 - 4(1-b) > 0```
and:
``` ab+2(1-b)cos(phi)+sqrt(D) - 2aphi/(pi-phi)(1-b)/b > 0 ```

## 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
```

```