Subject: 3-D fractals

Q21: How can 3-D fractals be generated?

A21: A common source for 3-D fractals is to compute Julia sets with quaternions instead of complex numbers. The resulting Julia set is four dimensional. By taking a slice through the 4-D Julia set (e.g. by fixing one of the coordinates), a 3-D object is obtained. This object can then be displayed using computer graphics techniques such as ray tracing.

Frank Rousell's hyperindex of 3D images
http://www.cnam.fr/fractals/mandel3D.html
4D Quaternions by Tom Holroyd
http://bambi.ccs.fau.edu/~tomh/fractals/fractals.html

The papers to read on this are:

  1. J. Hart, D. Sandin and L. Kauffman, Ray Tracing Deterministic 3-D Fractals, SIGGRAPH, 1989, pp. 289-296.
  2. A. Norton, Generation and Display of Geometric Fractals in 3-D, SIGGRAPH, 1982, pp. 61-67.
  3. A. Norton, Julia Sets in the Quaternions, Computers and Graphics, 13, 2 (1989), pp. 267-278.

Two papers on cubic polynomials, which can be used to generate 4-D fractals:

  1. B. Branner and J. Hubbard, The iteration of cubic polynomials, part I., Acta Math 66 (1988), pp. 143-206.
  2. J. Milnor, Remarks on iterated cubic maps, This paper is available from ftp://math.sunysb.edu/preprints/ims90-6.ps.Z. Published in 1991 SIGGRAPH Course Notes #14: Fractal Modeling in 3D Computer Graphics and Imaging.

Instead of quaternions, you can of course use hypercomplex number such as in "FractInt", or other functions. For instance, you could use a map with more than one parameter, which would generate a higher-dimensional fractal.

Another way of generating 3-D fractals is to use 3-D iterated function systems (IFS). These are analogous to 2-D IFS, except they generate points in a 3-D space.

A third way of generating 3-D fractals is to take a 2-D fractal such as the Mandelbrot set, and convert the pixel values to heights to generate a 3-D "Mandelbrot mountain". This 3-D object can then be rendered with normal computer graphics techniques.

POV-Ray 3.0, a freely available ray tracing package, has added 4-D fractal support. It takes a 3-D slice of a 4-D Julia set based on an arbitrary 3-D "plane" done at any angle. For more information see the POV Ray web site at http://www.povray.org/ .