Use this node to texture your model with the Mandelbrot set. The Mandelbrot set is a collection of mathematical points in the complex plane, the boundary of which is an interesting fractal shape. Through this node, you can select the Mandelbrot set, the Julia set, the Mandelbox set and other hybrid evaluations. Using this node, you can add interesting effects to your Mandelbrot set fractal, such as circles, leaves, points, checker patterns, and Pickover stalks. Choose among different shading methods and customize the range of the color values used to represent your Mandelbrot set points.
You can create a 2D version of this node, a 3D version of this node (Mandelbrot 3D), or shade a fluidShape node using the built-in Mandelbrot texture.
Find this texture in the
Create tab. To apply this texture as a texture map, see
Map a 2D or 3D texture.
Note: Currently, you can only render the Mandelbrot texture using the Maya Software renderer.
About the Mandelbrot texture
The Mandelbrot (and its related sets) evaluations are based on iteration. It represents the region of the complex plane zn+1 = zn2 + c, where you start with z0 = 0 and iterate repeatedly while the absolute value of zn remains bounded.
In other words, if you have a point in UV space, and you want to determine if the point is inside the region or not, you iterate the function at that point (that is, take the output of the function and apply the function again repeatedly) and examine its value. If the value stays within the escape radius, regardless of the number of iterations, it is in the region. Otherwise, if the value exceeds the escape radius, it is outside of the region.
The image below illustrates the different behavior of the iterations depending on where the point is in UV space. If the point is close to the boundary of the region, many iterations are performed and form a repeating pattern, but they stay within a fixed distance of the origin. However, when the point is inside or outside the region, the iterations produce very simple curves.
You can choose among several shading methods. If you shaded based only on whether a point is in or out of the region, you have only a flat two color texture. Instead, you can base the color on how quickly the function escapes or settles (in other words, the number of iterations performed). Other methods include evaluating the path (or orbit) that the point follows in UV space while iterating, and using different properties of this path to map a color to the point (for example, evaluating how close the path comes to the origin, or the U or V axis).
Far away from the boundary of the set, the shading changes slowly because points close to each other move along similar paths. However, close to the boundary, points close to each other may have completely different paths while iterating, and a fractal shading pattern emerges.
For some of the other more complex fractals, Maya remaps the UV space (using another non-linear function) before iterations begin. When Maya maps another texture to the Mandelbrot set, Maya evaluates the direction and speed of the path to scale and rotate and layer copies of the texture at that point.
Mandelbrot Attributes
-
Mandelbrot Type
- Choose among four fractal evaluation types:
-
Mandelbrot Set: This is the standard Mandelbrot set. If you select the
Mandelbrot 3D node, the
Mandelbrot Set creates the Mandelbulb.
-
Mandelbox: This is a fractal with a box like shape and shares several properties with the
Mandelbrot Set. This evaluation type performs a recursive folding operation to create interesting geometric patterns. Use this evaluation type to create shapes that look less organic and more man made than that of the
Mandelbrot set. Use the
Box Radius,
Box Min Radius, and
Box Ratio attributes to control its evaluation.
-
Julia Set: Use this evaluation method to create swirling self similar patterns. Use the
Julia U and
Julia V attributes to control its shape. The standard
Mandelbrot Set contains all possible Julia sets, mapping the
Julia U and
Julia V attributes of the Julia set to the input UV positions.
-
Box with Julia Set: This is a combination of both the Julia set function and the Mandelbox function. It is a mirroring or folding of the set as it iterates. A wide variety of patterns are possible by varying the Mandelbox parameters along with the
Julia U and
Julia V attributes.
-
Box with Mandelbrot Set: This option combines the Mandelbox and Mandelbrot functions.
-
Mandelbrot Shade Method
- Choose among the different shading options for the Mandelbrot structure.
-
Classic: Shading is based on the total number of iterations performed before exceeding the escape radius.
-
Smooth: Similar to the classic set, but provides smooth transitions of colors between iterations so that there is no banding.
-
Minimum Radius: Shading is based on the smallest radius within all iterations.
-
Escape Radius: Shading is based on the radius in the final iteration.
-
Lines Only: Only the points, stalks and circles are drawn, with no background set.
-
Mandelbrot Inside Method
- Choose among the different options for shading the base Mandelbrot set for regions that fall inside the set.
-
Zero: Sets regions inside the set to a fixed zero value.
-
Max Iteration: Shades areas inside the set with the maximum iteration, which is the furthest right index of the color ramp. This matches the inside edge when used as a displacement map. This is the region where the function converges.
-
Shaded Inside: Performs a smooth shading of the internal values based on the radius. Points, circles and stalks are drawn on the inside.
-
Shaded Without Lines: Performs a smooth shading of the internal values based on the radius, but points, circles and stalks are drawn only on the outside.
-
Lines: Applies points, circles, and stalks on the inside but does not do any other shading.
-
Inner Lines Only: Applies points, circles, and stalks on the inside, but not to regions outside the set.
-
Zoom Factor
- Use this attribute to set the level of magnification. The actual zoom is 2 raised to the power of the
Zoom Factor. Therefore, a
Zoom Factor of 2 creates a zoom of 4 (2*2), while a
Zoom Factor of 3 would create a zoom of 8 (2*2*2). This results in a uniform rate of zoom.
-
Center U,
Center V
- Sets the center of view UV co-ordinates. The range of 0 to 1 is remapped as 0 to 100 for finer control. For the
Mandelbrot 3D node, X, Y, Z co-ordinates are used.
-
Fine Offset U,
Fine Offset V (only for Mandelbrot 2D node)
- This attribute offsets the
Center U and
Center V positions relative to the zoom, providing finer control at high zoom levels.
-
Depth
- Use this attribute to determine the amount of calculations performed to create the Mandelbrot texture. Fractal textures are created by an iterative mathematical process. More iterations produce a more detailed fractal, but demands more calculation time. The higher the
Depth value, the better one can resolve the border region of the Mandelbrot set. As you zoom into the fractal, a higher
Depth value is required for better precision and detail.
-
Lobes
- Determines the number of lobes in the Mandelbrot set fractal. The standard Mandelbrot set is power 2 and results in 1 lobe. Increase this value to create more lobes. You can obtain better results for the Mandelbulb by using a higher
Lobes setting.
-
Escape Radius
- An iteration stops when the
Escape Radius is exceeded. For the classic Mandelbrot set, use a value of 2 (or greater). However, for some variations on the set, higher iterations can be useful. With the checker effect, higher values create tighter bands. Values of lower than 2 can also be used to create interesting effects.
-
Leaf Effect
- Use this attribute to create leaves.
-
Checker
- Use this attribute to create alternating patterns. Use the
Escape Radius to determine the tightness of the checker pattern. Use values from 0 to 0.5 for the best results.
-
Points
- Use this attribute to create dots. The
Line Offset U and
Line Offset V attributes control the position of the points. Decrease the
Focus for a wider point.
-
Circles
-
Use this attribute to create a circle within each iteration.
-
Circle Radius
- Controls the size of the circles.
-
Circle Size Ratio
- Controls the rate at which the circle radius changes each iteration. For example, if the ratio is less than 1, the circle becomes smaller at each iteration. Use this attribute to get a range of circle sizes.
-
Stalks U,
Stalks V
- Create Pickover stalks using these attributes. Pickover stalks are created by using the distance to the U and V axes to create a stem-like structure. Use these attributes to shift the axes position.
-
Line Offset U,
Line Offset V
- Use these attributes to shift the location of points and stalks.
-
Line Offset Ratio
- This attribute controls the rate at which the line offset changes each iteration. The
Line Offset U and
Line Offset V values should be non-zero for this attribute to have an effect. The offset is multiplied by the ratio within each iteration. If the ratio is greater than 1, the offset is increased at each iteration. If the ratio is less than 1, the offset is decreased at each iteration.
-
Line Focus
- This attribute controls the sharpness of the circles and stalk lines. They become thinner as this value increases.
-
Line Blending
- This attribute creates smooth junctions between circles, points and stalks. You may need to increase the focus when adjusting this effect.
-
Julia U,
Julia V
-
Julia U is the first component of the complex number and
Julia V is the second or imaginary component of the complex number used to define the Julia set. Together, they are the coordinates in the complex plane.
The full Mandelbrot set automatically sets this coordinate to the UV coordinate and therefore contains all possible Julia sets. For a Julia set, however, you must specify this coordinate.
-
Box Radius
- Use this attribute to set the primary radius within each iteration for the Mandelbox and the hybrid evaluation types.
-
Box Min Radius
- Use this attribute to set the minimum radius within each iteration for the Mandelbox and the hybrid evaluation types.
-
Box Ratio
- Use this attribute to control the amount the radius is scaled each iteration, which determines the ratio of sizes between iterations. This is also known as the scale attribute.
-
Focus
- Focus determines how tightly the colors map to the set. For close up zooms, a higher focus can help push the colors closer to the boundary of the set. Focus also affects the mapping of the color ramp when orbit mapping (see
Orbit Mapping) is used, and you can use this attribute to control the rate at which the color changes with depth.
-
Shift
-
Shift offsets the output value of the Mandelbrot function before indexing the color map. Animating the shift can animate the flow of colors.
-
Amplitude
-
Amplitude multiplies the output value of the Mandelbrot function before mapping it to the alpha and color ramps. If the amplitude is large, then some values may be outside of the range of the ramp. These values will either clamp or wrap based on the
Wrap Amplitude attribute. This wrapping can be useful in creating many bands with only a few ramp indices.
-
Wrap Amplitude
-
Wrap Amplitude enables wrapping of Mandelbrot values greater than 1.0. When the amplitude is high, this allows the ramp to repeat, causing many bands with only a few ramp indices.
Color
Use this section to define the range of color values (ramp) to which the Mandelbrot function output values are remapped.
-
Selected Position
- Position of the active color entry in the ramp.
-
Selected Color
- The color of the active color entry.
-
Interpolation
-
Controls the way colors blend in the ramp. The default is
Linear.
-
None: There is no interpolation; the different colors show up as distinct bands in the final texture.
-
Linear: The values are interpolated linearly in RGB color space.
-
Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.
-
Spline: This takes into account neighboring indices for a smoother effect.
Value
Use this section to define the range of alpha values (ramp) to which the Mandelbrot function output values are remapped.
-
Selected Position
- Position of the active entry in the ramp.
-
Selected Value
- The value of the active entry.
-
Interpolation
-
Controls the way the intermediate values are calculated. The default is
Linear.
-
None: There is no interpolation; the different values show up as distinct bands in the final texture.
-
Linear: The values are interpolated linearly.
-
Smooth: The values are interpolated along a bell curve, so that each value on the ramp dominates the region around it, then blends quickly to the next value.
-
Spline: This takes into account neighboring indices for a smoother effect.
-
Orbit Map (only for Mandelbrot 2D node)
- Use this feature to map a texture to the local space of each iteration of the set. You should use textures with an alpha and turn off UV wrapping on the texture that is mapped. If you use UV wrapping then you should set the coverage to less than 1 and use translate to center the map. In addition, you can use the
Line Offset U and
Line Offset V values to better position the texture.
-
Orbit Mapping
-
-
Off: no texturing.
-
Front to Back: Orbit map is used and earlier iterations appear in front.
-
Back to Front: Orbit map is used and later iterations appear in front.
Note: When using
Front to Back mapping, a large
Escape Radius may cause early iterations (large images in the front) to obscure the later iterations (smaller images at the back). This is not an issue, however, for
Back to Front mapping, because the small, detailed images (late iterations) are in front. You can therefore use a high
Escape Radius with
Back to Front mapping. The
Tint
Orbit Map Coloring method may be useful for providing contrast to better see the fine details of the later iterations. See
Escape Radius for more information.
-
Orbit Map Coloring
-
Orbit map coloring allows you to color the orbit texture based on the iteration depth.
-
Fog: Gradually blends to color ramp values. If you use
Front to Back mapping, the earlier iterations (larger images) appear in front and maps to the texture color. The later iterations (smaller images) appear at the back and maps to the right ramp index. If you use
Back to Front mapping, the earlier iterations (larger images) appear at the back and map to the right ramp index. The later iterations (smaller images) appear at the front and map to the left ramp index.
-
Tint: Multiplies the color of the texture by the ramp color. For light tinting, select ramp colors close to white.
-
Implode
-
Implode warps the Mandelbrot function in a concentric fashion about a point defined by the
Implode Center. At a value of zero, there is no effect; while at a value of 1.0, it is a spherical projection of the noise function, creating a starburst effect. Negative values can be used to skew the noise outward instead of inward.
-
Implode Center
-
Use this attribute to define the center UV point (X, Y, Z point for
Mandelbrot 3D) about which the implode effect is defined.