Reformulating Multiplication for Mandelbrot-like Sets in 3D

Year: 2025 Authors: Eric Zimmermann; Stefan Bruckner

Core claim

A cross-product- and differential-form-inspired multiplication in 3D, combined with flexible function pairs, expands the design space for Mandelbrot-like and Julia-like fractal rendering.

Topics

3D fractals, Mandelbrot set, Julia sets, GPU raymarching, generative art

Domains

complex multiplication, spherical coordinates, differential forms, iterated function systems, computer graphics, generative art, digital aesthetics, visualization

Methods

spherical representation, GPU raymarching, iteration schemes, experimental rendering

Media

babylon.js, GitHub source code, 3D renderings

Paper text

The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.

Bridges 2025 Conference Proceedings

Reformulating Multiplication for Mandelbrot-like Sets in 3D

Eric Zimmermann and Stefan Bruckner

Institute for Visual & Analytic Computing, University of Rostock, Germany e.zimmermann@uni-rostock.de, stefan.bruckner@uni-rostock.de

Abstract

The Mandelbrot set, named after Benoit Mandelbrot, led to a broad range of research as well as inspiring and appealing results. Even though there is no analogue description in 3-space, several extensions were considered. In this article, we recall the spherical representation and discuss a possible reformulation of trigonometric functions to improve the rendering performance. Afterwards, we set up a multiplication in 3-space, motivated by the cross product and its relation to differential forms. These provide the possibility to choose two functions as coefficients to achieve a varying multiplication in space, which we experimentally investigate using two iteration schemes and several function pairs. Finally, we turn to Julia sets, which can be achieved due to a minor change in the usual Mandelbrot iteration scheme and we explore examples w.r.t. function and constant choices.

Spherical Representation in 3D

The Mandelbrot set (see Figure 1a), introduced by Benoit Mandelbrot, has captivated mathematicians and inspired computer artists since the 1980s, providing a visually intriguing foundation for generative art. The accessibility of computational tools allowed artists to explore and visualize complex fractal structures, significantly enriching the field of digital aesthetics and computer-generated art [7]. This paper builds on these foundations with the aim of expanding the design space in order to offer artists and researchers enhanced possibilities for creative experimentation.

The Mandelbrot set consists of all the points in the complex plane for which the scheme with and starting value is bounded. Various approaches to explore analogues and variations in 3D led to very interesting and visually appealing results like the Mandelbulb or projections of Quaternion Julia Sets into 3D [2].

img-0.jpeg (a)

img-1.jpeg (b)

img-2.jpeg (c) Figure 1: (a) shows a rendering of the Mandelbrot set in the complex plane after 20 iterations, (b) an illustration of the rotation and stretching performed during complex multiplication, and (c) entities used in the spherical representation in 3D.

Zimmermann and Bruckner

img-3.jpeg (a)

img-4.jpeg (b)

img-5.jpeg (c)

img-6.jpeg (d) Figure 2: Renderings of two versions of the multiplication using spherical coordinates in 3D from two viewpoints each. The second version carries in the third coordinate in Equation (2). Note that the viewpoints are similar for (a) and (c) as well as (b) and (d).

One such extension to 3D was proposed by Daniel White in 2007 [2] using spherical coordinates to imitate the behavior of the multiplication in the complex plane, which can be given for two numbers in the complex plane as

representing , , with real and imaginary parts and , respectively, or

in polar form using , , with absolute values (individually also known as modulus or magnitude) and arguments . The polar form provides a way to interpret the multiplication as a rotation (adding the arguments) and stretching (multiplying the absolute values) in the complex plane, see Figure 1b. The extension in 3D makes use of two (angular) arguments and to reflect the rotational part. For a point we can obtain the absolute value and arguments and by

where gives the angular argument in the -plane between and except for the undefined case in which and provides the opening angle above the -plane when r > 0 , see Figure 1c. The multiplication of two points can then be written as

This representation corresponds to the one used by Barrallo [2], whereas another common representation interchanges with and vice versa and is therefore another parametrization caused by a parameter shift.

As the complex plane and have componentwise addition, we get the iteration scheme

with starting value , , and . The divergence condition, in which point does not belong to the set if for some the absolute value of is greater or equal to 2, applies as well [2]. Figure 2 shows renderings also discussed by Barrallo [2].

Reformulating Multiplication for Mandelbrot-like Sets in 3D

Rendering in 3D

The included 3D renderings were generated with GPU-based raymarching implemented using the web-based 3D eninge babylon.js. The full source code is available on GitHub [10]. We use an initial step size and employ the clarity function (Equation (16)) in Hart et al. [6] to adjust the sampling resolution using the parameters and . Note that we do not use the distance estimator from Equation (8) in Hart et al. [6], also used by Crane [5], because it is not clear whether such estimator is applicable in our scenario involving the upcoming multiplication changes and the variants of iteration schemes. Instead we use constant step sized raymarching with initial value and we allow step size changes caused by the clarity function which scales the Euclidean distance from the eye to the current location on the ray [6]. Each ray is intersected with a sphere of radius , the escape radius, and this radius is also used for the divergence condition. Further, we declare the maximal number of iterations . The default values are , , , , and and deviations from those are mentioned accordingly. In particular, varying the escape radius enables the rendering of larger objects whose geometry is not strictly tied to the conventional value of 2, especially in the context of the modified iteration and multiplication schemes introduced later. For the shading we make use of the normal estimation by central differences also used by Crane [5], in which we find 6 points around the point in question, which we process in the same respective scheme with 10 iterations each to obtain an approximated normal. The distance to the 6 neighboring points is taken w.r.t. the distance obtained by the clarity function [6]. For the color at a point , we normalize the vector (explained in the upcoming reformulation of the multiplication), modify it s.t. its entries lie in , and use it to assign RGB values. In this way, a color indicates in which direction the vector shows and repeating color patterns around a point, for instance in Figure 2b, could reflect properties of multiplicities around poles or zeros encoded in domain coloring [8]. The final color values are then determined by the Phong reflection model.

Reformulations of the involved computations—like using polynomials [1, 2, 9]—can improve the rendering performance. To circumvent the evaluation of trigonometric functions in Equation (2) and the calculation of inverses from Equation (1), our rephrasing makes use of the definition of the angle between vectors defined as \cos(\alpha) = < v_{1}, v_{2} > / (\|v_{1}\| \|v_{2}\|) (using the scalar product < \cdot, \cdot> and the Euclidean norm ) and the addition theorems for the cosine and sine equations. Suppose we are given the two points with absolute values , normalized representatives and normalized projections for , see also Figure 1c. Note that here we used the superscript to identify the coordinates. Now we are able to write the trigonometric terms in Equation (2) as

with and and a more detailed description for the first one. This also provides the option to extract individual terms like . Note that the behavior of the undefined cases in Equation (1) is reflected in and . In general, we would assume that angular values do not change during multiplication if they are undefined anyway. Thus, setting for a point the value when and when won’t change the respective angular components during multiplication. In terms of the expressions above we declare for and , for . When we then multiply with itself, we obtain , , for both cases and and for and , respectively.

Rephrasing Multiplication

The basic idea of using spherical coordinates to represent the multiplication is to translate the behavior of complex multiplication to 3D involving rotations around two angles. However, the product in Equation (2) lacks properties to account for a valid extension into 3D, cf. the undefined cases in Equation (1). A possible product to consider is the geometric product used in geometric algebra working with multivectors. The latter include bivectors which are obtained via the exterior product (also called wedge product) and thus relate to the following considerations using differential forms with smooth coefficients.

While keeping the basic idea of iteration, we would like to alter the product. A candidate in 3D is the cross product, which is defined for vectors as . This is not suitable, because multiplying a vector with itself yields the 0-vector. To make use of the cross product, we modify the coordinates of the points before multiplying them. Here we restrict ourselves to a single point, as used in the original iteration scheme and it aligns with the idea that the cross product is a special case of the wedge product applied to differential forms evaluated at a certain point [4]. A differential -form, , is a multilinear alternating function operating on tangent vectors and returning a number. For instance is a 1-form in including differentials and smooth scalar functions for . The multiplication of a -form and -form producing a -form is carried out by the wedge product. Assigning constant values for the coefficients in and produces coefficients in the 2-form which coincide with the components of the cross product of vectors consisting of the same coefficients used for and , as in 1- and 2-forms are associated with vectors [4].

For our coefficients we use two functions , not necessarily smooth, which we evaluate at a given point , i.e. and likewise, and multiply via the cross product . With componentwise addition, we set up two iteration schemes to decide whether a point belongs to our object using starting value and functions . The first one is

(3)

making use of the initial idea of the cross product taken between and processed via and beforehand. The second scheme is

(4)

which reflects the original iteration process of the Mandelbrot set, yet starting at the point , which belongs to the sequence of the original Mandelbrot set anyway. Therefore, in our scenario the evolution is caused because we let the multiplication change throughout space using differential forms and their coefficients and , instead of letting the cross product act globally.

Reformulating Old and Finding New Expressions

At this point we have two iteration schemes and the freedom to choose two functions and , for which we omit writing down their arguments, i.e., write instead of , and we label different examples with letter subscripts, for instance and represent one example. For the upcoming values we obtain for a point its magnitude and angular arguments and as stated in Equation (1).

At first, we express the spherical representation given in Equation (2). This can be done by using the scheme explained in Equation (4) and setting

[ f_{A}=r^{2}\begin{pmatrix}-\sin(2\varphi)\ \cos(2\varphi)\ 0\end{pmatrix}\quad\text{and}\quad g_{A}=\begin{pmatrix}\frac{-\sin(2\theta)}{\cos(2\varphi)}\ 0\ \cos(2\theta)\end{pmatrix}. ]

Reformulating Multiplication for Mandelbrot-like Sets in 3D

img-7.jpeg (a)

img-8.jpeg (b)

img-9.jpeg (c) Figure 3: Renderings obtained using the scheme from Equation (3) with (a) , and , (b) , and , and (c) , and .

Evaluating the cross product from Equation (4) with and reduces to the description in Equation (2), cf. Figure 2, as may be verified explicitly by expanding the cross product as

evaluated at one point. Note that is not defined for and we declare a point with such value for failing the divergence condition and consequently it does not belong to the set. In contrast, the functions and processed with the scheme from Equation (3) cause an appearance which is very different from the one obtained using the scheme from Equation (4) extending in each direction when increasing , cf. Figure 3a. An extension through space can also be observed for the following two pairs of functions

evaluated in the same scheme, see Figures 3b and 3c, respectively. These objects converge rather fast and increasing the sphere for rendering in suggests that especially the second object extends through .

To explore additional examples for the scheme in Equation (4), we start with functions and . The resulting object, see Figure 4, includes some kind of swirl which can also be seen from the opposite side but slightly rotated. However, not all function pairs elaborated with the scheme from Equation (3) have visually appealing counterparts when processed with the scheme from Equation (4). Returning to the question of an extension of the Mandelbrot set to 3-space, we could think of a pair of functions forcing the Mandelbrot set in the -plane, i.e.

In Figures 4c and 4d, the overall shape of the Mandelbrot set appears in the -plane, yet it also exhibits arcs extending in the -direction. These arcs are reminiscent of the 4D quaternionic example’s projection into 3D, which appears as a rotation of the Mandelbrot set around the -axis [2].

Zimmermann and Bruckner

img-10.jpeg (a)

img-11.jpeg (b)

img-12.jpeg (c) Figure 4: Renderings obtained using the scheme from Equation (4) with (a), (b) , and and (c), (d) , and .

img-13.jpeg (d)

Turning to Julia Sets

The iteration process used for the Mandelbrot set can be modified slightly by iterating the points in the complex plane while fixing an added constant to explore, for instance, the dynamics of quadratic functions [6]. In this case, we are looking for the points not traveling to infinity during the process w.r.t. a fixed constant . The resulting fractals are called Julia sets. With a minor change, Equation (4) becomes

for every point and a fixed constant . Note that for simplicity we treated as the iterated point rather than as the constant. Hence it is only a minor change to the overall procedure.

As the Julia sets are defined in the complex numbers we experiment with known constants for Julia sets of the quadratic functions. We place these constants in the and coordinate of in the same way the traditional Mandelbrot set is reflected in the -plane expressed by the spherical representation, cf. Equation (2).

A first example occurs using constant shown in Figure 5, where the related point is the center of a 2-dimensional ball in the Mandelbrot set, cf. Figure 1a. Here we can find an interesting structural behavior. The pattern of the corresponding Julia set in 2D is reflected in the balls in 3D, decreasing in diameter attached to each other along a line which is the -axis. Along the -axis, we can identify flattened repeating pieces, we may call them flats. The balls and flats, however, repeat not just along the axes. It seems that the balls with attached flats occur as smaller copies across the larger balls and we can find smaller flats distributed on the larger ones, giving the whole object the self-similarity fractals are known for. Variations of the constants allow a broad range of objects even yielding some which appear more dense and penetrated by tunnels. An example can be seen in Figure 6 where the indentation, occurring on opposite sides, is littered by entrances to tunnels inviting the viewer to navigate through them.

The examples we have considered so far (using and ) are not dependent on the reformulation of the multiplication, i.e., we can render the same objects using the spherical representation (Equation (2)). However, varying and for Julia sets also allows us to generate very different objects like the ones displayed in Figure 7. Here the objects in Figures 7a and 7b remind us on their counterparts in Figures 3c and 4, yet both partly reflected in the different schemes given in Equations (3) and (4). The third one in Figure 7c shows a very different appearance and hints the possible variety of objects we could achieve with and . The last example (Figure 7d) illustrates an alteration in the third coordinate of where increasing the value 0.31 thins out the rings further until the object disappears at the latest at 0.348. Hence, the scheme used to describe Julia sets and the choices for , , and extend the space for exploration even further.

Reformulating Multiplication for Mandelbrot-like Sets in 3D

img-14.jpeg (a)

img-15.jpeg (b)

img-16.jpeg (c)

img-17.jpeg Figure 5: Renderings obtained using the scheme from Equation (5) with (a) , , and . The encircled labeled regions in (a) are magnified in (b) and (c). Further renderings can be found in the supplementary material. (a)

img-18.jpeg (b)

img-19.jpeg (c)

img-20.jpeg Figure 6: Renderings obtained using the scheme from Equation (5) with (a) , and . The object appears more solid possibly penetrated by tunnels with entrances on the surface (b), (c). Note that for visibility the iteration numbers are chosen 10, 50, and 15, respectively. (a)

img-21.jpeg (b) Figure 7: Renderings obtained using the scheme from Equation (5) with (a) , (b) , and , and (c) , , and . All three used . (d) shows a result of and with . All examples used .

img-22.jpeg (c)

img-23.jpeg (d)

Zimmermann and Bruckner

Summary and Conclusions

Motivated by the Mandelbrot set’s spherical extension into 3D, we recalled its description and discussed a possible way to rewrite the trigonometric functions to improve performance. Due to the missing correspondence of a 3-dimensional product, we used the relation of the cross product and differential 1-forms to describe two iteration approaches and the freedom to set functions and , to, on the one hand, reformulate the spherical representation and on the other hand allow new ones. A minor change in the iteration process let us turn to Julia sets, where we considered different constants and their visual appearances.

The flexibility to select and combine different functions and within distinct iterative schemes enables the generation and exploration of novel geometric structures, potentially appealing to artists. Nonetheless, understanding the intricate relationship between the chosen functions and their resulting geometric forms remains challenging in both directions: determining how specific functions affect the resulting shapes and identifying suitable functions to generate desired properties. Exploring this relation between functions and their results by sampling and clustering the space of functions [3] is an interesting direction for future research.

Geometric objects, particularly detailed fractals whose complexity makes physical realization impractical, are well-suited for presentation within virtual environments and digital art exhibitions. Such settings enable audiences to engage interactively with intricate structures otherwise restricted to static two-dimensional renderings. Furthermore, as the rendering of fractals is still computationally demanding—even on current graphics hardware—continued advancements in computational methods, such as improved validation of distance estimates [6] [5], would be beneficial.

Moreover, while we believe the color coding used throughout the paper represents a meaningful choice, it is just one of many possibilities and a more thorough investigation of this aspect could be an interesting topic for further investigation as well.

References

  • [1] R. Alonso-Sanz. “A Glimpse of the Mandelbulb with Memory.” Complex Systems, vol. 25, no. 2, 2016.
  • [2] J. Barrallo. “Expanding the Mandelbrot Set into Higher Dimensions.” Bridges Conference Proceedings. Pécs, Hungary, July 24–28 2010. pp. 247–254. http://archive.bridgesmathart.org/2010/bridges2010-247..
  • [3] S. Bruckner and T. Möller. “Result-Driven Exploration of Simulation Parameter Spaces for Visual Effects Design.” IEEE Transactions on Visualization and Computer Graphics, vol. 16, no. 6, 2010, pp. 1468–1476.
  • [4] P. Collier. A Beginner’s Guide to Differential Forms, 1st ed. Incomprehensible Books, 2021.
  • [5] K. Crane. “Ray Tracing Quaternion Julia Sets on the GPU.” 2005. https://www.cs.cmu.edu/~kmcrane/Projects/QuaternionJulia/.
  • [6] J. C. Hart, D. K. Sandin, and L. H. Kauffman. “Ray tracing deterministic 3-D fractals.” Computer Graphics (SIGGRAPH ’89 Proceedings), vol. 23, no. 3, 1989, pp. 289–296.
  • [7] C. A. Pickover. Computers, Pattern, Chaos, and Beauty: Graphics from an Unseen World. Dover Publications, 2001.
  • [8] K. Poelke and K. Polthier. “Domain Coloring of Complex Functions: An Implementation-Oriented Introduction.” IEEE Computer Graphics and Applications, vol. 32, no. 5, 2012, pp. 90–97.
  • [9] I. Quilez. “Mandelbulb.” 2009. https://iquilezles.org/articles/mandelbulb/.
  • [10] E. Zimmermann and S. Bruckner. “Vractal-explorer.” 2025. https://github.com/e-zimmermann/vractal-explorer.

0 items under this folder.