This year, one of the pictures at the International Science & Engineering Visualization Challenge, caught my interest.

Poelke and Polthier’s Lifted Domain Coloring is a coloring scheme for visualizing properties of complex functions: it maps numbers in the complex plane stereographically to the Riemann sphere, and assigns a hue based on the inclination angle (though I’m not sure that much is gained by the stereographic projection, since the polar representation of the complex numbers seems to provide all the needed information). Saturation and Brightness are controlled by the modulus of the number: when the modulus goes towards infinity, the color turns white, and for numbers close to zero, the color turns black. The exact radial mapping used by the authors is not specified in the paper, but I think my implementation is quite close:

The visualization scheme makes it possible to visually identify different properties, such as zeroes and poles in complex functions.

One of the ways, I think such a visualization may be improved is by using a heightmap:

Here I’ve raised the poles and lowered the zeroes: first, I made the poles and zeroes appear symmetric, by transforming the modulus: r = abs(r + 1/r). Then I applied a sigmoid function to tame the infinities, and finally another sigmoid transformation was applied to change the sign of the zeroes. This technique will only work for somewhat well-behaved functions (meromorph functions – functions with a countable number of zeroes and poles).

Of course, I’ve also tested the Lifted Domain Coloring scheme on fractals.

Here is a Mandelbrot and Julia plot:

Usually Mandelbrot visualizations focus on coloring the outside of the set, but since the exterior of the Mandelbrot set has infinite modulus, only the interior (with its zeroes) are visualized here. The zeroes are visualized as peaks for better graphical clarity.

I also tested the coloring scheme on Samuel Monnier’s Ducks fractal:

Here, the coloring scheme does a decent job for low iteration counts, but for higher iterations the images become messy, so for pure aestethic purposes there are probably better coloring schemes around.

Nice post! But I’m just a bit confused by the white and black lines appearing in your pictures. Surely these are not pole or zero loci, right? They look like lines of constant real or imaginary part. Also the color seems to get slightly darker when you approach a black line from one side, but not from the other, creating these ring structures… are these really properties of the functions?

Hi Sam,

The black and white field lines corresponds to constant radius (logarithmically defined – they appear as circles around poles and zeroes) and constant polar angle (at 30 degrees – there are twelve lines originating from any pole or zero). They were set up this way on the original paper. This is also why I prefer using a heightmap as above to display poles and zeroes, since I think this makes the structure more obvious (your Ducks fractal was in 2D only, though).

Every second radial band is made slightly darker – which is why the colors differs on each side of a black radial line – it is not a property of the function. This was done in the original paper.

On my PC Fragmentarium just shows first picture and fails to initialise. On taskbar and in task meneger programm have some “Open GL features missing”.

I have TNT2 model 64, windows 2000 SP3, DirectX8, Pentium 2 450.

I did downloaded Microsoft Visual C++ Redistributable Package, throught 2005 version, as 2008 have windows 2000 SP4 as system requirements. And then I just pasted msvcr90.dll, msvcp90.dll or msvcm90.dll in fragmantarium folder so that programm don’t complains about not having libraries.

The colours reminded of direct colur exponent smoothing algorith I did researched on chaos pro. Just not the spikes.

(say iterating sumG=sumG+ (-1.5)^(-cabs(z+2)) and then green= abs(real(sumG)) )

Hi Edgar, I’m afraid your computer is too old to run Fragmentarum. You’d need a newer GPU.

Regards, Mikael.

I was afraid of that;) Since aren’t much found gameing, until I found 3D fractaling I considered buying new PC a pretty unnecessary thing;)

I had made few fractal things and wanted to try out them in something more powerfull than Chaos pro 3D engine;) Mentioned color method generating poisonous CMY mandelbulbs (the last formula here http://www.chaospro.de/formulas/display.php?fileid=224 ) and the head fractal (with quaternionic multiplication in math libraries here http://www.chaospro.de/formulas/display.php?fileid=222 ) .

Is the fragmentarium code you used to generate the images of the mandelbrot and julia set available?