2.52 Escher-Like Julia Sets
(type=escher_julia)
These unique variations on the Julia set theme, presented in The Science
of Fractal Images, challenge us to expand our pre-conceived notions of
how fractals should be iterated. We start with a very basic Julia
formula:
z(n+1) = z(n)^2 + (0, 0i)
The standard algorithm would test each iterated point to see if it
"escapes to infinity". If its size or "modulus" (its distance from the
origin) exceeds a preselected Bailout Test (p. 98) value, it is outside
the Julia set, and it is banished to the world of multicolored level
sets which color-cycle spectacularly. But another way of describing an
escaped point is to say that it is "attracted" to infinity. We make this
decision by calculating whether the point falls within the "target set"
of all points closer to infinity than the boundary created by the
bailout value. In this way, the "disk around infinity" is conceptually
no different from the disks around Finite Attractors (p. 185) such as
those used for Newton fractals.
In the above formula, with c = (0, 0i), this standard algorithm yields a
rather unexciting circle. But along comes Peitgen to tell us that "since
T [the target set] can essentially be anything, this method has
tremendous artistic potential. For example, T could be a so-called p-
norm disk ... or a scaled filled-in Julia set or something designed by
hand. This method opens a simple [beware when he uses words like that]
and systematic approach to Escher-like tilings."
So, what we do is iterate the above formula, scale each iteration, and
plug it into a second Julia formula. This formula has a value of c
selected by the user. If the point converges to this non-circular target
set:
T = [ z: | (z * 15.0)^2 + c | < BAILOUT ]
we color it in proportion to the overall iteration count. If not, it
will be attracted to infinity and can be colored with the usual outside
coloring options. This formula uses a new Fractint programming feature
which allows the use of a customized coloring option for the points
which converge to the target Julia set, yet allows the other points to
be handled by the standard fractal engine with all of its options.
With the proper palette and parameters for c, and using the Inversion
(p. 92) option and a solid outside color from the Color Parameters
(p. 128), you can create a solar eclipse, with the corona composed of
Julia-shaped flames radiating from the sun's surface.
If you question the relevance of these images to Escher, check out his
Circle Limit series (especially III and IV). In his own words: "It is to
be doubted whether there exist today many ... artists of any kind, to
whom the desire has come to penetrate to the depths of infinity....
There is only one possible way of ... obtaining an "infinity" entirely
enclosed within a logical boundary line.... The largest ... shapes are
now found in the center and the limit of infinite number and infinite
smallness is reached at the circumference.... Not one single component
ever reaches the edge. For beyond that there is "absolute nothingness."
And yet this round world cannot exist without the emptiness around it,
not simply because "within" presupposes "without", but also because it
is out there in the "nothingness" that the center points of the arcs
that go to build up the framework are fixed with such geometric
exactitude."
References:
Ernst, B. The Magic Mirror of M. C. Escher, Barnes & Noble, 1994, pp. 102-11.
Peitgen, H.-O. and Saupe, D. The Science of Fractal Images, Springer-Verlag,
1988; pp. 185, 187.