*On May 27-28, 2010, I posted two more YouTube videos, one of a zoom into the quintic Rudy Set, and the other of a zoom into the quartic Rudy Set. I’ve embedded the second video into this post down where I discuss the Quartic Rudy set.

*On May 7, 2010, I began selling T-shirts with my fractals on the custom product site Zazzle at www.zazzle.com/rudyrucker. The first T-shirt on offer features a Cubic Mandelbrot’s WhoopDiDoo on the front and the Rudy set’s Sanskrit Mandelbud on the back.

*On May 5, 2010, I made a short name for this URL, tinyurl.com/rudyfractals.

* On May 4, 2010, I began selling art prints of these images at my Ultrafractals gallery at rudy.imagekind.com.

* On May 3, 2010, I added some more Cubic Rudy Set images, and I started claiming that the Rudy Set is the “true” or “ultimate” meta-version of the Cubic Mandelbrot set.

* On April 22, 2010, I began adding some movies of these fractals to my rudyrucker Youtube channel.

* On April 7, 2010, I expanded this post to discuss the Quartic and Quintic Rudy sets.

* On April 2, 2010, I started this post with a discussion of the general Cubic Mandelbrots and the Cubic Rudy set.



RudyRockets (detail of the Rudy Set). Lower down in this post is an animated YouTube zoom to the Rockets.

I gave an early version of this post as a talk at the Computer Systems Laboratory Colloquium Stanford University twenty years ago, on March 7, 1990, as “Computing Sections of the Cubic Connectedness Map.” The hardware designer John Wharton invited me. Some of this information also appeared in the manual for the James Gleick’s CHAOS program.

As I was discussing near the end of my previous post, CHAOS is unusable on the newer versions of Windows. So this week, I’ve been porting my favorite algorithms to the Ultra Fractal platform, and this post briefly describes the formulas and how to view them.

To run these fractals on Ultra Fractal, download a copy of Ultra Fractal 5 — you can get a free, (almost) fully featured, evaluation copy that’s good for a month. To see my Ultra Fractal implementations for the fractals I’m discussing today, you can just download all of the Ultra Fractal public formulas by clicking Update Public Formulas on the Options menu of the Ultra Fractal program.

My two public files are text files rvr.ufm and rvr.upr, which you can read online. The rvr.ufm file is a “formula” file that has the algorithms for the Cubic Julia, Cubic Mandelbrot, and Rudy sets written out as a text file in something like source code, along with a lot of comments explaining the process. The rvr.upr file gives the particular parameter settings used for certain especially attractive images. Note that lately I’ve been updating these two files every week or so—particularly the parameter file—so make sure you have the latest versions.

As I say, the rvr.upr file holds several sets of parameters for fractals—including, as I say, all the fractals whose images I’m showing today. When you download the Ultra Fractal public formulas, you can find my two files in the “Public Formulas” subdirectory of the Ultra Fractal directory. Open the Parameter File rvr.upr, and then click on the thumbnails or the names of the included fractals to see them run interactively. You can zoom in on them, pan, change the resolution, and more.



Detail of the MandelCubicWhoopDiDoo Cubic Mandelbrot Set.

Iterated Functions and the Old Quadratic Julia and Mandelbrot Sets

A map in the plane is some system for finding an image P’ of each point P. If f is a map in the plane, and f maps z into z’, I can express this either by writing z’ = f(z) or by writing z –f– > z’. Given an f and a z, we can define a sequence zn by:

z0 = z, z1 = f(z), z2 = f(z1, and in general, zn+1 = f(zn).

In terms of f,

z –f– > z1 –f– > z2 –f– > z3 –f– > z4 –f– > …

For some starting values of z, the zn sequence hops around within some bounded region of the plane, and we say z is bounded under f. And for other start values of z, the zn sequence heads off across the plane towards infinity.

The Julia set for a map f is defined as the set of all z in the plane which are bounded under f. Symbolically, the Julia set for f is { z : z –f– > FINITE )}.

The quadratic map fc given by fc(z) = z^2 + c has been widely studied. The Julia set for the fc map is called Jc. They became popular in the 1980s, along with a kind of “directory set” called the Mandelbrot set, which can be defined equivalently as M = { c : Jc is connected}, or , M = { c : the origin is in Jc }.

The Cubic Julia Sets

Okay, now for the good stuff!!! The maps which the Cubic Julias and Cubic Mandelbrots are based on have the form fkc, with fkc(z) = z^3 – 3*k*z + c

For each fkc we can define a cubic Julia set Jkc by: Jkc = { z: z–fkc– >FINITE }.

Why do I write fkc(z) in the particular form that I do? As discussed in Bodil Branner and John Hubbard, The Iteration of Cubic Polynomials, Part I: The Global Topology of Parameter Space, if you write polynomials in certain special ways, it’s easier to locate the so-called critical points of the polyonomials. More on this point later on. For now, the point is simply that, by moving the origin of our coordinate system and a judicious choice of k and c, we can in fact write any cubic polyonomial in the indicated form.

To graphically represent the Jkc sets, each pixel position on the screen is identified with a distinct complex number c, and we look at c’s behavior under the map, which generates successive zn values. If zn is more than, say, 4 units way from the origin, we assume the sequence is headed for infinity, and give the pixel a color based on the value of n. And if zn stays within the boundary distance for as many steps as we check, then we assume that the pixel represents a point inside the set, and we typically color these points black.

Unlike in the quadratic case, these cubic Julia sets Jkc are generally not symmetric. Some of them are connected, like these two.



JuliaCubicAsteroids



JuliaCubicTwirly

Some are connected but not totally disconnected (made of numerous separate connected

patches) like this one:



JuliaCubicChunks

And some—who we won’t bother showing— are totally disconnected, like clouds of dust.

It has been proved that Jkc is in fact connected if and only if both the complex numbers k = a +ib and -k = -a -ib are in Jkc. These are the critical points of the fkc map that I was talking about above. We’ve written the cubic in the special form z^3 – 3*k*z + c precisely so that the critical points have a simple definition: k and -k.

As Jkc is not symmetric, it may happen that only one of k or -k is in Jkc. Jkc is connected only when both of these critical points are in Jkc.

Cubic Mandelbrot Sets

The four-dimensional set of all complex pairs k and c such that Jkc is connected is known as the Cubic Connectedness map, or the CCM. Why do I say four dimensional? Well, k has two numbers inside it in the form a+bi, and c also holds two numbers. Ranging over four parameters gives you a 4D space.

The CCM set has been studied by Adrian Douady, John Hubbard and John Milnor — as well as the paper mentioned above, see Adrian Douady and John Hubbard, “On the Dynamics of Polynomial-like Mappings,” and Bodil Branner and John Hubbard, “The Iteration of Cubic Polynomials Part II: Patterns and Parapatterns.” (Love the title.)

I never have understood why the Cubic Connectedness Map isn’t much better known! For some odd reason, my fellow fractal fanatics have consistently snubbed or misunderstood this incredibly rich vein of gnarl.

CCM = { (k,c) : Jkc is connected}

or, putting it differently,

CCM = { (k,c) : ( k –fkc– > FINITE ) AND ( -k –fkc– > FINITE ) }

The way our program depicts the CCM is to show various two-dimensional cross-sections of it. These cross-sections are what we call Cubic Mandelbrot sets. If, for instance, k is fixed, then we can look at the Cubic Mandelbrot set Mk.

Mk = { c : Jkc is connected}, or

Mk = { c : ( k–fkc– >FINITE ) AND ( -k–fkc– >FINITE ) }.

It turns out that that Mk is symmetric around the origin, that is, if c is in Mk, so is -c. If k = 0+0i, one gets a degenerate Mk with fourfold symmetry; this is the default Cubic Mandelbrot set that I have as the MandelCubicBasic parameter. This rather boring fractal is, sadly, the only well-known cubic Mandelbrot. Most fractal explorers neglect all the other—much more interesting—Mk.



The boring MandelCubicBasic

Note that a small change in the K parameter makes it more interesting.



The interesting MandelCubicStack

And things get better.



Detail of MandelCubicInvasionOfTheHrull

One often sees small replicas of the pieces of the quadratic Mandelbrot set inside the Mk, though sometimes with wedges cut out of them.



Detail of MandelCubicPacMan

By slightly varying the two components of the k parameter, one can look at k-sections near each other, and try to visualize stacking them one atop the other. Looking at successive sections, I have formed the impression that the Mk re like cross-sections of a three-dimensional Mandelbrot shape, buds all over it—the semi-mythical beast called the Mandelbulb.

As I mentioned above, the full CCM is in fact four-dimensional, and this shows up in the fact that many of the bud cross-sections have pieces missing from them. As an aid to mathematical visualization, I think of it this way. The CCM is like a three dimensional solid which is free to move pieces of itself to arbitrary time locations. Thus if a section of a bud seems to have the right half missing, we might think of the left half of the bud as being in Monday and the right half of the bud as being in Tuesday, with your cross-section being computed at the Monday time coordinate. I use time not at all in a physical sense here, but simply for the vividness of the image.

Some of the Mk details are fairly amazing.



Detail of MandelCubicZipper

As well as the cubic Mk CCM cross-sections, we can also compute

Mc = { k : Jkc is connected}, or

Mc = {k : ( k–fkc– >FINITE ) AND ( -k–fkc– >FINITE ) }.

The Mc are, to my eye, not as interesting as the Mk. But you can look at them and decide for yourself. Here’s one that has a certain gruff charm.



Detail of MandelCubic(Cplane)Ogre

I would very much like to view 3D sets which are stacks of Mk sets (or stacks of Mc sets) that arise as one varies, for instance, the real part of k from -1 to 1. I have a lingering hope that these objects may look bulbous rather than taffy-like, despite the lack of success of some preliminary investigations. See my blog post on the Mandelbulb for more on this topic.

The Cubic Rudy Set is the TRUE Cubic Mandelbrot Set

An apparently new fractal which I have enjoyed investigating is this.

R = {c : Jcc is connected}

= {c : c is in Mc}

= {c : ( c-fcc– > FINITE ) AND ( -c –fcc– > FINITE) }.

I immodestly call this the Rudy set, although it may be that pros like Branner, Douady, or Hubbard have their own name for it. As I say, I first starting working with this set some twenty years ago, but computers were pretty slow back then. In the last few days, using Ultra Fractal, I’ve seen much more detail of the Rudy set than ever before. Images that used to take hours to render can pop up in seconds.

Note that the Cubic Rudy Set has an absolute or non-relative quality, in that it avoids the choice between the Mk and Mc Mandelbrot Cubics, each of which are a certain kind of orientation-dependent cross-sections of the Cubic Connectedness Map. By going down the Jkk in the definition of the Rudy Set, we reach down to something that’s not relative to any specific orientation. Note also that we could equivalently define the Rudy Set as {c : c is in Mc}. For this is just {c : Jcc is connected}, which is the same as {k : Jkk is connected}.



The Rudy Set

Compare the definition of R as {k : Jkk is connected}to the definition of the Mandelbrot set M as { c : Jc is connected}. This makes me think that R is a good generalization of M, in some ways better than the Mk or Mc.

Actually I would go so far as to argue that the so-called Rudy set is the TRUE cubic Mandelbrot.

Standard Quadratic Mandel: {c : Jc is connected}

So-called Rudy Set (which is really the TRUE Cubic Mandelbrot): {c: Jcc is connected}

Slam dunk!

R is an object which is extremely rich in unusual fractal structures. One good region is the plume between 2 and 3 o’clock relative to the whole set. I call this area “Mars”.



RudyMars

An image like a rocking horse is found in the Mars region of the Rudy set. This horse is one of my favorite spots.



RudyHorse

Another good region is the spike at the top, at 12 o’clock. There is an interesting structure there that is a bit like a Mandelbrot set, but considerably gnarlier. I call it FatBud. This is a great region for gnarl.



RudyFatBud

The Julia sets from inside the Fat Bud zone are lovely and spidery—branching patterns of connected lines.



JuliaCubicFromRudyFatBud

And here’s a YouTube movie of a zoom in and out of the Rudy set, with the turnaround point at the “RudyRockets” image at the start of this post. Note again that you can find all of these locations by using my online UltraFractal parameter set rvr.upr.



“Rockets” zoom into the Rudy Set.

I keep finding more and more great stuff in the Rudy set. All these parameters are in the online text file rvr.upr, which I’m updating every week or so.

RudyHedgehog. And click here for a humongo 3 Meg RudyHedgehog you can get lost in.

Lots of little Mandelbrot sets turn up inside the Rudy set.



RudySanskritBud

I recently found a really powerful region in the first miniMandelbrot bud above the top of the Redy set. There’s an exawatt particle beam blasting out to make the RudyParticleBeam.

And near the ParticleBeam are some globs of paired twirly things I call the RudyIsopod.

And down inside the very center of that gap at the core of the RudyIsopod is a mini-Mandelbrot set, RudyMandelInTwirls

This looks better all the time…

The Quartic Rudy Set

I was puzzled about how to find the critical points for fourth degree and fifth degree polynomials. Googling for the answer, I found a series of articles by the Swedish fractalist, Ingvar Kullberg, who is one of the only people who’s gotten into making images involving the Cubic Connectedness Map. And his article “28) To derive the optimal iteration formulas for polynomials of degree d,” has the reference to pp. 151-152 of the crucial article by Bodil Branner and John Hubbard that I mentioned earlier, The Iteration of Cubic Polynomials, Part I: The Global Topology of Parameter Space.

Without going into too much mathematical detail here, suffice it to say that we can write the general quartic polynomial as

fmkc(z) = z^4 + 2(mk -(m+k)^2)*z^2 + 4mk(m+k)*z + c

The z which don’t run off to infinity under iterations of this map form the quartic Julia set Jmkc.

Jmkc = { z: z–fmkc– >FINITE }.



A JuliaQuartic, pretty natty.

And Jmkc is connected if and only if the following three critical points are in Jmkc: m, k and -m-k. And the Quartic Connectedness Map would be the six-dimensional set of all complex triples (m,k,c) such that Jmkc is connected. The Mandelbrot cross-sections of the Quartic Connectedness Map verge upon resembling crushed pieces of trash in the street, I won’t bother showing one. Instead here’s the Rudy Quartic, which has a trefoil shape.



The RudyQuartic.

We can define the Quartic Rudy set R4 as follows.

R4 = {c: Jccc is connected}.

The three critical points will be c, -c, and 0, so,

R4 = {c: c –fccc– > FINITE ) AND ( -c –fccc– > FINITE) AND ( 0 –fmmm– > FINITE) }.



The three corners of the Rudy Quartic have things like Mandelbrots, with a very turbulent V-shaped spike.

And check out the floating sky palace in the Rudy Quartic in this area.



RudyQuarticSkyPalace

Here’s an animation zooming down into the RudyQuarticSkyPalace, past the RudyQuarticHeffalump and down to a mini Mandelbrot bud. I made the animation on May 28, 2010.

The Quintic Rudy Set

Finally we come to the Quintic Rudy set. First we define a fifth-degree polynomial map fnmkc with four parameters. For the gory details of the map, see the comments in the GeneralQuinticJulia algorithm in the pseudocode file rvr.ufm—which, as I mentioned above, opens as a text file if you click on it.



JuliaQuinticRunningMan is pretty nice.

And then we define the quintic Julia set Jnmkc, as Jnmkc = { z: z–fnmkc– >FINITE }. And, as before we find some critical points, four of them for each Jnmkc, and we can use the critical points to test if Jnmkc is connected.



The connected but asymmetric JuilaQuinticDangle.

We can also find a Quintic Mandelbrot set Mnkm = {c: Jnkmc is connected}. Poking around in one of them, I found a nice quadratic Mandelbrot shape surrounding by leopard spots of quintic gnarl.



The MandelQuinticLeopard.

Below is a video taken around the edges of a quintic Mandelbrot set. The video is 300 frames, and it took my brand-new maximum speed computer thirteen hours to compute! It ends with a zoom down to the MandelQuinticLeopard spot.



[Use Ultra Fractal and the rvr.ufm parameters to locate the MandelQuinticLeopard.]

And now, finally, we define the Quintic Rudy set R5.

R5 = {c: Jcccc is connected}.

In these somewhat degenerate Jcccc cases, the four critical points collapse to two points, c and -3c, so we can say R5 = {c: c –fccc– > FINITE ) AND ( -3c –fccc– > FINITE }.



The RudyQuintic is fairly unprepossessing.

But if you zoom in, you can find some kind of pretty stuff.



RudyQuinticEightfoldMandel



But I have to say that the basic cubic Rudy set seems more interesting. It’s like those high powers wash things out. I was actually frightened when I zoomed into the cubic Rudy set and found the region shown below. It was like I was too far underwater, or too far out in space.



Venture to the RudyExtraterrestrial if you dare.

In closing, note that you can in fact check the correctness of my old cubic Rudy Set, Quartic Rudy, and Quintic Rudy algorithms by using the Fractal Mode Switch feature. In Ultra Fractal, press F7 and move the cursor around over one of the three Rudy sets, and note that the corresponding Julia sets shown in the Fractal Mode window are connected if and only if the cursor is over a dark, interior region of the Rudy sets. While developing the algorithms, I in fact relied on this feature to make sure I wasn’t putting in bugs.

I’ll probably keep adding to this post as time goes by.

Remember , you can find it by using the simple URL tinyurl.com/rudyfractals.