The r1 parameter in accumulator function has been reduced. In other words, here is a more viny picture for the Vines series.
What follows is a lengthy post that has almost nothing to do with the featured image. While looking for vine fractals on the internet I found some stalk fractals which reminded me of some other ways to color fractals. I do not plan to do a series on these alternatives, or create my own examples. Although that plan may change someday if I am staring at a blank post and have nothing else to write about. Nonetheless, they deserve some mention.
Previously, I stated that a fractal calculation creates a bucket of numbers that are used to determine a color. The numbers have a particular order so a list or sequence of numbers is a more accurate description than bucket. If you are curious, Robert Devaney has a good entry level article What is the Mandelbrot Set.
I will just start with this list of numbers, “the orbit”, and discuss how to create a color. The first method people used, and probably still the most common is escape time counting, which amounts to simply counting how many numbers are less than a fixed threshold value. I wrote about that method way back in Smooth 1D Colors #1, to demonstrate non-smooth coloring.
I always found iteration counting somewhat disappointing. You have this big list of numbers, and all you do is count them? Surely there is more information and other things of interest in these numbers than a count. Back in the day I really did believe we were missing some deep mathematical meaning. Now, I do not care about mathematical meaning, I am just looking to create pretty pictures. Simple counting overlooks much potential.
In addition to smoothing out the color bands in those early escape time fractals, I was motivated to develop accumulator colors because it used all of the numbers in the orbit. It provides alternate interesting ways to color the same basic fractal.
Here are a couple of “stalky” early coloring ideas that go beyond counting. First the Pickover stalk, Image, Article. (The Wikipedia article incorrectly calls this an orbit trap, and I think it overstates the mathematical significance.)
This method uses the closest distance the orbit gets to either the x or y axes. Or a little more formally, if zk = xk + i * yk, then d = mink (min |xk|, |yk |) is used for coloring. k is an index that ranges over all of the points in the orbit.
The second example is orbit traps, here is an example of orbit trap stalks. The orbit trap method tests each orbit point against a boolean (true/false) condition. If zk is the first orbit point for which the test is true, then the index number k is used to determine the color. The exact formula is not documented for the linked image, but it would be something like min(|xk|,|yk |) < 0.1.
The Wikipedia article on orbit traps is incorrect. I found a couple of good references here VisMath and Softology The latter is a support page for the fractal software Visions of Chaos. I do not know anything about the software, if you try it out, let me know what you think.
So, where do these two methods fit into the fractal coloring landscape? Both methods use all of the orbit points, at least in the sense that they test each point and select one. Once selected, the color value is determined by that single orbit point. Pickover stalks uses the minimum value over all the orbit points, a real number. It turns out to be a continuous function of the orbit, and generates smooth colorings. Orbit traps use the index of the first orbit point, an integer, so it produces discrete colors. With orbit traps the focus becomes more on the trap shape than the generating fractal. Often a psuedo-3D effect is applied to the trapped region. When done right the result is artistically pleasing.
There is a key distinction between these methods. Pickover Stalks, and other min-value methods check all orbit points and finds the minimum value of some test function. They are naturally continuous. Whereas orbit traps use a boolean test condition and uses the first index (sometimes the last index) where the conditions is true. The result is a discrete value, the index. They are similar in that both apply some kind of test function to the orbit point. (As does accumulator colors.) The various min-distance methods, and accumulator colors predate orbit traps.
The Wikipedia article on orbit traps is actually describing the various min-distance methods. Some fractal programs have started calling any method that applies a test function to a point an orbit trap.
Bill Clinton might have said “It all depends on what your definition of orbit trap is”. (He did not say that, but he would if he read this post.) Definitions change and are basically whatever is the common usage. But, usually I prefer accuracy and precision. So around here, I will use the more precise definitions of the various color methods.