Enter
This website is a gallery of computer-generated fractal art as well as a text to explain what it is and how it is created. Gallery 2D mainly shows two-dimensional (2D) images given by the basic programming routines described in Stories about Fractal Plotting, while Gallery 3D comprises images generated by a variety of techniques based on college mathematics. The latter includes such 3D objects as fractal mountains and forests and fractals painted on various nonplanar surfaces. Here are examples:

  Symmetric Rocks in Desert

 Pyramid Escher-like Fern Mountains 

 Newton's Apple Seahorse Egg Broken Taiko Drum 

 Spider-Nest Mountains Shellfish 

 Copper Bowl Antique Vase  

  Tamarack Forest

Birdless Island 

and
Mandelbrot Moon Over Fractal Mountains


Copyright © 1997-2022 Junpei Sekino 
The website was last updated on October 1, 2022 

Digital Artist (Author's Profile): When Junpei Sekino was 10 years old he won first prize for the junior division in a national printmaking contest in Japan.
He now combines art and mathematics to create fractal art. ...from MathThematics, Book 3, Houghton Mifflin, 1998, 2008.
Stories about Fractal Plotting

Contents   Preparations: Canvases, Dynamical Systems and Iterations
The Divergence Scheme The Mandelbrot Set The Convergence Scheme
Mandelbrot Fractals Julia Fractals and Julia Sets Newton Fractals

Supplement  Fractal Coloring
Galleries  Gallery 2D Gallery 3D


Speaking loosely without using technical terms such as the Hausdorff-Besicovitch dimension, a fractal is an object that is self-similar, i.e., a large part of it contains smaller parts that resemble the large part in some way; see Figures 0.1-0.6 below. Mathematician Benoit Mandelbrot coined the term “fractal” in 1975 and created a branch of mathematics called fractal geometry seven years later. As an "IBM Fellow," he had access to some of the best computers available for his research at the time.

Our world has fractals everywhere exemplified by trees, mountains, blood vessels, mycelium strands, stock market graphs, weather patterns, seismic rhythms, ECG signals and brain waves. In its article entitled "How Mandelbrot's fractals changed the world," the BBC states that fractal geometry has practical applications in diverse areas including diagnosing some diseases, computer file compression systems and the architecture of the networks that make up the Internet.
 Figure 0.1. The Mandelbrot Set Figure 0.2. Julia Set Figure 0.3. Newton Fractal 


The idea of fractal was not particularly new in mathematics for Mandelbrot's time or the computer age, as Georg Cantor introduced the prototypical "Cantor Set" in 1883 almost 100 years before Mandelbrot published his book entitled "The Fractal Geometry of Nature." During the early 20th century, Pierre Fatou and Gaston Julia laid the foundations for fractals generated by "dynamical systems." It was in 1980 when Mandelbrot showed the famous fractal called the "Mandelbrot set" generated by a simple dynamical system and a computer. Almost immediately after that, the novelty and complexity of the Mandelbrot set reinvigorated the interests in fractals and stimulated mathematicians to develop further theories in fractal geometry.


Figure 0.4. Classical Fractals by Geometric Constructions


Koch Snowflake, 1904 Sierpinski Rectangle, 1916 Pythagorean Tree, 1942


On the other hand, chaos often associated with fractals, was basically born as a brand new subject in 1974 from biologist Robert May's computer simulations of population dynamics through the dynamical system called the
logistic equation. Like "fractal," the word "chaos" was used as a mathematical term for the first time in 1975 when the American Mathematical Monthly published "Period Three Implies Chaos" by T.Y. Li and James Yorke. The paper received a great sensation especially because there appeared very little difference between chaotic and random outcomes even though the former resulted from deterministic processes. It soon became known that fractals and chaos are closely related and together they provide applications in sciences as well as in art.


Figure 0.5.  Fractal Generated by the Logistic Equation




Through
Google, we find numerous websites that display stunningly beautiful computer-generated fractal art images. It indicates that a large population not only appreciates the digital art form but also participates in the eye-opening creative activity. Written below is a guide on how to program a computer and plot popular types of fractals generated by simple dynamical systems. It is not a text on computer programming or coding. Instead it tells the general principles needed for fractal plotting without going into too many specifics. It assumes the readers' basic programming experience and encourages them to be creative and engage in frequent computer experiments based on the essentials.

Particularly exciting is the moment the fractal image generated by our personal program emerges in our computer screen because of its rather chaotic and unpredictable nature. The reader who may be merely intrigued by the general idea behind fractal plotting is encouraged to try it. Many of the images will stir our imaginations in the part of mathematics that is in fact quite deep and still filled with unknowns. Best of all, though, it is plain fun.



§ 1.  Preparations

The readers who want to try it out need to know (a) fundamental algebra and geometry of complex numbers, (b) beginning calculus, and (c) basic computer programming in such languages as C++, Delphi (Pascal) and Java.

(a) includes the practice of writing a complex number z as a point (x, y) in the xy-plane as well as the standard algebraic expression z = x + yi and ability to do basic arithmetic of complex numbers such as multiplication, division and exponentiation. The complex plane means the set of all complex numbers z = (x, y) which coincides with the Cartesian xy-plane. For each complex number z = (x, y), the absolute value of z means |z| = √(x2 + y2) and it represents the distance of z from the origin O of the complex plane. More generally, if u and v are complex numbers, |u - v| represents the distance between u and v, which satisfies the triangle inequality

    |u - v| ≤ |u| + |v|.

Setting w = u - v, we get |w| ≤ |w + v| + |v|; hence, another way of writing the triangle inequality is

    |w + v| ≥ |w| - |v|.

(b) includes the basic ideas about the derivative and a critical point of a function where the derivative vanishes. Particularly important in (c) is a two-dimensional (2D) array of real numbers (usually nonnegative integers), which will be used every time a fractal is generated.


Figure 1.0.  Fractal Generated by the Mandelbrot Equation




We now introduce a few preliminary ideas needed for fractal plotting.

Dynamical Systems and Orbits: When we solve a mathematical problem using a computer, we usually do it by exploiting what the machine does best, namely an iteration, which means repeating a certain process over and over, often for thousands or even millions of times, at a blinding speed. To show an example of an iteration, consider the best-known equation in fractal plotting called the Mandelbrot equation

(1.1)     zn+1 = zn2 + p ,withn = 0, 1, 2, · · · ,

where zn+1, zn and p are complex numbers and p is called a parameter. The iteration index n is especially important for fractal plotting and it is there for us to iterate the equation to generate a sequence of complex numbers once the value of p and initial value z0 are given. For instance, let p = -2 and z0 = 0. Then setting the index n = 0, 1, 2, · · · in (1.1), our properly programmed computer iterates (1.1) and calculates the sequence of numbers

   z0 = 0,  z1 = z02 + p = 02 - 2 = -2 ,z2 = z12 + p = (-2)2 - 2 = 2 ,z3 = z22 + p = 22 - 2 = 2 , · · · ,

i.e.,  z0 = 0,  z1 = -2 ,z2 = 2 ,z3 = 2 , · · · ,  z30 = 2,  z31 = 2, · · · ,

which is called the orbit of p = -2 with the initial value z0 = 0 or the orbit of z0 = 0 with the parameter p = -2. If we hold the value of z0 at z0 = 0 and change the value of p from p = -2 to p = -1.9 in (1.1) then the computer again iterates (1.1) and calculates thousands of terms within a fraction of a second to give us

   z0 = 0,  z1 = -1.9,  z2 = 1.71,  z3 = 1.0241, · · · ,  z30 = -1.1626,  z31 = -0.5483, · · · ,

which is now the orbit of p = -1.9 with the initial value z0 = 0 (as well as the orbit of z0 = 0 with the parameter p = -1.9). Similarly, if we leave the value of p fixed at p = -2 and change the value of z0 from z0 = 0 to z0 = 0.1, we get

   z0 = 0.1,  z1 = -1.99,  z2 = -1.9601,  z3 = 1.842, · · · ,  z30 = 0.7157,  z31 = -1.4877, · · · ,

which is the orbit of z0 = 0.1 with the parameter p = -2.

Important Observations: The orbit of p (with the fixed initial value z0) may change its behavior drastically if the parameter value p changes slightly, and the orbit of z0 (with the fixed parameter value p) may change its behavior drastically if the initial value z0 changes slightly.

We have used only real numbers for simplicity, but the orbits used in fractal plotting are sequences of complex numbers in the complex plane. We have also shown that the Mandelbrot equation (1.1) is the set consisting of infinitely many orbits of complex numbers, one orbit zn for each choice of values of p and z0. Because most of the orbits dance around in the complex plane as the iteration index n increases, it is appropriate to call the Mandelbrot equation a dynamic mathematical system or dynamical system. As we shall see in § 5, there are infinitely many dynamical systems including (1.1) and the
logistic equation (5.3), each of which comprises infinitely many orbits and generates infinitely many fractals.


Figure 1.1.  Fractal Generated by the Logistic Equation

"A Million Pearls"


Canvases: We begin with a simple example. Let R be the rectangle in the complex plane defined by -2 ≤ x ≤ 2 and -1.28 ≤ y ≤ 1.28 and suppose we wish to plot the graph of the inequality x2 + y2 ≤ 1 on R using a computer. We first decompose R into, say, 50 × 32 miniature rectangles of equal size called picture elements or pixels and then represent the pixels by pixel coordinates (i, j) in such a way that the upper left and lower right pixels are (0, 0) and (49, 31), respectively. Thus, the i- and j-axes of the pixel coordinate system are the rays emanating from the upper left corner of R and pointing east and south, respectively; see the diagram in Figure 1.2 on the left.

Let imax = 50, jmax = 32, xmin = -2, xmax = 2, ymin = -1.28 and ymax = 1.28. Then for each i = 0, 1, 2, · · ·, imax-1 and j = 0, 1, 2, · · ·, jmax-1, the pixel (i, j), which is a rectangle, contains infinitely many complex numbers (x, y). For our computational purpose, we choose exactly one representative complex number (x, y) in the pixel (i, j) by setting


(1.2)    Δx = (xmax - xmin) / imax; Δy = (ymax - ymin) / jmax,

(1.3)    x = xmin + i Δx;  y = ymax - j Δy.

Consequently, we may view R as the rectangle comprising imax x jmax = 50 x 32 pixels, each of which has a unique representative complex number. The rectangle R with the pixel structure is called a canvas for plotting the output image with the image resolution of 50 × 32 pixels.

Plotting the graph of the inequality x2 + y2 ≤ 1 on the canvas is now easy. For each pixel (i, j), we examine its representative complex number (x, y) on the canvas R. If it satisfies the inequality, color the pixel red, and otherwise, color it white. Since the coloring process uses only finitely many pixels of the canvas R, the output image that resembles the Japanese flag is an approximation of the true graph. The greater the number of pixels, the higher the image resolution and the more accurate the output image.

Figure 1.2 shows two approximations of a fractal called "Goldfish in Love." The one on the left is painted on a canvas with 50 × 32 pixels and the other on a canvas with 500 × 320 pixels.


Figure 1.2. Fractal with Different Image Resolutions


Technically, a canvas can be defined by any positive integers imax and jmax and any real numbers xmin, xmax, ymin and ymax with  xmin < xmax and ymin < ymax, but we normally impose the ratio equality

(1.4)    (ymax - ymin)/(xmax - xmin) = jmax/imax

on the input values xmin, xmax, ymin and ymax. Then (1.4) implies that Δx = Δy in (1.2) so each pixel is a square as shown in Figure 1.2. This way the red circle in the aforementioned output would not look oval.

p-Canvases, z-Canvases and Fractal Plotting: We have seen that the
dynamical system (1.1) comprises infinitely many orbits zn of complex numbers, one for each choice of values of z0 and p, and that a canvas is a rectangle R in the complex plane consisting of pixels (i, j) each of which is represented by a unique complex number (x, y). In fractal plotting, we view the complex numbers representing the pixels as values of p and call the canvas R a p-canvas or view these complex numbers as values of z0 and call the canvas R a z-canvas.

Roughly speaking, we use the dynamical system (1.1) and plot a fractal on a p-canvas as follows: Choose a value of z0, say z0 = 0. For each pixel (i, j) on the p-canvas R, use its representative parameter p and (1.1) to generate the orbit of p with the fixed initial value z0 = 0. We then pick on certain behavior of the orbit and use it to color the pixel (i, j). As we have seen, the orbits from adjacent pixels on the p-canvas may have drastically different behaviors, which generally cause a dramatic color change in the image on the canvas; see, e.g., Figure 1.3 shown below.

Plotting a fractal on a z-canvas is similar: Choose a value of p, say p = -2. For each pixel (i, j) on the z-canvas R, use its representative parameter z0 and (1.1) to generate the orbit of z0 with the fixed parameter value p = -2. We then pick on certain behavior of the orbit and use it to color the pixel (i, j).

Preview of Upcoming Sections: In § 2 and § 4, we have detailed discussions of the plotting method on a p-canvas outlined above. In § 5, we extend the method to a more general dynamical system and call the resulting fractal a Mandelbrot fractal on a p-canvas. In § 6, we discuss a Julia fractal, which is painted on a z-canvas instead. There is a special subset of the Julia fractals consisting of fractals generated by so-called "Newton's rootfinding method." The fractals in the subset are called Newton fractals and are covered in § 7. Here are some of the sample fractals:



Figure 1.3.  Mandelbrot Fractal on a p-Canvas

"Jellyfish" by the Dynamical System zn+1 = zn2 + p with z0 = 0




Figure 1.4.  Mandelbrot Fractal on a p-Canvas

"Mini Mandelbrot Sets" by the Dynamical System zn+1 = zn3 + zn + p with z0 = i/√3




Figure 1.5.  Julia Fractal on a z-Canvas

"Partying Cuttlefish" by the Dynamical System zn+1 = zn2 + p
with p = (0.25000316374967, -0.00000000895902)



Figure 1.6.  Julia Fractal on a z-Canvas

"Dancing Beans" by the Mandelbrot Equation zn+1 = zn2 + p
with p = (0.262, 0.5701)



Figure 1.7.  Julia Fractal on a z-Canvas

"Lion" by the Mandelbrot Equation zn+1 = zn2 + p
with p = (0.282311250, 0.012143125)




Figure 1.8.  Julia Fractal on a z-Canvas

"Dancing Seahorses" by the Logistic Equation zn+1 = p(1 - zn) zn
with p = (3.0237615, 0.1)




Figure 1.9.  Julia Fractal on a z-Canvas

"Running Corolla" by the Mandelbrot Equation zn+1 = zn2 + p
with p = (-1.1128, 0.23076)




Figure 1.10.  Julia Fractal on a z-Canvas

"Dancing Seahorses" by the Dynamical System zn+1 = zn(zn2 + p)
with p = (-1.022, 0.14846)




Figure 1.11.  Newton Fractal on a z-Canvas with Different Colorings

"Crab Shell"




Figure 1.12.  Newton Fractal on a z-Canvas

"Garden"




Figure 1.13.  Newton Fractal on a z-Canvas

"Firefly Forest"




Figure 1.14.  Newton Fractal on a z-Canvas and a Sphere

"Barn Owl"



The fractal plotting guide shown in this article is intended for people who have taken elementary calculus, but people with a background in multivariable calculus can extend it and make their own projects. One of the possibilities is to map a fractal from the plane to various surfaces such as a sphere and a torus. We will throw in 3D examples like the one shown above on the right here and there in the upcoming sections.




Back to the Top



§ 2.  The Divergence Scheme

We say that a sequence zn of complex numbers diverges to ∞ if the real sequence |zn| diverges to ∞, i.e., if zn gets further away from the origin of the complex plane without bound as n gets larger. Our goal of § 2 is to introduce a fractal plotting technique, called the Divergence Scheme, associated with the notion of divergence of
orbits of complex parameters p using the Mandelbrot set as an example.


Figure 2.0. Fractal Generated by the Divergence Scheme




Let us view the complex plane as the set of (complex) parameters p, and for each p in the complex plane, define a function fp of a complex variable by setting fp(z) = z 2 + p. Since p is a constant in each fp, its derivative is fp'(z) = 2 z, showing that the critical point of fp is z = 0 for every p,

Write the dynamical system
(1.1) as

(2.1)   zn+1 = fp(zn) = zn2 + p

and set

(2.2)   z0 = 0,

which is the critical point of fp. Thus, for each p, (2.1) together with (2.2) constitutes the
orbit zn of p with the initial value z0 = 0. Because its initial value is the critical point, we call the orbit the critical orbit of p. Throughout § 2 - § 4, we assume that every orbit zn is a critical orbit of p satisfying (2.1) and (2.2).

Here is the surprisingly simple definition of the best known object in fractal geometry:

The Mandelbrot Set means the set of all parameters p in the complex plane whose (critical) orbits do not diverge to ∞.

Basic (Topological) Property of the Mandelbrot Set:  We wish to show that the Mandelbrot set is bounded by the circle of radius 2 about the origin in the complex plane. The property plays a crucial role in developing our plotting method for the Mandelbrot set and other fractals. Suppose p is a parameter that lies outside of the circle, i.e., |p| > 2. Then (2.1) and (2.2) imply

(2.3)   |z1| = |p| ≥ |p|,

hence, by the
triangle inequality, we have

(2.4)   |z2| = |z12 + p| ≥ |z1|2 - |p| ≥ |z1|2 - |z1| ≥ |z1|( |z1| - 1) ≥ |z1|( |p| - 1) = α|z1| ≥ α|p|,

where α = |p| - 1 > 1 (because |p| > 2). Since |z2| ≥ α|p| ≥ |p|, we may repeat the argument from (2.3) to (2.4) to get

(2.5)   |z3| ≥ |z2|( |z2| - 1) ≥ α|p|( |p| - 1) = α2|p|.

Repeating the argument n times, we get |zn+1| ≥ αn|p|. Since α > 1, it follows that the orbit zn of p given by (2.1) diverges to ∞; hence, p does not belong to the Mandelbrot set. Thus, if p is in the Mandelbrot set, then p must be in the circle of radius 2, or equivalently, the Mandelbrot set is bounded by the circle, as was to be shown.

It can be also shown that the Mandelbrot set is closed in the complex plane, which means that it contains its boundary as its subset (like a "closed" interval on the real line). We say that the Mandelbrot set is compact in the complex plane to mean that it is closed and bounded.

Figure 2.1. The Mandelbrot Set


With zm > θ, θ = 2


With zm > θ, θ = 10
We have shown that if p is outside of the circle of radius 2, then its orbit zn immediately moves to outside of the circle at n = 1 and diverges to ∞.

What happens to the orbit zn of p if p is on or inside of the circle of radius 2? In § 6, we
prove that if |zm| > 2 for some m, then the orbit zn diverges to ∞. Thus, regardless of where p is located, we have the following theorem, which turns out to be extremely useful in fractal plotting:

The Divergence Criterion:|zm| > 2 for some m if and only if the (critical) orbit zn of p diverges to ∞.

Remark: The divergence criterion allows us to say alternatively that the Mandelbrot set is the set of all parameters p whose (critical) orbits stay within the circle of radius 2 about the origin forever.

The rest of § 2 is devoted to plotting the whole or a part of the Mandelbrot set on a
canvas. Suppose R is a square canvas bounded by xmin = -2, xmax = 2, ymin = -2 and ymax = 2, which contains the circle of radius 2. Suppose also R comprises 2,000 × 2,000 = 4,000,000 pixels, and regard R as a p-canvas so each pixel (i. j) in the canvas is identified with a unique parameter p.

The Divergence Scheme: Plotting (an approximation of) the Mandelbrot set on the p-canvas turned out to be almost as simple as the definition of the Mandelbrot set. Paint the entire canvas R, say, white initially, and let M = 1000 and θ = 2. For every pixel (i. j), er parameter p, in the p-canvas R, iterate (2.1) with (2.2) at most M times and paint the canvas R as follows:

  •   If |z1| > θ then color the pixel p black ,
  • else if |z2| > θ then color the pixel p red ,
  • else if |z3| > θ then color the pixel p black ,
  • · · ·
  • else if |zM| > θ then color the pixel p red .

  • Thus, the above scheme assigns the color, red or black, to each pixel p in the p-canvas R according to how quickly the orbit zn of the parameter p escapes from the circle of radius θ = 2 before taking a long journey toward ∞.

    Here, the least (or first) iteration index m such that |zm| > θ is referred to as the escape time for the orbit with threshold θ. For example, if p is outside of the circle of radius θ = 2, then |z1| = |p| > θ and the orbit zn of p escapes from the circle right away, causing the pixel p to be painted black. We call the process summed up by the above
    if-statement the divergence scheme, so as to contrast it with the convergence scheme, which we will introduce in § 4,

    If we run a computer program based on the above red-black divergence scheme, we get Figure 0.1 as its (resized) output image, in which the circle of radius θ = 2 is visible. The portion that retains the white canvas color and resembles a "snowman" figure is precisely the approximation of the Mandelbrot set plotted on the canvas by replacing "forever" (or ∞) in the alternative definition by "up until M = 1000."

    The first of the two images in Figure 2.1 shows a closeup of the Mandelbrot set. We generally omit the word "approximation" for simplicity, understanding that almost all computer plots in mathematics are approximations of some objects.

    Now, simple logic shows that the divergence criterion remains true if we replace 2 by any real number θ ≥ 2, and it implies that the divergence scheme is valid for any θ ≥ 2. The second image in Figure 2.1 is given by increasing the threshold from θ = 2 to θ = 10. It shows that its red-black stripes very near the boundary of the Mandelbrot set are slightly more intricate than in the first image but shows hardly any difference in the shape of the Mandelbrot set.

    The accuracy of a computer plot of the Mandelbrot set on a
    canvas with a predetermined canvas size depends mostly on the maximum number of iterations M and slightly on the threshold θ. If M gets greater, the output image generally gets more accurate but with "diminished returns" while it significantly increases the computing time; see the errors in computation. So, given a relatively small threshold such as θ = 2 and θ = 10, what is the optimum value of M? Unfortunately, there are no set formulas for it, but we can find a good enough number through computer experiments. It gets easier quickly, as it is similar to figuring out the amount of time needed to reheat a cup of coffee in a microwave oven.

    The Divergence Scheme with Iteration Array: To make the divergence scheme a little more versatile, suppose R is a p-canvas, θ ≥ 2 and M a maximum number of iterations. For each pixel (i. j), er parameter p, in R, suppose zn is the orbit of p, and define

    (2.6)  d(i, j) = the least (or first) iteration index m < M such that |zm|2 > θ2,

    if such m exists, and d(i, j) = M, otherwise. Here, the inequality |zm|2 > θ2 is equivalent to |zm| > θ but without the "hidden" square root operation and is intended to shorten the computing time. Thus, each d(i, j) is nothing but the
    escape time for the orbit with threshold θ unless it is M. The formula (2.6) generates a two-dimensional (2D) array d(i, j) of nonnegative integers over the canvas R, which we call the array of the least iteration indices or the iteration array for short.

    We also note that if we incorporate the iteration array into the divergence scheme, the awkward if-statement is converted to the clearcut statement:

    Color each pixel (i, j) red if d(i, j) is even and black if d(i, j) is odd.

    The additional and more important advantage in using the divergence scheme with the iteration array is that the array can be saved in a hard disk and converted to more colorful fractals in many different ways through our
    fractal coloring techniques. On the left is an example of the process in which the complement (or exterior) of the Mandelbrot set is painted by colors that change from black to red gradually.

    For this reason, the divergence scheme henceforth means the divergence scheme with the iteration array.

    Zooming In On Local Images: Going back to
    Figure 2.1, we note that the red-black stripes of the computer plots get more and more complex without bound when the stripes get nearer the boundary of the Mandelbrot set. This presages the astounding fact we'll discuss in the next section:

    (☆)  No object in the 2D plane is more complex than the boundary of the Mandelbrot set.

    Because the Mandelbrot set is
    closed, it contains its boundary as a subset, which implies that the Mandelbrot set itself is one of the most complex objects in the plane, despite the fact that it can be defined by a simple sentence and plotted by a simple algorithm.

    Using (☆) as a guide, we can capture the complex nature and possibly the beauty of the Mandelbrot set by zooming in on a small rectangular neighborhood of a point near or on the boundary of the Mandelbrot set. The rectangle has its edges that are parallel to the coordinate axes of the complex plane and is used as a canvas, on which the output image by the divergence scheme is painted.

    Example 1:  The image shown below on the left is a "local" image of the Mandelbrot set given by zooming in on a microscopic rectangular neighborhood of the point (-0.6884971875, 0.27988465625), which is just outside of the Mandelbrot set but very near its boundary. It is given by the divergence scheme with a coloring scheme, which is similar to the one used to paint the "global" Mandelbrot set shown above. The global image hides infinitely many detailed local images.


    Figure 2.2. A Local Image of the Mandelbrot Set Generated by the Divergence Scheme






    People who are familiar with multivariable calculus may extend the project of plotting a fractal on a plane to another surface such as a sphere. The next example provides a little more technical details for zooming.

    Example 2:  Figure 2.3 is a cropped and resized image from a computer plot on a large p-canvas with 6,400 × 3,200 pixels centered at the complex number (0.2820607, 0.011014375) with the horizontal radius 0.0000011. M = 100,000 is the maximum number of iterations used to generate the pre-colored
    iteration array (2.3) over the large canvas.

    The part of the Mandelbrot set shown in the image comprises the pixels (i, j) with d(i, j) = M and is painted black and the rest in multiple colors using our coloring routine. Figure 2.3 shows several (deformed) replicas of the "snowman," which we call mini Mandelbrot sets. They look like small isolated islands but as we'll find out in the next section, they are actually connected to the Mandelbrot set by razor-thin "filaments" belonging to the boundary of the Mandelbrot set.


    Figure 2.3.  Another Local Image of the Mandelbrot Set




    The zooming process can be repeated on a local image like Figure 2.3 shown above to capture additional local images. Having the "parent" local image on a large canvas works well for it as well as for making a high resolution printout of the image. For example,
    Figure 1.0 and Figure 2.0 are given by zooming in on microscopic rectangles in Figure 2.3 and applying the divergence scheme with different colorings.

    This and That:  (1) Here, we show that the zooming process is fairly easy. Use graphic software such as Photoshop and place the mouse cursor on the point on the "parent image" we want to zoom in on and get its pixel coordinates (i, j). Then use the
    conversion formulas (1.2) and (1.3) to convert the pixel coordinates to the Cartesian coordinates (x, y). This can be done by a simple computer program. The complex number (-0.6884971875, 0.27988465625) used in Example 1, for instance, is in Cartesian coordinates thus obtained and there is no mystery involved in it.

    (2) We have seen that a larger threshold θ generally provides a similar or slightly better output image provided that the maximum number of iterations M is sufficiently large. This fact can be used for the following situations. When we use a dynamical system other than the Mandelbrot equation (2.1) or a noncritical point for the initial value to explore wider fractal plotting possibilities, we may not know what threshold to use in the divergence scheme and a larger threshold is more likely to provide a solution. But be careful: Increasing the threshold also increases the computing time without notably improving the output image. There is a good reason why Mandelbrot used the smallest threshold θ = 2 in plotting the Mandelbrot set in the 1970s when the computers were much slower.



    .

    § 3.  The Mandelbrot Set

    The Mandelbrot set was introduced to the world in 1980 by Mandelbrot through his computer-generated images, and since then, numerous articles about it have appeared in major journals, magazines and newspapers. In 2008, NOVA said on PBS that the Mandelbrot set had become the most famous object in modern mathematics. We will see some of the reasons for the fame in § 3, § 4 and § 6, including the fact that it is one of the most complex objects on the two-dimensional plane.

    Recall that the Mandelbrot set is closed so it contains its boundary as its subset. Although it may not sound obvious unless we know something about
    fractal dimensions, the following celebrated theorem guarantees that no figures on the plane are more complex than the Mandelbrot set.

    Shishikura's Theorem: The fractal dimension of the boundary of the Mandelbrot set is 2, which is the (ordinary) dimension of the plane.


    Let's pause for a moment and look at the fractal in Figure 2.3, for example, in which a part of the Mandelbrot set is visible. The intricate image surely looks impressive, but exactly where is the boundary of the Mandelbrot set and what does it have to do with the colorful patterns?

    It turned out that the boundary of the Mandelbrot set is all over the image as we can see in Figure 3.1 given by darkening the entire Figure 2.3 and lighting up its razor-thin filaments:


    Figure 3.1.  The Boundary of the Mandelbrot Set in Figure 2.3




    The boundary of the Mandelbrot set in the rectangular area is vividly self-similar and composed of replicas of a large part of the image. Through the self-similarity, we can see it contains infinitely many mini Mandelbrot sets painted black, although most of them are too small to be visible. The luminous filaments of the boundary of the Mandelbrot set get so dense around them, it fills many areas of the plane like a space-filling curve. The observation provides us with an intuitive idea as to why the "fractal dimension" of the boundary of the Mandelbrot set is equal to the dimension of the plane and why it is equated with the complexity of the Mandelbrot set.

    The self-similarity in Figure 3.1 seems to show that the Mandelbrot set with its complex boundary is connected as one piece, and it turns the complement (outside) of the Mandelbrot set into an extremely convoluted maze. If we are shrunk to a pixel size and trapped in the maze, can we get out of the maze? The following theorem answers these questions definitively. Here, a set is simply connected if it has no loop to trap anybody in it.

    The Douady-Hubbard Theorem: The Mandelbrot set is connected and simply connected.


    According to "Mandelbrot Set" by Wikipedia, Mandelbrot initially conjectured (but later revised) that the Mandelbrot set was disconnected as he could not detect the thin filaments connecting different parts of the set in his computer-generated images. It also says: The mathematical study of the Mandelbrot set really began with work by the mathematicians Adrien Douady and John H. Hubbard, who established many of its fundamental properties and named the set in honor of Mandelbrot for his influential work in fractal geometry.

    There is an interesting read entitled "Who Discovered the Mandelbrot Set?" published in 2009 by Scientific American. It writes: Douady now says, however, that he and other mathematicians began to think that Mandelbrot took too much credit for work done by others on the set and in related areas of chaos. "He loves to quote himself," Douady says, "and he is very reluctant to quote others who aren't dead."

    "Daytime" and "Nighttime" Fractals:  Shown below on the left is another fractal generated by the Mandelbrot equation (2.1) and the divergence scheme, where the thin filaments of the boundary of the Mandelbrot set are colored black and invisible. When its colors are darkened and the thin filaments are lit up, we get the "nighttime" image on the right, vividly showing the presence of the Mandelbrot set in the "daytime" image on the left.


    Figure 3.2.  "Daytime" and "Nighttime" Fractals




    Figure 3.2 shows that fractals given by the Mandelbrot equation we normally see are daytime images like the image on the left and painted on the complement of the Mandelbrot set. The nighttime images are not as colorful but they make it easier for us to visualize the important theorems established by Shishikura, Douady and Hubbard.

    Plotting the complex boundary of the Mandelbrot set with reasonable accuracy may demand weeks of computing time even with a fast modern computer. Figure 3.3 shown below is a resized image from a fractal on the p-canvas with 4,000 × 4,000 pixels centered at the point

    p = (0.25000316374967, -0.00000000895902)

    with a microscopically small radius ≈ 0.0000000000001 = 10-13.  We note that p is very near the cusp (0.25, 0) of the cardioid in
    Figure 2.1.


    Figure 3.3.  A Mini Mandelbrot Set under the Microscope


    M = 1,500,000 M = 500,000


    For the above image on the left, we used whopping 1,500,000 iterations of the Mandelbrot equation for each black pixel because of ∞ involved in the definition of the Mandelbrot set. If we use M = 500,000 (still a large number) instead, the outline of the mini Mandelbrot set becomes blurry as shown in the above picture on the right. Fortunately, computers (especially used ones) are inexpensive nowadays and we can easily afford a second or third computer to do tedious jobs. Programming carefully so as to minimize computing time is not as important as it used to be.

    Shown below is a nighttime fractal that reveals the boundary of the mini Mandelbrot set of Figure 3.3. The Mandelbrot set certainly appears to be connected in the image but does it look simply connected?


    Figure 3.4.  The Boundary of the Mini Mandelbrot Set




    Errors in Computation:  Aside from programming bugs and other human errors, fractal plotting entails two unavoidable errors, each of which contributes to a loss of mathematical precision in the output. One is the truncation error resulting from "truncating" the infinite process after the finite number of steps given by M and the other is the roundoff error caused by our "imperfect" computer that has to round almost every real number involved. For the images in this website, M is usually between 500 and 100,000 but it occasionally gets as large as 1,500,000 as shown in Figure 3.3. Using larger M is better in theory as it reduces the truncation error but is worse in practice as it makes the computing time longer and at the same time causes more roundoff errors to propagate. Balancing the good and the bad to find an optimum number M is a difficult problem in computing. Although it is not an issue if our goal is in art, it is something we should keep in our mind. Computers are great tools for mathematical research but they mislead us from time to time.





    § 4.  The Convergence Scheme

    We are not done yet with the complex nature of the Mandelbrot set and still stay with it. In § 3, we discussed the boundary of the Mandelbrot set, but we now turn our attention to its interior, which is, by definition, the Mandelbrot set minus its boundary.

    The Mandelbrot set has become so illustrious, everybody interested in fractals knows its "snowman" shape by heart. To its main body, which is a heart-shaped "cardioid," a bunch of circular disks are attached, and to each of these disks another bunch of disks are attached. The fractal pattern repeats as if the cardioid has children, grandchildren, great grandchildren and so on and so forth; see e.g.,
    Figure 2.1.

    This already shows an amazing structure of the interior of the Mandelbrot set, but unfortunately, the divergence scheme cannot distinguish its basic components—the interiors of the disks and cardioids—and paints them in a single color like black or white as we saw in § 2. Our current goal is to find their distinct mathematical properties and paint them in various colors, like in Figure 4.1 below, by developing a different algorithm called the "convergence scheme."

    Atoms and Molecules: Before proceeding further, let's use the Mandelbrot's idea shown in his
    article as a cue and call the interior of each disk or cardioid an atom and anything made up of atoms a molecule. For example, in Figure 4.2, we see three molecules composed of atoms, each of which is painted red, orange, green, purple or blue. Calling the basic objects "atoms" turns out to be especially convenient, as we will see objects made up of a wide variety of shapes in addition to disks and cardioids in the upcoming sections. Like in chemistry, we will also see that atoms are associated with "orbits" and "periods" (but in different ways). For example, each of the red "rose petals" shown in Figure 5.0 is an atom of period 21.


    Figure 4.1.  The Mandelbrot Set




    Cycles and Periods: A sequence cn of complex numbers is called a cycle if there is a positive integer k satisfying cn = cn+k for any index n. The smallest such integer k is called the period of the cycle, and a cycle with period k is called a k-cycle for short. For example, the sequence

        1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, · · ·

    is a 3-cycle but not a 6-cycle or a 9-cycle. The sequence  0, 0, 0, 0, · · ·  is a 1-cycle, which we identify with the constant 0.

    A sequence zn is said to converge to a k-cycle cn provided that zn gets arbitrary close to cn as n gets bigger, or more precisely, for any real number ε > 0, there is an integer N > 0 such that n ≥ N implies |zn - cn| < ε.

    Example: The sequences  1/2, 1/3, 1/4, 1/5, 1/6, · · ·  and  1/2, 2/3, 3/4, 4/5, 5/6, · · ·  converge to the constants 0 and 1, or equivalently, to the 1-cycles 0, 0, 0, 0, · · ·  and  1, 1, 1, 1, · · ·,  respectively. Therefore, the sequence

        1/2, 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 4/5, 1/6, 5/6, · · ·, 1/1000, 999/1000, 1/1001, 1000/1001, · · ·

    converges to the 2-cycle 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, · · ·, 0, 1, 0, 1, · · ·.

    The Convergence Scheme: Suppose k is a positive integer, ε a (small) real number, zn the (critical) orbit of a parameter p given by
    (2.1) and (2.2), and cn a k-cycle so cn+k = cn for any n. If zn converges to cn then for sufficiently large n, |zn - cn| < ε/2 and |zn+k - cn+k| < ε/2, hence, by the triangle inequality, we have

        |zn+k - zn| = |(zn+k - cn+k) - (zn - cn)| ≤ |zn+k - cn+k| + |zn - cn| < ε/2 + ε/2 = ε.

    Thus, we have

    Proposition: If the orbit zn converges to a k-cycle then |zn+k - zn| < ε for sufficiently large n.

    Figure 4.2. The Convergence Scheme


    With k = 1



    With k = 1, 2, 3, 4


    With k = 1, 2, 3, ..., 90

    Our new algorithm called the convergence scheme with period index k is as simple as the
    red-black divergence scheme of § 2 and is given by replacing the inequality |zm| > θ  by the inequality |zm+k - zm| < ε that appears in the above proposition. Thus, for each pixel (i, j), er parameter p, on the p-canvas R and its orbit zn, it is given by:

  •   If |z1+k - z1| < ε then color the pixel p col1,
  • else if |z2+k - z2| < ε then color the pixel p col2,
  • else if |z3+k - z3| < ε then color the pixel p col3,
  • · · ·
  • else if |zM+k - zM| < ε then color the pixel p colM.

  • Here, col1, col2, ... , colM are prescribed colors such as shades of red that vary from light to dark and ε is a small positive real number like 10-6, Δx or Δy; see
    (1.2). Like the maximum number of iterations M, we use an educated guess based on our computer experiments to find an appropriate ε that depends on factors like the canvas size; see the accuracy of a computer plot.

    To make the algorithm a little more convenient, we follow the path in § 2 and define a new iteration array on the p-canvas R comprising pixels (i, j) by

    (4.1)  d(i, j) = the least (or first) iteration index m < M such that |zm+k - zm| < ε,

    if such m exists, and d(i, j) = M, otherwise; compare (4.1) with (2.3).

    Just like the divergence scheme of § 2, the convergence scheme with period index k henceforth means computing the iteration array and converting it to a visual image on the canvas by our coloring routines.

    For simplicity, let's call a parameter whose orbit converges to a k-cycle a parameter of period k and an
    atom comprising parameters of period k an atom of period k. With that we have:

    Example 1: Figure 4.2 shows three resized images cropped from the output images of various convergence schemes. Here, the p-canvas R is the rectangle in the complex plane with center (-0.52, 0) and horizontal radius 1.65 and comprising 3,000 × 2,500 pixels. For the large canvas size, we use M = 20000 and ε = 10-8.

    The first image is given by the convergence scheme with period index k = 1, which shows that the interior of the cardioid is an atom of period 1 and paints it (by subtle shades of) red.

    The second image is given by the convergence scheme with period indices k = 1, 2, 3, 4, which is basically defined by the convergence scheme with period index (cswpi) k = 1 followed by the cswpi k = 2 followed by the cswpi k = 3 followed by the cswpi k = 4. It shows that the interior of the largest disk is an atom of period 2 and paints it orange. Similarly, the green and purple atoms are of periods 3 and 4, respectively.

    The third image is given by a straightforward extension of the scheme described in the preceding paragraph. Because there aren't enough colors that are easily distinguishable, the correspondence between the periods and colors of the atoms is not one-to-one. For example, the atoms of periods 2 and 5 are painted orange in the third image.

    Example 1 shows that the convergence scheme may mean the convergence scheme with a single period index or multiple period indices.

    To avoid making it cluttered, the descriptions in Example 1 highlight only the important ideas and do not include bits and pieces of technical details used in the computer program. For example, the convergence scheme is applied only on the upper half of the Mandelbrot set, which is symmetric about the real axis of the complex plane, so as to shorten the computing time. The omissions also include fairly easy subroutines used to get around the problems described below:

    Weakness of the Convergence Scheme: The convergence scheme is based on the aforementioned proposition, whose converse is unfortunately not necessarily true. As a result, the convergence scheme with period index k = 1, for example, may be fooled by an orbit that diverges to ∞ extremely slowly and treat it like a convergent orbit, regardless of the size of ε. Also, the convergence scheme with, say, period index 6 cannot distinguish parameters of periods 1, 2, 3 and 6 that are divisors of 6. For most of the practical problems, however, we can overcome these shortcomings by carefully programming a computer to do the right thing.

    The "Eyeball" Effect: The shortcomings like the ones described above may not be all that bad as they can occasionally add unexpected and artistic effects on the output. Even a programming bug can create a beautiful output image sometimes and helps us discover interesting ideas. The picture shown below on the left is essentially the same as
    Figure 3.3 and is given by the divergence scheme alone, while the one on the right is painted by the convergence scheme with period index k = 1 in addition to the divergence scheme (using different colors). The "eyeballs" painted by the convergence scheme are caused by its weakness of confusing some of the slowly divergent orbits as convergent. The images show which parameters are affected. Figure 1.5 illustrates the "eyeballs" more vividly.


    Figure 4.3.  The Eyeball Effect (Right) Given by the Convergence Scheme




    Mini Mandelbrot Sets: The images displayed below are parts of the Mandelbrot set of Figure 4.2 painted on the large canvas, and they show not only elaborately aligned circular atoms but also several mini Mandelbrot sets that look like little flying insects. Looking at his 1980's black and white computer printout of the Mandelbrot set, Mandelbrot initially thought they were "dirt."


    Closeups of the Interior of the Mandelbrot Set




    The dirt turned out to be well structured molecules, of course, and each of the molecules is made up of the atoms of periods

    (4.2)  k = λ × 1, λ × 2, λ × 3, λ × 4, · · · ,

    for some positive integer λ ≥ 2. For example, the most visible mini Mandelbrot set in the above closeups is near the largest green atom and it is associated with λ = 4 = 3 + 1, where 3 happens to be the period of the green atom. Similarly, the mini Mandelbrot set seen near the largest purple atom is associated with λ = 5 = 4 + 1 and the period of the purple atom is 4.

    Figure 4.4 shows the mini Mandelbrot set with λ = 4. It is computed by the convergence scheme with period indices k = 4, 8, 12, ..., 100 and is painted by the coloring scheme used for the Mandelbrot set of
    Figure 4.2. Thus, the cardioid atom of the mini Mandelbrot set has period 4 and is painted red, for example. Here's one more technical detail: For the convergence scheme with k = 4, 8, 12, ..., 100, we used the variable maximum number of iterations

    (4.3)  M = 20000 - 150k,

    rather than a constant like M = 20000. It is a waste of computer time to allow M = 20000 for a tiny atom like the one with period k = 60.


    Figure 4.4.  The Interior and Boundary of Mini Mandelbrot Set




    Artist's Rendering: We saw earlier an approximation of the Mandelbrot set in an image like
    Figure 2.1 and a more colorful version in Figure 4.1. The latter is an artist's rendering of the Mandelbrot set rather than its approximation, because its definition says nothing about atoms and periods. In fact, almost all images in this website, especially those that involve the convergence scheme, are artist's renderings of certain mathematical objects. Shown below are additional artist's renderings of the Mandelbrot set.


    Figure 4.5.  "Mandelbrot Platters"




    Periodicity Diagram: If we label the atoms of the Mandelbrot set in
    Figure 4.2 by their periods instead of coloring, we get Wikipedia's Periodicity Diagram. The periods in the diagram have interesting numerical patterns that are easy to recognize and will play an important role when we plot colorful "Julia fractals" in § 6. The numerical patterns are yet another amazing property of the Mandelbrot set.





    § 5.  Mandelbrot Fractals

    Soon after Mandelbrot published its computer plot in 1980, the Mandelbrot set became so popular that a great many digital artists, mathematicians and computer programmers have explored around it and shown their fractal images on a variety of objects including posters, book covers, T-shirts, coffee mugs and webpages. Although the hidden beauty of the Mandelbrot set is inexhaustible, it has become quite a challenge to unearth newer patterns from the Mandelbrot equation (2.1) using available computers and software. Consequently, a creative work such as the image shown below calls for a modification of the Mandelbrot equation (2.1), and there are infinitely many formulas available for it.


    Figure 5.0.  "Mini Mandelbrot Set with Roses"




    For each parameter p, suppose fp is any nonlinear elementary function of a complex variable z containing a parameter p and c a (complex) constant. We call a fractal given by a dynamical system of the form

    (5.1)   zn+1 = fp(zn)

    a Mandelbrot fractal of z0 = c if it is painted on a p-canvas using the orbits zn of p belonging to (5.1) with the initial values z0 = c. For example,
    Figure 4.1 is a Mandelbrot fractal of z0 = 0 given by the dynamical system (2.1) and represents an artist's rendering of the Mandelbrot set. The initial value for each orbit is often a critical point of fp as in the case of the Mandelbrot set but it is not a requirement.


    Figure 5.1.  "The Mandelbrot Set (Shot) with Arrow"




    The comical image shown above is a Mandelbrot fractal of z0 = i / √3 given by the cubic dynamical system

    (5.2)   zn+1 = fp(zn) = zn3 + zn + p ,

    where the initial value z0 is one of the two conjugate critical points ± i / √3 of fp. We also note that an
    atom may no longer resemble a disk or a cardioid and instead may look like an arrowhead from the stone age with jagged edges. It has a variety of molecules as well and they include the interior of "Giant Mandelbrot Set" (who was shot by the arrow) and the interior of "Toddler Mandelbrot Set" (who released the arrow at the giant) seen near the right edge of Figure 5.1 like an isolated island. We name some of the molecules and areas partly for fun but mainly for necessity as we will be talking about them several times on the website.

    The origin (0, 0) of the complex plane is at the tip of the arrowhead in Figure 5.1, which is actually given by rotating the original output 90o counterclockwise about the origin to have it better fit in the webpage. In the image called "Arrowhead Bay" shown below, the origin coincides with the upper left corner and the red zones adjacent to the upper edge and the left edge belong to the "Giant Mandelbrot Set" and the arrowhead, respectively. Thus, the upper and left edges are parts of the real and imaginary axes in the standard orientation of the complex plane, as illustrated in the image.


    "Arrowhead Bay"


    Like the Mandelbrot set, the "Giant Mandelbrot Set" contains infinitely many circular atoms that satisfy the numerical pattern of the periodicity diagram, and the circular atoms include the largest and the second largest blue atoms in "Arrowhead Bay" whose periods happened to be 7 and 8, respectively. Note that the "seaweed" around the blue atom of period 7 contains "seven-finger" branches, and likewise for the "seaweed" around the atom of period 8.

    We also observe that the boundary of the "Giant Mandelbrot Set" shown in "Arrowhead Bay" contains infinitely many extra atoms that look like tropical fish tangled with the "seaweed." These atoms all have period 1 and are apparently connected to the "Giant Mandelbrot Set" by its boundary (called "seaweed").

    Interestingly, the fish-like atoms begin to disintegrate near the circular atom of period 6, which is at the mouth of "Arrowhead Bay," and they become extinct near the circular atom of period 5, which is located just outside of the bay. The boundary of the "Giant Mandelbrot Set" near the circular atom of period 5 is depicted in the image shown below. It shows no signs of fish but it still encloses numerous mini Mandelbrot sets. Unlike the Mandelbrot set, however, the boundary now appears to be disconnected.






    We now examine some of the molecules found in Figure 5.1 starting with an area near its right edge. Here is a closeup of the "Toddler Mandelbrot Set" shown in the standard orientation of the complex plane.


    Figure 5.1(A).  "Toddler Mandelbrot Set"




    Compared to the
    Mandelbrot set, the "Toddler Mandelbrot Set" has a proportionately larger head (like a toddler) and its boundary gets broken into pieces that look like stars in a christmas tree. The interior of the "Toddler Mandelbrot Set" is painted by the convergence scheme with period indices k = 2, 4, 6, ..., 50 and the colors matched with the colors of the Mandelbrot set. Thus, the red atom has period 2, while the largest circular atom painted orange has period 4. The period of an atom will play an important role when we plot "Julia fractals" in § 6. "Green Monster" is such an example born from the cardioid atom near its cusp.

    Not surprisingly, fractals we find around the boundary of the "Toddler Mandelbrot Set" are similar to those found near the Mandelbrot set. Here's one of them, which can be used as a night sky of 3D landscapes such as "Mandelbrot Moon" in Gallery 3D.






    Another area in
    Figure 5.1 that provides a rich fishing ground for attractive fractals is in and around the blue molecule located between the arrowhead and "Toddler Mandelbrot Set" that looks like a pair of balloons. We call it "Broken Balloons" because of its "bursted lips" with jagged edges and small fragments; see the image shown below. It is generated by the convergence scheme with period indices k = 3, 6, 9, ..., 60. Like the cardioid body of the Mandelbrot set, we again painted the atoms of the smallest period 3 red.


    Figure 5.1(B).  "Broken Balloons"




    The three fractals shown below are given by zooming in on microscopic rectangles near "Broken Balloons" and are generated by the divergence scheme alone. Like "Broken Balloons," "Cheetah" is a Mandelbrot fractal of z0 = i/√3 ≈ 0.57735i, which is painted on a p-canvas centered at the complex number (0.04886516, -1.20677998). "Elephant" is a Mandelbrot fractal of the noncritical point z0 =0.53i, which seems to have an effect of simplifying the output fractal. The p-canvas is centered at (0.092504, -1.1722) and "Rhino" is a local image of "Elephant."


    "Cheetah"



    "Rhinoceros" "Elephant"




    Figure 5.1 also contains two "Squished Mandelbrot Sets," each of which has a "bursted" cardioid. The molecule can be seen near the left edge of Figure 5.1, but its magnified image shown below uses different colors. It is generated by the convergence scheme with period indices k = 3, 6, 9, ..., 60 with k = 3 corresponding to the red atoms, just like in the "Broken Balloons."


    Figure 5.1(C).  "Squished Mandelbrot Sets"




    "Squished Mandelbrot Sets" break down near the "bursted" cardioids and the flying fragments provide interesting fractals. For example,
    Figure 5.0 shown at the outset of this section is given by zooming in on microscopic rose-shaped fragments in a p-canvas centered at p = (0.04978, 1.094143) and by the convergence scheme with period index k = 21 = 7 × 3.

    Recall that
    Figure 5.1 is a Mandelbrot fractal of z0 = i / √3, which is a critical point of fp in (5.2), and it turned out that the Mandelbrot fractal of the conjugate critical point z0 = - i / √3 given by the same fractal plotting process is the mirror image of Figure 5.1 through the real axis. If we superimpose the two mirror images, we get a surprising results as shown in Figure 5.1(D): The big arrowhead in one image fits perfectly in the cardioid body of the "Giant Mandelbrot Set" in the mirror image and the lips of the "Broken Balloons" in Figure 5.1(B) are beautifully repaired by the "Squished Mandelbrot Sets" of Figure 5.1(C).


    Figure 5.1(D).  The "Giant Mandelbrot Set" with the "Mandelbrot Balloons"




    In § 6 where we deal with the "Julia fractals," we will talk more about the superimposed Mandelbrot fractals by the dynamical system (5.2) as it represents an ideal example in analyzing and applying the important "Fatou-Julia Theorem."

    The logistic equation which became famous with the advent of "chaos" in 1975 happens to be a "close cousin" of the Mandelbrot equation as we will also see in the next section and known to produce fractals similar to those generated by the Mandelbrot equation. Consequently, it tends to be overlooked in fractal plotting, but we should still explore it with full interests. Getting just the right shapes and colors in fractal plotting is very often a chance encounter due to its chaos-related sensitivity and we get a better chance when we engage in a wide range of computer experiments.

    The Logistic Equation: In 1838 Pierre Verhulst introduced a differential equation called the "logistic equation," which became a widely used mathematical model for population dynamics. If we replace the derivative in the equation by its approximating difference quotient and do some algebra, we get the following formula that is more suitable for computer applications:

    (5.3)   zn+1 = fp(zn) = p(1 - zn) zn .

    It is again called the logistic equation (or logistic map) and is equally applicable in the population dynamics when the variables are restricted to real numbers.

    If we expand its variable and parameter to complex numbers and apply the divergence and convergence schemes on the critical orbits of p with the fixed initial values z0 = 0.5, we get the following Mandelbrot fractal. For convenience, we call the entire molecule with its boundary the logistic set, which is defined just like the Mandelbrot set.


    Figure 5.2. The Interior and Boundary of the Logistic Set




    The origin (0, 0) of the complex plane coincides with the center of the red circular atom on the left but not the intersection point of the figure 8, which is the point (1, 0). The real axis of the complex plane is the horizontal line through the two straight antennas of the logistic set and the right-hand antenna coincides with the closed interval [α, 4] on the real axis with α ≈ 3.57.

    The intersection point of the largest and second largest circular atoms near the right-hand antenna is (3, 0), and we call the area directly above the point "Elephant Bay." The next four images are Mandelbrot fractals of the noncritical point z0 = 0.1 of fp from "Elephant Bay."


    Figure 5.3. Mandelbrot Fractals of z0 = 0.1 by the Logistic Equation










    We can also find numerous mini Mandelbrot sets including the one shown below in "Elephant Bay." Here, the critical point z0 = 0.5 is used. Note that the
    daytime and nighttime fractal images have surprisingly different patterns.


    Daytime and Nighttime Mini Mandelbrot Set by the Logistic Equation




    In 1974, while conducting a computer simulation of certain population changes, biologist Robert May discovered "very complicated orbits" of z0 given by the logistic equation and p belonging to the aforementioned closed interval [α, 4]. It led us to the concept of chaos, which began to develop in 1975, the year in which Mandelbrot coincidentally coined the term fractal. In 1993, a chaotician appeared in Steven Spielberg's hit movie, "Jurassic Park," tacitly suggesting a possibility of chaos in the controlled dinosaur populations.

    So, it is natural that we plot Mandelbrot fractals of the dynamical system (5.3) by zooming in on the interval [α, 4]. Figure 5.3 is one of them and uses a noncritical point z0 = 0.1 (10% of the sustainable population of, say, an insect species) as the fixed initial value for the orbits of p.


    Figure 5.4.  "Spring Reflection"




    By the way, people familiar with multivariable calculus might find a fun project in mapping an image like Figure 5.4 on surfaces like the ones shown below. We can see more examples of this sort in
    Gallery 3D.






    The next three images are Mandelbrot fractals given by the dynamical system shown below, which we call the third degree logistic equation for convenience:

    (5.4)   zn+1 = fp(zn) = p(1 - zn2) zn .


    Figure 5.5.  The Third Degree Logistic Set




    Figure 5.6.  "Moray Eels"




    Figure 5.5, which is a global image, is given by critical orbits whose initial value z0 is the critical point 1/√3 of the function fp, while the two local images of Figure 5.6 are given by noncritical orbits with the initial values 0.1 and 0.5, respectively. The little circular atoms of the global image are deformed and cracked like eggs by the use of the noncritical orbits and give birth to interesting figures like the ones shown in Figure 5.6. These figures often have strong resemblance to "Julia sets" born from the atoms, which we'll discuss in the next section.

    Shown below is a Mandelbrot fractal given by the seventh degree Mandelbrot equation

    (5.5)   zn+1 = fp(zn) = zn7 + p

    painted on a plane and a torus.


    Figure 5.7.  Seventh Degree Mini Mandelbrot Set






    § 6.  Julia Fractals and Julia Sets

    Recall that a Mandelbrot fractal is generated by a dynamical system of the form
    (5.1) with a fixed initial value z0 and painted on a p-canvas, where each pixel is identified with a parameter p. A fractal is called a Julia fractal of p if it is given by a dynamical system of the same form with a fixed parameter p and painted on a z-canvas, where each pixel is identified with an initial value z0. As we saw in § 1, each initial value z0 on the z-canvas generates a sequence of complex numbers called the orbit of z0 (with the fixed parameter p) belonging to (5.1), and the orbits play a central role in generating a Julia fractal of p.

    Julia Fractals by the Mandelbrot Equation:  Just as we did earlier, we begin our discussion with the familiar Mandelbrot equation

    (6.1)  zn+1 = fp(zn) = zn2 + p,

    where p is a fixed parameter. Let's regard the complex plane as the set of initial values z0 for the orbits zn belonging to (6.1) with the fixed parameter p. By the filled-in Julia set of p, we mean the set of all initial values z0 in the complex plane whose orbits zn do not diverge to ∞. Because the definition of the filled-in Julia set is almost identical to the
    definition of the Mandelbrot set, we expect that the divergence and convergence schemes are applicable in plotting Julia fractals on a z-canvas that are approximations as well as artist's renderings of a filled-in Julia set.

    Example 1(A) Figure 6.1(A) shows a Julia fractal, which we call "Hydra with Eleven Heads," depicting (an artist's rendering of) the filled-in Julia set of the parameter p = (-0.68938, 0.27896) belonging to an atom of period 11 in the Mandelbrot set; see the periodicity diagram. The green/blue "Hydra" is painted on a z-canvas centered at the origin of the complex plane by a straightforward application of the convergence scheme with period index k = 11 and its background by the divergence scheme with the threshold θ = 2; we will explain the threshold value a little later.

    It is another fascinating fact about the Mandelbrot set that the period of (the atom containing) the parameter p is always reflected in the shape of the filled-in Julia set of p, like the number of Hydra's heads, but why it is so is not completely understood. If the parameter p is chosen from an atom not directly attached to the main caridoid of the Mandelbrot set, or if it is chosen from an atom in the mini Mandelbrot set, the outcome can get much more interesting.


    Figure 6.1(A).  The Filled-in Julia Set of p = (-0.68938, 0.27896)

    "Hydra with Eleven Heads" born from an atom of period 11


    The following explains the reason why the divergence scheme with the threshold θ = 2 is used in Example 1A. First, suppose |p| ≤ 2, i.e., p is in the
    circle that contains the Mandelbrot set, because, as we quickly find out, the filled-in Julia set is uninteresting unless p is in or near the Mandelbrot set, Suppose also θ ≥ 2 and that zn is an orbit of z0 belonging to (6.1) such that |zm| > θ for some m. Then by (6.1) and the triangle inequality, we have:

       |zm+1| = |zm2 + p| ≥ |zm|2 - |p| ≥ |zm|2 - |zm| = |zm|(|zm| - 1) = α|zm|,

    where α = |zm| - 1 > θ - 11. In particular, we have |zm+1| ≥ α|zm| > |zm| > θ, allowing us to repeat the above argument once again to get

       |zm+2| = |zm+1|(|zm+1| - 1),  i.e.,  |zm+2| ≥ α|zm|(|zm| - 1) = α2|zm|.

    Repeating the argument μ times, we get |zm+μ| ≥ α μ|zm|, showing that the sequence |zm+μ| diverges to ∞ as μ increases. It is now easy to prove:

    The Divergence Criterion:  If θ ≥ 2, then |zm| > θ for some m if and only if the orbit zn diverges to ∞.

    As in § 2, this justifies the use of the divergence scheme with the threshold θ ≥ 2; also see
    this and that (2).

    By the Julia set of p, we mean the boundary of the filled-in Julia set. It dictates the mathematical complexity of the filled-in Julia set like the boundary of the Mandelbrot set and is named after Gaston Julia, who was one of the two main pioneers of fractals generated by dynamical systems of complex numbers along with Pierre Fatou. The Julia sets are closely related to the Mandelbrot set by the following beautiful theorem, which is an immediate consequence of the Fatou-Julia theorem we'll discuss a little later.

    The Dichotomy Theorem: The Julia set of p is either a connected (one-piece) set or a Cantor set. The Julia set of p is connected if and only if p belongs to the Mandelbrot set.

    Here, a Cantor set or Cantor dust means a set of infinitely many "totally disconnected" points with a fractal structure. It was named after Georg Cantor, the pioneer of set theory, who discovered the early form of a fractal in 1883. For example, the boundary (outline) of "Hydra with Eleven Heads" in the preceding example is a Julia set of p = (-0.68938, 0.27896). Because p belongs to the Mandelbrot set, the Julia set is connected and composed of razor-thin filaments rather than disconnected points that form Cantor dust.

    Example 1(B) Figure 6.1(B) shows a Julia fractal called "The Hydra's Ash," which is generated by the divergence scheme with the threshold θ = 2 and which depicts (an artist's rendering of) the Julia set of p = (-0.6891, 0.27896). The parameter p is very near the parameter for "Hydra with Eleven Heads" but lies in the exterior of the Mandelbrot set. Hence, the Julia set forms Cantor dust.



    Figure 6.1(B).  The Julia Set (Cantor Dust) of p = (-0.6891, 0.27896)

    "The Hydra's Ash"


    Example 2  The Julia fractal shown below is (an artist's
    rendering of) the filled-in Julia set of p = (0.281215625, 0.0113825) belonging to an atom of period 68 = 17 × 4. The atom is attached to an atom of period 17 which is attached to the cardioid atom of the Mandelbrot set near its cusp; see the periodicity diagram. The filled-in Julia set named "Red Lion" is painted by the convergence scheme with period index 68 = 17 × 4 and its colorful background by the divergence scheme with the threshold θ = 2.


    Figure 6.2(A).  The Filled-in Julia Set of a Parameter of Period 17 × 4

    "Red Lion" born from an atom of period 17 × 4



    Like the boundary of "Hydra with Eleven Heads," the boundary (outline) of "Red Lion" is the Julia set of p composed of razor-thin filaments that are mostly invisible. If we darken the whole image in Figure 6.2(A) shown above and light up the thin filaments, we get the "
    nighttime fractal" shown below.


    Figure 6.2(B).  The Julia Set of the Parameter of Period 17 × 4




    The Julia set vividly illustrates its (topological) complexity associated with its parameter of a fairly large period. Because the parameter belongs to the Mandelbrot set, the razor-thin filaments of the Julia set are, by the dichotomy theorem, connected. The Julia set is, therefore, akin to a very fine line drawing from a coloring book and we get a Julia fractal such as "Red Lion" by simply coloring the line art.

    The next filled-in Julia sets called "Twin Lions" are given by parameters belonging to an atom of period 85 = 17 × 5, which is attached to the aforementioned atom of period 17. Both factors 17 and 5 are clearly visible in the image. The curling directions of the mane of "Twin Lions" are opposite to each other and depend on the locations of the parameters in the atom.


    Figure 6.2(C).  The Filled-in Julia Sets of the Parameter of Period 17 × 5


    "Twin Lions" born from the same atom of period 17 × 5



    Example 3 (Jordan Curve and "Devil's Stepping Stones"): We now move from (topologically) complex Julia sets to one of the (topologically) simplest Julia sets. The filled-in Julia set and the Julia set shown below are given by a parameter chosen from the main cardioid atom of the Mandelbrot set that has period 1. We call the filled-in Julia set "Devil's Stepping Stone" of Period 1. We borrowed the name, "Devil's Stepping Stones," from Mandelbrot, who used it to describe the mini Mandelbrot sets lined up on the main antenna of the Mandelbrot set.


    Figure 6.3.  The Filled-in Julia Set and Julia Set of a Parameter of Period 1

    "Devil's Stepping Stone" of Period 1 Jordan Curve 



    The Julia set shown on the right is known to be a non-self-intersecting continuous loop in the plane called a Jordan curve. The
    Jordan curve theorem states that a Jordan curve divides the plane into two parts, a bounded region called "interior" and an unbounded region called "exterior." The theorem seems utterly obvious from a typical image like the one shown above, but the Julia set as a Jordan curve can get extremely convoluted if the parameter gets arbitrarily close to the boundary of the cardioid. In fact, the proof of the Jordan curve theorem is far from obvious and provides one of the fascinating topics in mathematics.

    Recall that a mini Mandelbrot set we discussed earlier comprises atoms of periods λ × 1, λ × 2, λ × 3, ... for some positive integer λ ≥ 2 and λ represents the period of its main cardioid atom. Note that λ = 1 is the period of the main cardioid atom of the Mandelbrot set. If p is a parameter of period λ ≥ 2 belonging to the cardioid atom of the mini Mandelbrot set, we call the filled-in Julia set of p "Devil's Stepping Stones" of period λ.

    For example, let p = (-0.1581, 1.03545), which belongs to the main cardioid atom of period λ = 4 of the Mini Mandelbrot set in Figure 4.4. The image shown below illustrates "Devil's Stepping Stones" of period 4. The greenish "stepping stones" are plotted by the convergence scheme with period index k = 4 and the rest by the divergence scheme with the threshold θ = 2.


    Figure 6.4.  "Devil's Stepping Stones" of Period 4




    "Devil's Stepping Stones" can be extremely complex if its period is very large. In such a case, the convergence scheme is impractical and the divergence scheme is used to paint the "stepping stones" in a single color like black. For example,
    Figure 1.5 contains infinitely many black "Devil's Stepping Stones" connected by razor-thin filaments of the Jula set that dictate the colorful pattern. Between the "eyes" of each "cuttlefish," there is a tiny black "stepping stone" and there are infinitely many cuttlefish. Note that Figure 1.5 is essentially the same as the second image of Figure 6.5 shown below.

    Similarities of Mandelbrot and Julia Fractals: Although the precise reason is unknown except at so-called
    Misiurewicz points, we note that in many cases Mandelbrot and Julia fractals from the Mandelbrot equation have striking similarities locally if they are generated by equal parameters.

    For example, let p0 = (0.25000316374967, -0.00000000895902), which belongs to the interior of the cardioid of the mini-Mandelbrot set in the image shown below on the left. In particular, p0 does not belong to the boundary of the Mandelbrot set; hence, it is not a Misiurewicz point. Also, because of the dichotomy theorem, the Julia set of p0, which is the boundary of "Devil's stepping stones" shown on the right, is connected.

    The image on the left shown below is a Mandelbrot fractal given by the critical orbits and plotted on a p-canvas centered at the parameter p0 while the image on the right is a Julia fractal of p0 painted on a z-canvas centered at the origin. Their striking resemblance shows that a Julia set can be as complex as the boundary of the Mandelbrot set locally.


    Figure 6.5.  "Partying Cuttlefish" by the Mandelbrot Equation


    Closeup of "Partying Cuttlefish"




    Julia Fractals by the Logistic Equation:  If p is a parameter in the complex plane, we define the filled-in Julia set of p for the
    logistic equation (5.3) just as before and the Julia set of p to be again the boundary of the filled-in Julia set. For example, let p = (2.994915, 0.1), which belongs to the red atom of period 1 in the logistic set near "Elephant Bay." Then the image shown below is a Julia fractal depicting (an approximation of) the Julia set of p.


    Figure 6.6(A). The Julia Set of a Parameter of Period 1 in the Logistic Set




    As we will show, the Julia set by the logistic equation can be generated by the Mandelbrot equation, so it is again a
    Jordan curve that has well-defined "interior" and "exterior." The Julia fractal shown below is an artist's rendering of the filled-in Julia set of p called "Circus Elephant." The interior of the Julia set is colored by the convergence scheme with period index 1.


    Figure 6.6(B).  The Filled-in Julia Set depicting "Circus Elephants"




    For another example, let p = (3.0014564, 0.08), which belongs to "Elephant Bay" and outside of the logistic set. The image shown below is a Julia fractal painted by the divergence scheme that depicts the Julia set of p. As shown below, the dichotomy theorem applies on the Julia set given by the logistic equation and confirms that it is Cantor dust. The image emerges very quickly on a computer screen—within less than one thousandth of runtime used for the image in Figure 6.6(B).


    Figure 6.6(C).  Cantor Dust depicting "Circus Elephants"




    We briefly mentioned in § 5 that the logistic equation (6.2) is a "close cousin" of the Mandelbrot equation. More precisely, there is a simple change of variables which transforms the logistic equation into a special form of the Mandelbrot equation and vice versa. It implies, for example, that all Julia sets generated by the logistic equation can be generated by the Mandelbrot equation. To see it, write the
    logistic equation (5.3) as

    (6.2)  ζn+1 = q(1 - ζn) ζn ,

    and reserve zn and p for the Mandelbrot equation

    (6.3)   zn+1 = zn2 + p,

    where p and q are constant parameters. Suppose there are constants a and b such that

    (6.4)   zn = a ζn + b,

    for all n, so we can write (6.3) as

         a ζn+1 + b = (a ζn + b)2 + p.

    Multiplying out the right-hand side and solving the equation for ζn+1 , we get

         ζn+1 = - a ζn(-2b/a  -   ζn) + (b2 - b + p)/a.

    Comparing the last line with (6.2), we get -a = q, -2b/a = 1 and b2 - b + p = 0, or equivalently, a = -q and b= q/2  and

    (6.5)   p = q(2 - q)/4 .

    Thus, the formula (6.4) that changes the variables is defined and it transforms the logistic equation (6.2) into the Mandelbrot equation (6.3) with the constant parameter p satisfying (6.5). It implies that the Julia set of q given by (6.2) is the same as the Julia set of p given by (6.3) with p satisfying (6.5). The same is true for the filled-in Julia sets.

    For example, the image shown below on the left is a Julia fractal of the parameter q = (3.02382, 0.1) given by the logistic equation (6.2) and the image on the right is a Julia fractal of the parameter

          p = q(2 - q)/4 ≈ (-0.771462, -0.101191)

    given by the Mandelbrot equation (6.3). The images are painted by exactly the same
    coloring routine and exhibit geometrically the same Julia sets and filled-in Julia sets. As we can see in Figure 6.7, the artist's renderings of the filled-in Julia sets, called "Dancing Seahorses" turned out to be a little different and (inadvertently) provide us with two interesting options.


    Figure 6.7.  "Dancing Seahorses" by the Logistic and Mandelbrot Equations




    The parameter q = (3.02382, 0.1) belongs to the orange atom of period 2 in the logistic set adjacent to "Elephant Bay" and is transformed by (6.5) to the parameter p belonging to the orange atom of the Mandelbrot set of period 2. Here is the Julia set of p of period 2, which is the same as the Julia set of q bounding "Dancing Seahorses." It is (topologically) more complex than the Jordan curve of Figure 6.6(A).


    Figure 6.8. The Julia Set of a Parameter of Period 2




    The transformation by the change of variables actually goes both ways: If we solve the quadratic equation (6.5) for q, we get

    (6.6)    q = 1 ± √ (1 - 4 p),

    so the Mandelbrot equation (6.3) with parameter p can be written as a special form of the logistic equation (6.2) with q replaced by the right-hand side of (6.6) with either sign of ±. For example, the image shown below on the left is a Julia fractal of p = (-0.6069, 0.4147) given by the Mandelbrot equation (6.3) and the image on the right is a Julia fractal of the parameter

        q = 1 + √ (1 - 4 p) ≈ (2.902038, -0.436059)

    given by the logistic equation (6.2). Again their artistic patterns painted by the same coloring routine are a little off, but they have geometrically the same Julia sets.


    Figure 6.9.  "Blue Roses" by the Mandelbrot and Logistic Equations




    Because of the two-way transformations between the Mandelbrot and logistic equations, we often say that these equations are conjugate of each other. "Dancing Seahorses" and "Blue Roses" exemplify the fact that the conjugate dynamical systems share geometrically the same Julia fractals. In light of the similarities of Mandelbrot and Julia fractals by the Mandelbrot equation (and by the logistic equation), it is not surprising if many of the Mandelbrot fractals generated by two dynamical systems also have similar appearances.

    A fractal artist should not be discouraged, however, from venturing into the logistic equation and other quadratic dynamical systems that are conjugate to the Mandelbrot equation. In fractal plotting, getting just the right shapes and colors is often a chance encounter due to its chaos-related sensitivity and we have better chances if we engage in wider computer experiments. If we lose our computer program or recipe for a certain fractal image, it would be nearly impossible to reproduce it again or produce its local images by zooming.

    The Fatou-Julia Theorem:  The concept of Julia set naturally extends from a quadratic dynamical system such as the Mandelbrot equation to a more general dynamical system (5.1), but a lot of things about it are still in mystery and belong to experimental mathematics by the use of computers. Here's a fascinating and useful fact however. Gaston Julia and Pierre Fatou independently proved the theorem shown below in 1918-1919 way before the computer era.

    Theorem:  Consider a dynamical system of the form


    (6.7)   zn+1 = fp(zn) =   cm znm +  cm-1 znm-1· · · + c2 zn2 +  c1 zn +  p ,

    where m is an integer ≥ 2 and cm, cm-1, · · ·, c2, c1 are complex constants.  Then the Julia set of p is connected if and only if every critical orbit of p stays within a finite bound. Furthermore, if every critical orbit of p diverges to ∞, then the Julia set of p is a Cantor set.

    In case of the Mandelbrot equation (6.1),  fp has just one critical point. Hence, each parameter p corresponds to a unique critical orbit, which either stays within a finite bound or diverges to ∞. It stays within a finite bound if and only if p belongs to the Mandelbrot set, and consequently, the Fatou-Julia Theorem implies the
    Dichotomy Theorem as a corollary.

    If fp of (6.7) has two or more critical points, the situation may become much more interesting. Consider for example, the cubic dynamical system (5.2) with two critical points ± i/√3. For simplicity, let A be the set of parameters whose critical orbits with the initial value i/√3 stay within a finite bound and B the same with the initial value -i/√3. A is depicted by Figure 5.1 and B is the mirror image of A through the real axis. As we saw in Figure 5.1(D), A and B have interesting relations when they are superimposed.


    Figure 6.10.  "Venn Diagram" of A and B




    In Figure 6.10 which is a pseudo Venn Diagram, the union AB is painted by colors other than black and the intersection A∩B by colors other than black and green. Thus, the black zone is the complement of AB denoted by [AB]c and the green zone is the symmetric difference AΔB = AB - A∩B, which plays the role not seen in the Dichotomy theorem. Note that "Venn diagram" quickly gets a lot more complex if fp has three or more critical points. For the above diagram, the Fatou-Julia theorem implies:

    (1)  If p belongs to A∩B then the Julia set of p is connected (and conversely);
    (2)  if p belongs to [AB]c then the Julia set of p is a Cantor set;
    (3)  if p belongs to AΔB, then the Julia set of p is disconnected (and may not be a Cantor set).

    For example,
    Figure 0.2 shown at the outset of this website is a Julia fractal of p = (0.185, 0.00007666) belonging to A∩B, and hence, the filled-in Julia set of p, called "Twin Dragons," is connected. The next three images show topologically different "twin dragons."


    Figure 6.11.  "Twin Dragons" of p = (0.2011575, 0.00002) in A∩B



    p = (0.21828, -0.00230) in [AB]c p = (0.2176, 0.0128) in AΔB



    The last two "twin dragons" are, respectively, a Cantor set and a disconnected Julia set which is not a Cantor set. The imaginary components of the parameters show that all "twin dragons" come from an area of "Venn diagram" that is near the real axis. "Twin dragons" of parameters lying on the real axis are symmetric about the center vertical line.

    Recall that "Broken Balloons" is a molecule comprising atoms of periods k = 3 × 1, 3 × 2, 3 × 3,  · · · .  It can be seen near the right edge of "Venn diagram" and intersects both A∩B and the symmetric difference AΔB.

    "Blue Rose" shown below is a Julia fractal of a parameter p belonging to an atom of period 3 × 7 in "Broken Balloons." p also belongs to A∩B, so the numerous "blue roses" seen in the image are connected by the "stems." We can clearly see the number 7 in the picture but where do we see the number 3 ? Hint: "Devil's Steppingstones."


    Connected "Blue Rose" of p = (0.02912, -1.093853) in A∩B




    "Blue Rose" shown below is a Julia fractal of p belonging to an atom of period 3 × 4 in "Broken Balloons."  p also belongs to AΔB, so the Julia set is disconnected, which we can see in the broken "stems." Note that the Julia set is not a Cantor set. Where in the picture do we see the number 3 ?


    Disconnected "Blue Rose" of p = (0.07761, -1.12427) in AΔB




    "Lions" and "Elephants" also pop up along with many other shapes in and around "Broken Balloons."  The next three images are the Julia sets of parameters belonging to [AB]c near "Broken Balloons, so they are all Cantor sets.


    The Julia Set of p = (0.0144, -1.192) in [AB]c




    p = (0.087, -1.1848) in [AB]c p = (0.092, -1.1728) in [AB]c




    "Toddler Mandelbrot Set" seen near the right edge of Figure 5.1 belongs to AΔB but it is omitted from "Venn diagram."  Recall that it comprises atoms of periods k = 2 × 1, 2 × 2, 2 × 3, · · · . It also produces a great many attractive fractals but they are naturally very similar to the fractals coming out from the Mandelbrot set—except that they are all disconnected as "Toddler Mandelbrot Set" belongs to AΔB. For example, the image which is shown below and resembles the "Hydra" of Figure 6.1 is a Julia fractal of p = (0.00399109,-1.98545775) belonging to an atom of period 2 × 13. It contains numerous dots in its background, each of which contains a "baby hydra."


    "Hydra with Thirteen Heads" born from an Atom of "Toddler Mandelbrot Set"




    Here's another monster, this time born from the cardioid atom of period 2 × 1 in "Toddler Mandelbrot Set" near its cusp.


    "Green Monster" born from an Atom of "Toddler Mandelbrot Set"




    Julia Fractals by Other Dynamical Systems: The images shown below are Julia fractals generated by the
    third degree logistic equation (5.4) zn+1 = fp(zn) = p(1 - zn2) zn. The dancers are lined up a little differently from the ones shown in Figure 6.7.


    Figure 6.12.  "Dancing Seahorses" by the Third Degree Logistic Equation

    p = (1.18, 0.376) p = (1.1565, 0.3688)


    Here is another dancer from the fifth degree logistic equation, zn+1 = fp(zn) = p(1 - zn4) zn. The Julia set is emphasized in the nighttime fractal on the right.


    Figure 6.13.  "Dancing Bouquet" by the Fifth Degree Logistic Equation






    § 7.  Newton Fractals

    A Julia fractal is called a Newton fractal if it is given by a dynamical system of the form

    (7.1)   zn+1 = zn - g(zn)/g'(zn)

    where the parameter p = 0 is invisible and g is an elementary function with its derivative g'. Although g is a function of a complex variable, the familiar rules of differentiation in high school calculus hold for g. In this website, g is almost always a polynomial which allows us to take advantage of the time-saving scheme called
    Horner's Method to efficiently evaluate both g and g' that appear in the dynamical system. Horner's method is nothing but "synthetic division" taught in high school algebra, and it should be interesting for the reader to see how (differently) it is applied in computer programming.

    The reader may have noted already that the dynamical system (7.1) is nothing but the Newton-Raphson Root-Finding Algorithm, aka Newton's Method. Hence, each orbit of (7.1) converges to a root of g quickly more often than doing something else, and it allows us to plot most of the Newton fractals by the convergence scheme (with period index k = 1) alone with a relatively small maximum number of iterations like M ≤ 500.

    Furthermore, if we know all the roots of g prior to the fractal plotting, we can modify the convergence scheme fairly easily so as to add more colors to Newton fractals of g; see Example 1 below. Because a Newton fractal is a Julia fractal, a "canvas" and an "orbit" always mean a z-canvas and an orbit of z0, respectively, in this section.

    Example 1 (Roots of Unity): Among all attractive Newton fractals, probably the simplest to plot are given by a polynomial of the form

        g(z)  =  z d -  1

    as its roots are readily available by hand calculations or Googling "roots of unity."

    Figure 7.1.  Newton Fractals of g(z)  =  z 5 -  1



    The image on the left is a Newton fractal for g(z)  =  z 5 -  1 painted on a square canvas centered at the origin with radius 1.1. It uses five essentially different colors, sky blue, purple, red, amber, and blue, associated with the five roots of g. The sky blue region, e.g., comprises the initial values z0 in the canvas whose orbits converge to the root r = (1, 0) and is called the basin of attraction of Newton's method for the root.

    Thus, there are five basins of attraction in the fractal and they are divided by the basin boundary. The basin boundary is precisely the Julia set of the Newton fractal, and that is where Newton's rootfinding algorithm behaves in a "chaotic" fashion and fails to provide a root. It is known that the Julia set is a Cantor set comprising totally disconnected points.

    The second image of Figure 7.1 is a variation of the first. The image shown below, called "Crab Queue," is given by zooming in on one of the "bands" in the second image. It is accompanied by a fractal emphasizing the Julia set of "Crab Queue."








    Example 2 (Cyclotomic Polynomials): Another interesting example with known roots is a
    Cyclotomic Polynomial. The picture on the left in Figure 7.2 is a Newton fractal of the "30th cyclotomic polynomial"

        g(z)  =  z 8 +  z 7 -  z 5 -  z 4 -  z 3 +  z  +  1

    with the unit disk highlighted. Since g happens to be a factor of  z 30 -  1,  its roots are among the 30th roots of unity that lie on the unit circle. In the picture, the thirty dots on the unit circle show where the roots of unity are located and eight of them colored yellow show the whereabouts of the roots of g. The picture on the right is a Newton fractal of the "20th cyclotomic polynomial"

        g(z)  =  z 8 -  z 6 +  z 4 -  z 2 +  1.

    Figure 7.2.  Cyclotomic Polynomials with Eight Roots (and Application in 3D Plotting)






    Finding the Roots: Examples 1 and 2 show that what makes a Newton fractal beautiful are the roots of the polynomial and the Julia set that divides the basins of attraction to the roots. The more complex the Julia set, the more intricate the Newton fractal, but ironically, the Julia set is what complicates the rootfinding process by Newton's method.

    So, what should we do if we don't know the roots for the input polynomial? One way is to use
    Müller's Method instead of Newton's method. Although Müller's method lacks the simplicity of Newton's method, it generally works well and automatically finds all roots of the polynomial fairly quickly. All computer programs for the Newton fractals shown in this website (including Gallery 2D) use Müller's method—even for Example 1 whose roots are well known (so we don't have to write down the roots in the program).

    Once our computer program starts running smoothly, plotting Newton fractals provides us with great entertainment. It is easy to pick an input polynomial (or non-polynomial) from infinitely many choices with anticipation from not knowing what to expect in the output and a high-res output image generally emerges within minutes rather than hours and days of runtime. Figures 7.3 through 7.6 shown below are among numerous Newton fractals for which we randomly chose the input polynomials.

    Here's an example given by a fifth degree polynomial. Just for fun, we painted it on a sphere and a torus as well as on a plane.


    Figure 7.3.  "Fireflies"






    The next example, which is given by a seventh degree polynomial, is painted on a plane and an apple.


    Figure 7.4.  "Fruit Flies"





    Figure 7.5 shows a Newton fractal of a 12th degree polynomial painted on a plane and a sphere. The second image which is painted on a sphere is intended to give a 3D appearance. All of the twelve roots are again found by Müller's method quickly.


    Figure 7.5.   "Dragonfly"




    Part of the Julia Set of "Dragonfly"




    Figure 7.6 illustrates three images given by highlighting different parts of essentially the same Newton fractal. We can see from the images that the Newton fractal is generated by a fifth degree polynomial that has two pairs of conjugate complex roots and a simple real root. Each image accompanies a fractal that emphasizes the intricate Julia set.


    Figure 7.6.   "Ghost Fish" and "Ghost"







    Shown below is a fractal similar to the "Ghost" but given by a slightly different fifth degree polynomial. The Julia set appears to be bounded but it is in fact a part of an unbounded Julia set highlighted like the "Ghost."


    Figure 7.7.  "Spiderman"




    Newton Fractals of Rational Functions: Through the quotient rule of differentiation and the aforementioned Horner's method, it is straightforward to extend the fast plotting methods we have seen from the polynomials to the rational functions. Figure 7.7 shows a simple example, called "Five Crabs in a Circle," where the "huddling crabs" are the basins of attraction for the fifth roots of unity and the Julia set is, unlike in the earlier Newton fractals, bounded.


    Figure 7.8.  Newton Fractals of g(z)  =  (z 5 -  1) / (z 5 +  1)





    Links

    Pacific Northwest Section, Mathematical Association of America

    Wikipedia Horner's Method Newton's Method Müller's Method
    Mandelbrot Set Fractal Dimension Julia Sets

    Google Fractal Gallery Fractal Plotting Fractal Coloring

    Go to Top of the Page Gallery 2D Gallery 3D Fractal Coloring
    Willamette University Mathematics Department Sekino's Home Page