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.
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.
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.
For
For
For
And for the most general condition, Disconnected
We list some conditions for which L(a,b,phi)
is
disconnected.
L(a,b,phi)
is disconnected if:
and:
b + api/phi < 1
with (abrho/phi(1+api/phi))2 <
(1-b)2(a2-2acos(phi)+1)
rho = arccos(-(1-acos(phi))/sqrt(a2-2acos(phi)+1))
.
Solid
We list conditions for which L(a,b,phi)
is solid.
phi
equals pi/2
,
L(a,b,phi)
is solid if:
or:
2a3b > 1
or:
a6b2 - 4(1-b) > 0
a2b2 - 4(1-b) > 0
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
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 (am-1b+2(1-b)cos(phi))2
- 4(1-b) > 0
m
is the smallest m
, such
that: ml = (k - 1) mod k
.
L(a,b,phi)
is solid if:
and:
D = (ab+2(1-b)cos(phi))2
- 4(1-b) > 0
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.
Conclusion
Links
home and email