I wrote, I should say I am writing, the program that generates these images. I have been writing the program for a long time, off and on. I have other programs for generating computer art. The other programs are written in C, C++, even some assembly language. I started out writing the current program as an exercise to learn F#. F# works well for the math part. But, the user interface portion is difficult for a F# beginner, so I switched to C#. I will eventually make it a dual language program with a C# based UI hosting a F# computations.
Looking back, all of the false starts were for silly stuff. My other programs had many cool features, and I wanted to make sure the new program had all those features. So I would focus on one thing for a while, get bored, work on a different feature. Nothing got finished, and I would throw away a lot of the old stuff because it did not fit with the cool thing I am working on now.
So last week, I started over again, this time with the focus on actually producing a fractal image good enough to share. The program is very bare bones right now. I started out with a single formula, z^2+c. I added a second formula last week, c*cos(z). Coloring is escape-time coloring. The color palette is generated by normalizing the escape count to the range 0.0-1.0, and feeding the normalized value into three sine functions, one for each rgb color component. The sine function for each rgb component has programmable frequency and phase.
Escape time coloring produces discrete integer values, which produces undesirable (IMHO) color banding in the image. So I stick with deep-zoom images that have high escape values, and use the normalization and sine functions to produce very small incremental color changes which hides the color banding.
One missing feature is saving the formulas. It is kind of like working in Photoshop or paint. I do work to get the image the way I like it, hit save, and I have a jpeg of the image, but I have not saved the steps to reproduce the image.
It is a start. Now that I made the commitment and reactivated spyke.com and started a portfolio on facebook, I need to keep going.