## //----------------------------// ArtMatic 3 in 1 out components //----------------------------//

Introduction
Math tools #
S:P Maths #
Ax+By+Cz
Dot, Plane & Line
x:y * z
x*y + z
x * y * z
Logic tools #
Min <-> Max
z Blend
Blend by alt (z)
Displace by alt (z)
Random Mix
z Circles
z Bubbles
Facet pers
3D Sin x+Sin y+Sin z
3D Sin x*Sin y*Sin z
Pack(x,y,z)
3D Grid
3D Techno noise
3D Bubble & skins #
3D Spots
3D DF XYZ shapes #
3D DF shapes A #
3D DF shapes B #
3D DF noises #
3D DF Patterns #
3D DF Surfaces #
Turbulence pers
Techno pers
Random pers
Fractal Map
Mandelbrot set
Julia sets
Ferro magnet model
z Fractal lines
z Basalt rocks
z ridged Fractal noise
z Stone Clusters
3D Random
3D Perlin Noise
3D Multi Perlin noise
3D Fractal noise
3D MultiFractal noise
3D Cubic MultiFractal
3D Ridged Fractal
3D Fractal noises #
3D Terrains #
3D Textures #
3D Lunar rocks
3D Bubble rocks
3D Stratified noise
3D Crystal noise
3D Fractal Stucco
3D Fractal Puffy Clouds
3D Altocumulus Clouds
3D Ocean
3D Fractal lines
3D Random lines
3D Cellular
3D Fractal Bubbles
31 Compiled tree

## Introduction

These components provide a number of different functions: 3D surfaces/textures, mixers for blending surfaces, basic fractals. 31 components also include some important DFRM primitives for creating 3D objects in ArtMatic Voyager.
An essential in-depth discussion of ArtMatic structures Trees and components is found in ArtMatic Designer References and in Building trees.

Coordinate Notes: In the descriptions below, x, y and z refer to the components first, second, and third inputs. They are not necessarily x,y,z spatial coordinates since that depends entirely on the components which are feeding the inputs.

Many fractal noise functions have adaptive resolution and are band-limited to reduce high-frequency noise. These functions are recommended for designing systems for use in ArtMatic Voyager. The number of iterations and resolution of the functions are determined by both the cameras zoom level and the preference for fractal iterations. By being adaptive, the functions can deliver maximum detail at any zoom level.

Notes: With very high zoom levels, you may need to increase the Maximum Iterations for Fractals preference. Those components with a sienna-colored icon feature adaptive resolution and band-limiting.

## 31 Math tools #

parameters :
Depends on Algorithms.

discussion :
This component provides many useful ways of blending/compositing 3 branches and provides a number of valuable math primitives for advanced users.

algorithms :
• Distance :
The strict Euclidian distance or length(x,y,z) function : sqrt(x^2+y^2+z^2). Note that this equivalent to an inverted DF sphere. Connecting this output to a A - x tile will produce a sphere of radius A in 3D.
• A * dist(x y z) +B:
Scaled distance. Parameter A scales the distance and parameter B provides an offset.
• A * dist(x y z)^2 +B :
Returns a scaled and squared distance. Parameter A scales the distance squared. Parameter B is an offset added to the result.
• Norm : A/(dist(x y z)+B) :
Returns the scaled inverse distance. Value in the center become A/B and slowly vanishes to zero at infinity.
• Average :
Returns the strict Average of the three inputs when A=1 and B=0: (x+y+z)/3. Parameter A is amplitude, and B is offset.
• Double blend :
Blends x with y then the result with y using circular interpolation. It is faster but equivalent to a double use of the 21 interpolate # tile using "Rotate Interpolation" mode.

• z Cubic Interpolate clipped :
Cubic interpolation of the x & y where the z is the interpolator. z is scaled by "Blend speed" and offseted by "Offset" before being clipped to (0-1). Using this function allows blending 2 signals or surfaces with another signal or surface. The clipping ensures a true interpolation between x and y.
Equation : x+ cubic(z)*(y-x), cubic(z) being (z*(z*(3.-z-z))).
• z Interpolate unclipped :
Linear interpolation of x & y where the z input is the interpolator scaled by "Blend speed" and offseted by "Offset". Use Blend speed at 1 and offset at zero to not modify the blending slope. If z goes below 0 and above 1 the function will modify x or y in complex ways and won't be a strict interpolation. Equation : x+ z*(y-x)

• x+A*(y*z) :
ArtMatic Engine 8.0 : returns x + 'Amplitude' * y*z. This function optimises an addition with a scaled value, operation often used for displacements or sound design when z provide an envelope signal. Use -1 in 'Amplitude' to get x-yz.
• (x+A*y)*z :
returns x + 'Amplitude' * y)* z.
• (x+A*y)/z :
returns x + 'Amplitude' * y)/ z.
• z Rotate(x,y) :
Rotates the x and y inputs using z as an angle value in radian an returns the rotated x which will be equal to x*cos(z)+y*sin(z). This function has no parameters.

• Voyager light dot product :
returns the dot product of incoming (x,y,z) with the ArtMatic Voyager light vector.
When used in ArtMatic the VY light vector is set to a constant default value.
• Voyager viewray dot product :
returns the dot product of incoming (x,y,z) with the ArtMatic Voyager view ray vector.
This can be used to create special shaders where the color is modulated by the view angle.
• Voyager specular :
Returns the dot product of Reflected ArtMatic Voyager light direction with the view vector incoming (x,y,z) defining the Normal . This can be used along with the Voyager light dot product to add specular highlight to a planet in 2D or 3D Sky. Typically the specular output is fed into a power function to control the spread of the highlight.
• N Orientation index:
Assuming the input is a 3D normal (given from Voyager or computed), N Orientation Index return 1 when dy is greatest magnitude then 0 when dy has greater magnitude than dz and 2 otherwise. This is typically used to select which space projection to take from 3D for 2D texture mapping depending on the slope of the model. It works well for rectangles and architectural models but will yield discontinuous mapping for conics. In general the index is passed to a 44 Packed index (w) Mixer tile to select between various projection and textures.
• Iteration break (|v|>32) :
Iteration break is an optimisation tool for advanced users to avoid uneccessary calculations when computing recursive systems like fractals or iterative graphics. When magnitude of space coordinates (the length of (x,y,z) vector) exceeds 32 the iterations are stopped. This is quite efficient for recursive systems that have orbits escaping to infinity.

## 31 S:P Maths #

parameters :
A : Amplitude x (0. : 1.)
B : Amplitude y (0. : 1.)
C : Amplitude z (-1. : 1.)

algorithms :
Weighted addition of X, Y and Z. Parameter C 'Amplitude z' can go negative so you may use it to substract Z.
• Blend: ((X:Y):Z)
Crossfade X and Y then fade Z to the result. Parameter A and B controls the fades.
• Multiply: (X*Y*Z)
Multiplies all channels. Parameter C controls the weight of the multiplication while 'Add' offsets the level of Y & Z prior multiplication. When C is zero output is X only. When B & C are 1 and A is 0 output will be Y*Z.
• Add Y & Mul Z: ((X+Y)*Z)
Perform an additive mix of inputs X and Y and filter the result with input Z. Parameters A and B controls the mix of inputs X and Y. Parameter C determines how much filtering Z provides.
• Mul Y & Add Z: ((X*Y)+Z)
As a mixer, this function is often used for global illumination implementation where Y is the light that multiplies the X texture and Z the added specular highlights and reflections. Parameter B controls how much Y multiplies X while Parameter C controls how much Z is added to the mix.
• Blend XY by Z: (X+ Z*(Y-X))
When inputs are vectors this new operator blends all channels of X & Y with Z (xyzw) values in parallel. if Z is scalar and X & Y RGB or RGBA "Blend XY by Z" is equivalent to the 33 Packed_RGB_Alpha component. When input are scalar is will be equivalent to the 31 z-blend component. Note that Z<=0 result in X only while Z>=1 result in Y only.

## 31 Ax+By+Cz

parameters :
A : Scale X (-16. : 16.)
B : Scale Y (-16. : 16.)
C : Scale Z (-16. : 16.)

discussion :
This component provides a weighted mix of the input : it is the dot product of parameter vector(A,B,C) with incoming XYZ coordinates. The three scale parameters act like level controls which determine how much of each input is present in the output. An input is essentially ignored if the corresponding scale parameter is set to 0.
Formula: Ax + By + Cz

## 31 Dot, Plane & Line

parameters :
A : Plane/Line x (-2. : 2.)
B : Plane/Line y (-2. : 2.)
C : Plane/Line z (-2. : 2.)
D : Offset (-32. : 32.)

discussion :
Parameters A to C specifiy the plane
normal vector from which various DF fields can be returned like infinite planes and tubes of arbitrary directions. Useful for 3D modeling this primitive is usually mixed with others to create complex objects with logical boolean operation as provided by S:P Logic &Profiles.
For convenience it also provides some dot product calculations useful for shading.

algorithms :
• 3D DF Plane (+):
Creates an infinite solid plane oriented +
• 3D DF Plane (-):
Creates an infinite solid plane oriented -
• 3D DF Plane Abs:
Creates an infinite plane contour. The plane thickness is controlled by the 4th parameter.
• 3D DF Tube Line :
Creates a DF field of a tube in the direction of the parametric normal.
• 3D DF Square Line :
Creates a DF field of square-section tube in the direction of the parametric normal.
• Dot product params.N:
Return the dot product of the incoming (x,y,z) with the parametric normal. The input is normalized before the dot is performed.
• Dot product L.N (V 8.07):
Return the dot product of the incoming Normal vector with the parametric light direction. The input vector is assumed to be already normalized before the dot is performed. This product is commonly used for diffuse illumination amount calculation.
The fourth parameter provides a small offset of the dot product and should generally be left at 0. When both the diffuse and specular channels are needed you can use the 32 Illumination component.
• Dot product R.V (V 8.07):
Return the dot product of the implicit view vector V (0,0,1) with the specular reflected light direction R. The input vector is assumed to be already normalized before the dot product is performed. Use R.V for specular hilits shaders.
The fourth parameter sets the power of the specular to control the spread of the hilit. The reflected light vector R is computed as L-2 dot(N,L)*N. When both the diffuse and specular channels are needed you can use the 32 Illumination component.

## 31 x:y * z

parameters :
A : Balance xy (0. : 1.)
B : Amplitude z (0. : 1.)

discussion :
This math component mixes the x and y inputs by interpolating between them and uses the z input to multiply the mix. This is a great way to animate a transition from one image to another using the z input as an additional modulation. If z is connected to a derivative or an illumination branch it can provide an independent shading.
Formula: mix(x,y,A)*B*z

## 31 x * y * z

parameters :
A : Scale (0. : 2.)

discussion :
Math primitive that multiplies all inputs.
Formula: A(x * y * z)

## 31 Logic tools #

parameters :
A : Amplitude (-2. : 2.)
B : Smoothness % (0. : 32.)
C : Thickness % (Algorithm dependent)

discussion :
This component provides a number of logical operators for combining 3 streams (usually DF objects) in complex ways. For instance, it can be used to combine/intersect, three DF objects to create complex shapes. 34 Packed z Morph provides similar functions for packed streams (for mixing several colored objects). See also:
21 Logic tools # # and 24 Packed Logic # for illustrations of Logic transforms similar to those provided by 31 Logic Tools.

Example: DF terrain Dfnoises

algorithms :
• Maximum (union):
The maximum of the three inputs. (Equivalent of boolean OR.)
• Minimum (intersection):
The minimum of the three inputs. (Equivalent of boolean AND.)
• Chisel union:
• Chisel intersect:
• Minus max abs (Manhattan dist):
When the input is raw 3D space (global inputs XYZ), the result is a DF cube whose edges can be rounded by the smoothing parameter. Interesting DF solids can be made by feed the output of 3D Spaces through this algorithm.
• Min abs (contours):
Returns the minimum of absolute values of all inputs. 'Thickness' is substracted from the result to give emerging lines more flesh.
• Minus min abs (contours):
This can turn any DF solid into a hollow object.
• Union xy & intersect z:
This algorithm provides the union of x and y then the intersection with z. A pure DF implementation without scaling and with a Thickness parameter to offset the z intersector.
• Union xy & subtract z:
This algorithm provides the union of x and y then the subtraction with z. A pure DF implementation without scaling and with a Thickness parameter to offset the z intersector, taken as -z for substraction
• Union xy & intersect z blend x:
This algorithm provides the union of x and y then the intersection with z. An optional blend with x is possible when parameter "blend with x" is >0.
• Intersect yz & Union x blend (x+z):
This algorithm provides the union of x and the intersection of y and z. Furthermore it blends the result with a mix of x and z
• Max(Min(|x|,|y|),z):
Returns the maximum of z and min (|x|, |y|). The result is always ≥ 0 and needs to be inverted for DFRM. See 31 Logic MaxMin Contours for an example. If the y and z inputs are the same surface, the result is a combination of the x and y inputs with x also being carved out from y from the inside. See the example 31 Logic Contours to observe the difference between this algorithm and Reversed Min Abs.
• Underlay:
Performs the Underlay logic operation on 3 inputs. See the Underlay section.
• Overlay:
Performs the Overlay logic operation on 3 inputs. See the Overlay section.
• Xor:
Performs the Xor logic operation on 3 inputs.
• Union Xor:
Performs the Union Xor logic operation on 3 inputs.
• Union of Intersects, Partial Union of Intersects, Intersect x with yz displaced:
• The set has 3 algorithms quite useful for 3D volumetric terrain modeling. They all have a smoothing parameter in B and a morphing parameter in A.

• "Union of Intersects"
• Intersect y & x and z & x separately then does the union of both. Parameter A allow to further morph the result with x;
• Parameter C sets the chisel cut for the boolean operations.
• "Partial Union of Intersects"
• Intersect y & x and z & x separately then does a partial union of both with x, leaving the center of x intact.
• Parameter A allow to further morph the result with x;
• Parameter C sets the chisel cut for the boolean operations.
• "Intersect x with yz Displaced"
• Does a partial intersect (displace) of y by z then intersect the result with x. The amount of displacement of y is controlled by parameter D.
• Parameter A allow to further morph the result with x;
• Parameter C sets the chisel cut for the boolean operations.

• Median :
Implements the true median whose formula is (min(x,y,z)+max(x,y,z))/2
• Choose x if z- or y if z+:
This algorithm provides a switch. The sign of the z-input determines whether the x or the y input is passed through as the output. It is the ArtMatic equivalent of an if..then..else statement. Where z is greater than 0, the x-input value is sent out. Where z is less than 0, the y input is sent out. See the Logic 2D ArtMatic example files.
• Morph x to y in z:
Useful algorithm for blending 3D paths or volumes using a weighted max.
• Morph x to y to x in z :
Useful algorithm for blending 3D paths or volumes using a weighted max.

## 31 Min <-> Max

parameters :
A : Amplitude (0. : 2.)
B : Min to Max (0. : 1.)
C : Smoothing (0. : 16.)

discussion :

## 31 z Blend

parameters :
A : z scale (0. : 1.)

## 31 Blend by alt (z)

parameters :
A : Altitude fx (-16. : 16.)
B : Altitude fy (-8. : 32.)
C : Range (0.10 : 8.)

discussion :
This component mixes the (x,y) inputs using the z input to control the blending. Feed this tile with the output of 2 surfaces that you want to blend under the control of a third. When the Z values are within the range specified by Altitude fx and the Range parameter, the x surface is selected. When the Z values are within the range specified by Altitude fy and the Range parameter, the y surface is selected. Everywhere else, the Z surface itself appears. The Range parameter determines the range of values to be replaced--Altitude fx and Altitude fy specify the range's center, and Range specifies the range width. The x input always appears at lower altitudes than the Y input. Parameter B must be larger than parameter A for the x input to appear.

This component is a very powerful component when designing terrains for ArtMatic Voyager as it allows complex composite terrains to be made by combining two disparate terrains under the control of another. Example: The lower texture (input x) is the Cellular noise component and the higher texture (input y) is Sparse Fractal Rocks.

## 31 Displace by alt (z)

parameters :
A : Altitude fx (-16. : 16.)
B : Altitude fy (-4. : 32.)
C : Range (0.10 : 8.)

discussion :
This component is similar to Blend by Alt. Rather than mix the (x,y) inputs (left and middle) according to the contours of the third input, this component selectively adds the values from the left and middle inputs to the values in the third input.

For example, take a system that has Cellular Noise as the left (x) input, Sparse Fractal Rocks as the second input, and a noise function to blend them. The features provided by the x and y inputs (Cellular Noise and Sparse Fractal Rocks) are added to the terrain provided by the third input. In essence, this component adds the x input to the Z input at low elevation and adds the y input to the z input at higher elevations with parameters A and B (in combination with parameter C) determining where the transitions occur.

## 31 Random Mix

parameters :
A : Amount (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
This component randomly mixes the three input surfaces. This component is especially useful for creating composite images or surfaces (for use with ArtMatic Voyager) that randomly mix elements from its inputs. When Amount is 0, the output is provided entirely by the left input. The order of the inputs is significant. The dominant surface should be the left input.

When creating systems for use with ArtMatic Voyager, this simplifies the task of creating rich varied topographies.

parameters :
A : Amplitude (0.50 : 3.)
B : Z scale (-2. : 2.)
C : Contrast (-2. : 2.)

discussion :
This component can generate complex shading/banding where the shading is controlled by the z input.

Basic Formula: sin(x + y + B z) (The basic equation is further modulated by the amplitude and contrast parameters.)

## 31 z Circles

parameters :
A : Frequency (0.06 : 6.28)
B : Contrast (0.50 : 2.)
C : Altitude (-2. : 2.)

discussion :
This periodic component has a pointillation, pixellation or dither-type effect and only works well with some sorts of systems. If the first two inputs define a spatial position, the z value will effectively control the amount of pixellation.

## 31 z Bubbles

parameters :
A : Scale (-2. : 2.)
B : Contrast (-2. : 2.)
C : Phase (-2. : 2.)

discussion :
This function distorts space with superimposed cylinders/bubbles. The interaction between the inputs can be quite complex. Animating the phase parameter can create fascinating mixing, morphing of the inputs and the distortion bubbles.

## 31 Facet pers

parameters :
A : Frequency (0. : 2.)
B : Z scale (-0.50 : 0.50)
C : Contrast (0. : 1.)

discussion :
This component generates a mosaic pattern with a perspective effect imposed by the z-input.

## 31 3D Sin x+Sin y+Sin z

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 8.)

discussion :
This periodic component tends to create dimpled textures. It can be used either as a mixer or as a 3D texture generator.

## 31 3D Sin x*Sin y*Sin z

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 8.)

discussion :
This periodic component tends to create dimpled or egg-crate like textures. It can be used either as a mixer or as a 3D texture generator.

parameters :
Algorithm slider : (0 : 15)
B : Phase (-32. : 32.)
C : Frequency (0. : 16.)

discussion :
This component creates radial noises that provide interesting surface features to add to 3D objects (primarily those that will be rendered from ArtMatic Voyager), especially vegetation.

The displacements radiate outwards from a vertically-oriented cylinder. To use Radial Displace with DF objects, add the output of Radial Displace to the object's output value as shown in the example tree. The radial displace noises are in themselves not DF compliant but when added slightly to a DF object they will add interesting details without compromising the convergence. The spherical variants use a spherical projection instead of a radial (cylindric projection) to add details.

Note: For the math-minded, Radial Displace creates displacement of the angle/distance/y-axis with a displacement vector pointed towards an outward x/z cylinder.

Example: A sphere and plane displaced by Fibrous Segmented #

Example: A sphere and plane displaced by Petales #

Example: A sphere and plane displaced by Upward Spikes

Example: A sphere and plane displaced by Bumps A

Example: A sphere and plane displaced by Spherical Spikes +

Example: A sphere and plane displaced by Spherical Bumps C

algorithms :
• Y Segmented :
• Fibrous Segmented :
• Petales :
• Sparse Spikes :
• Upward Spikes :
• Saw and Spikes :
• Bumps A :
• Bumps B :
• Random :
• Spherical Spikes * :
• Spherical Spikes + :
• Spherical Bumps A :
• Spherical Bumps B :
• Spherical Bumps C :
• Spherical Random :
A periodic random noise is spherically projected on the receiving object.

## 31 Pack(x,y,z)

parameters :
No parameters.

discussion :
Use this component to pack the output of 3 output functions into a single packet which can be passed to packed functions. The output of this function should only be passed to components that expect packed input. As the number of inputs is limited packing is necessary to compact data for vectors operations. For example adding two 3D vectors would require 6 inputs. By packing data you can use the special "packed" functions to operate on RGB, RGBA streams and 3D or 4D vectors. Functions like
21 S:P Maths can operate indifferently with vector or scalar inputs but will return a packed result. Otherwise most functions that takes packed data will output an unpacked vector like 24 Packed Logic or 23 Packed Vector Maths #
You can also pack 4 values using 41 Pack(x,y,z,w).

## 31 3D Grid

parameters :
A : Contrast % (0. : 100.)
B : Phase (-32. : 32.)
C : Frequency (0. : 64.)
D : Width % (0. : 1.)

algorithms :
• White lines :
• Black lines :
• DF lines :
• Neon lines :
• Legacy :

## 31 3D Techno noise

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
True 3D version of the 2D Techno Noise component.

## 31 3D Bubble & skins #

parameters :
A : Amplitude (-4. : 4.)
B : Phase & style or Mutation (-32. : 32.)
C : Frequency (0. : 32.)

algorithms :
• Bubble 3D :
Depending on the "Amplitude" It will outputs bumps or holes on a 3D voronoi diagram network.

• Smooth Bubble skin:
Depending on the "Amplitude" It will outputs bumps or holes created with a smooth 3D voronoi diagram network.

• Fish skin A:
• Fish skin B:
• Fish skin C:

• Reptilian skin A:
• Reptilian skin B:
• Reptilian skin C:
• Reptilian skin D:
• Reptilian hexa scales:
This series was made to evoke reptilian skin patterns.

• Alien Skin A:

• Alien Skin B:
• Alien Skin C:

• Smooth Voronoi:
• Voronoi Skin A:
• Voronoi Skin B:
Implements variations of a smooth 3D Voronoi texture. While the Smooth Voronoi renders the distance field directly the others flatten the edges of each cells.

• Voronoi splits:
Split each voronoi cell into 2 or 3 regions oriented randomly. The cells are rendered to have the cell edges at zero. It is the 3D version of the 21 Bubble & Skins "Voronoi splits". The 'Mutation' parameter controls the probability to have a 3 split rather than 2. The smoothness controls the smoothing of the edges.

• Voronoi density :
Voronoi density is the 3D equivalent of the 2D implementation in Bubble & Skins . 'Mutation' parameter controls the density probability. At zero 'Mutation' the voronoi cells are mostly zero.
Voronoi density can be used to create rocks and volumetric textures.

• Random disks stratas
Each voronoi cell is rendered as a thin disk with an orientation depending on the 'Mutation' parameter. At minimum the jittered disks are laying with a normal facing upward. Seen from the side it evoques a set of highly directionnal random strokes. At maximum the disks are oriented in x while in the middle the disks are oriented completely randomly. Nice animations can be done in 2D when sliding the texture trough z using time (w input). With high smoothing values the function can also be used to design terrains or sculpt DF objects.
Example : Libraries/Components demo/31 Randomdisks

• Random dir bumps :
Overlap of directional bumps. Parameter B 'Phase & style' changes the direction of the slope in each bump. At -32 they are all oriented x, at 32 all in y, in the middle they are randomly oriented. It creates a organic looking texture reminiscent of reaction-diffusion algorithms.

• Random splits:
Based on 3D saw waves this texture splits the space for each cell and recursively calls itself with random rotations. It partition the space in smaller irreguar areas upon 3 iterations. When smoothed and rotated it might be used as organic alien texture but it is also a great primitive for faults in rocks textures as well as decorative pattern.

• Density bumps & holes:
Parameter B controls density of bumps & holes.

• Density craters:
A 3D crater texture for planets. Parameter B controls density.

• Density power dots:
Parameter B 'Phase & style' controls density of powered bumps. Bumps are raised randomly from power 2 to power 8. The function is available in 2D as well.

• Density star lights : (8.07)
This algorithm provides a less homogenous and more realistic stars background 3D noise. Lights halo fades according to inverse distance to the center. It can be used also to creates various sized spikes on a surface.
The function is available in 2D as well in Bubble & Skins . Parameter B controls the "stars" density.

• Density ripples: (8.07)
Each voronoi cell is rendered as a sines ripple circle. Frequencies of ripples increases with density. The overlapping of various ripples creates a unique organic noise texture. The Parameter D adds control to the phase of the ripples.

• Density cubic cells: (8.07)
Each voronoi cell is rendered as a cubic filtered cell. The Parameter B controls cell density while parameter D 'Jitter' explicitely controls the randomisation of each cell. With low jitter value this mode creates interesting semi-regular structured organic noise suited for skin and plant texturing.

## 31 3D Spots

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 64.)

discussion :
3D scalar texture reminiscent of a star field. "Density power dots" in
3D Bubble & skins # provides a similar function with an additional control of density.

## 31 3D DF XYZ shapes #

parameters :
A : Radius (0.02 : 50.)
B : Size X (0. : 32.)
C : Size Y (0. : 32.)
D : Size Z (0. : 32.)

discussion :
3D DF XYZ shapes provides a set of DF primitives that can be stretched in XYZ direction independently. They are great starting point for 3D architectural and design work with Voyager but can also be used in 2D graphics if the distance field is scaled to create a mask. Most of them are self explanatory.

The global radius scales the entire object while 3 other parameters resizes each axis individually mostly by stretching the space. So a sphere with sizes (4,4,4) will look like a rounded box, and a sphere with (1,4,1) will look like a round edged column or a "capsule" like provided in the DF Shapes set B

Algorithms Notes: There are options to have chisel caps instead of hard edges. Pure conics like sphere and ovoid that don't have edges, ignore the option. The options are:

• Center Growth - Center will be kept at zero when radius is increased.
• Growth Up Only - Volume will grow up when radius is increased so the base stays at the same location, which is needed for buildings and architecture.
• Center Growth, Chisel Caps
• Growth Up Only, Chisel Caps

Example: A Convex box in y at Size (2,4,1) with chisel caps.

Example: An Arch cut box at Size (2,3,2) with chisel caps.

algorithms :
• Box :
Box can have any sizes so you can use it for flat platforms (4,0.1,4), walls in z (0.1,4,8) and any kind of rectangles.
• Smooth box :
Box with round edges.
• Sphere :
• Cylinder :
• Pointed cylinder :
• Smooth slanted cylinder :
• Cone :
• Sphere & Cone :
• Ovoid :
This set provides most conics with some variations like the sphere that turns upward into a cone.
• Triangle prism :
• Smooth triangle :
• 3-Pyramid :
• 4-Pyramid :
• Chisel(xz 45 degrees)box :
A box whose top part is cut at 45 degrees
• Slanted box (z) :
The slant starts at bottom and goes to the top on opposite side in z axis.
• Half slanted box (z) :
The slant starts at middle height and goes to the top on opposite side in z axis.
• Convex box (y) :
• Convex box (z) :
• Concave box (z) :
• Roman Arch :
Arch in x. For a round arch keep x scale at one.
• Roman Arch xz :
Arch in x & z. For a round arch keep x scale at one.
• Goth Arch :
Pointed Arch in x.
• Goth Arch xz :
Pointed Arch in x & z.
• Cross box :
A cross shaped box.
• Door cut box :
A box cut by a rectangle cross.
• Arch cut box :
A box cut by a cross arch.

## 31 3D DF shapes A #

parameters :
Algorithm slider : (0 : 31)
B : Radius (0. : 64.)
C : Amplitude (-2. : 2.)

discussion :
DF Shapes A provides basic and advanced DF 3D objects for ArtMatic Voyager. The algorithms can be set with parameter "Algorithm slider " or chosen with a iconic pop up menu. In general, the surface of the volume defined by a distance field is the zero crossing of the field . The value goes to -infinity when moving far away from the object and shall be a good approximation of the distance to the surface. The value is positive inside the object but still indicates the distance to the surface. For MUCH more about DFRM technics and DF objects, see the DFRM guide. Parameter D provides height control for some algorithms and branch thinning for the branch primitives. Ring (torus) uses parameter D to control the ring radius.

algorithms :
• Sphere :
The most basic DF volume : A sphere. The sphere equation (R- length(P)) is in itself a DF field as the non zero value are the exact distance from the sphere surface. An undistorted, unscaled sphere of radius 1 (the unit sphere) has a radius of 20 meters in ArtMatic Voyager.
• Tube y (Column) :
• Tube x axis :
• Tube z axis :
Various orientation of infinite DF tubes
• Ring xz plane :
• Ring zy plane :
• Ring xy plane :
Various orientation of DF Toruses
• Saucer xz :
• Cone :
A cone oriented upward and infinite in y-
• Pyramid :
A pyramid oriented upward and infinite in y-
• Cube :
• Smooth Cube :
• Cylinder :
• Obelisk :
• Arch y :
• Rounded Tube y :
• Spheres cluster xz :
• Spheres cluster :
• Column cluster xz :
• Cubes cluster xz :
• Cubes cluster :
• Plate xz :
• Panel xy :
• Frame xy :
• Hollow Tube z :
• Leave y :
• Grass y :
• Branch : Parameter C controls the branch length.
• Branch striated : Parameter C controls the branch length.
• Spiky Branch : Parameter C controls the branch length.
• Cactus Branch : Parameter C controls the branch length.
• Twirl Bumped Branch :
Parameter C controls the branch length.

## 31 3D DF shapes B #

parameters :
A : Thickness (0. : 16.)
B : Smoothing (0. : 16.)

discussion :
This component provides useful 3D object primitives that are especially useful for creature design. The rotation parameter options can rotate the whole shape (with the exception of the the first two shape algorithms) and/or limit the shape to one side of the axis. Parameter notes. The parameters vary by algorithm. For most of the algorithms, parameter A controls the thickness/radius, parameter B the smoothing, and parameter C the spread (the object's growth). Parameter D provides period control for the hairy tube algorithms.

Notes: Hairy Tubes - these are cylinders with protruding hairs, spike or bumps. They have an advantage over other techniques that create protrusions because they do not distort space. Methods of creating protrusions via space distortion may destabilize the underlining distance fields which can result in artifacts or overlong render times. The Hairy Tubes are infinite shapes intended to be blended with finite shapes to make the cylinders finite.

Hairy Tubes Parameters: A: Radial Frequency - number of spikes. B: Smoothing - controls the size of the spikes base. At 0, the spikes are uniformly thin. C: Spread % - the spike length. D: Axis Frequency - the distance between the rings of spikes. Together, Spread and Smoothing can be used to change the character of the protrusions allowing you to create spikes, hairs or bumps.

algorithms :
• XYZ Axis tubes :
3 intersecting tubes aligned along the x, y, and z axes.
• Star Axis tubes :
Intersecting tubes radiating from a central point every 45 degrees. This algorithm is useful for tentacles, some invertebrates, and microorganisms.
• 5 Tubes :
Another good starting point for tentacles. Spread controls angle of the tubes.
• 4 Tubes :
A useful primitive for creating vertebrate legs. See the OLife examples.
• 6 Tubes :
Useful for insectoid legs.
• 8 Tubes :
Useful for arachnoid and arthropod legs.
• Capsule :
Elongated-sphere/capsule shape. Spread sets the length.
• Conic capsule :
An egg-shaped capsule with a rounded conical top (when oriented in y) and round bottom. This shape is useful for plant and animal parts. Parameters: A-Thickness. B-Slope. C-Spread.
• Boxoid :
Box shape with control over edge rounding.
• Ovoid :
Ovoid primitive. Useful for fish bodies.
• Discoid prism z :
• Discoid prism x :
• Triangle prism z :
Useful for wings and fins.
• Triangle prism x :
Useful for wings and fins.
• Power arc prism z :
• Power dome :
• Cone exponential:
A finite cone. Parameters: A. Thickness. B: Bending. C: Spread.
• Helicoidal plane :
A spiraled plane that is infinite along the main axis. Spread determines the spacing of the spirals.
• Helicoidal plane 2:
Two interleaved spiraled planes.
• Helicoidal torus :
A torus in an helicoidal space. An infinite coil.
• Helicoidal torus 2:
Two interleaved and interphased toruses in the same helicoidal space. The primitive is infinite in the main axis.
• Helicoidal exp:
A spring where the coils become increasingly and exponentially more narrow on the main axis.
• Helicoidal box :
A spring with ribbon-like windings whose cross-section is rectangular.
• Finite round tube :
A finite tube with rounded ends. Spread % (parameter C) sets the tube length.
• Hairy tube 90° :
An infinite cylinder with radially-oriented spikes that stick straight out from the cylinder.
• Hairy tube 60° :
Similar to hairy tube 90 except that the spikes stick out at a 60 degree angle from the cylinder.
• Crested tube:
An infinite tube with a protruding sawtooth-shaped crest. Parameters: A - Radial Freq. B - Smoothing. C - Spread. D - Axis Freq.
• Infinite hairy tube :
This tube has infinitely long hairs whose angle is controlled by the spread parameter.

## 31 3D DF noises #

parameters :
Algorithm slider : (0 : 26)
B : Scale (0.03 : 64.)
C : Amplitude (-16. : 16.)

discussion :
This component provides a variety of 3D noise that can be blended with a density field object (DFRM object). The output range is infinite so it needs to be intersected or blended with a finite object to bound it. 3D Density Noise (depending on how it is used) can add texture to a surface (as seen in the Textured Torus examples below) or transform a primitive shape like a sphere into something much more interesting. Typically, 3D Density Noise's output will be combined with the output of a density field object using a component like
21 Logic tools # # or S:P Logic & Profiles #.

Example: Rect 3d grid # - Diamond grid intersecting a cube. Thickness of the grid was reduced by -1.5

Example: Diamond 3d grid # - Diamond grid intersecting a cube.

Example: Spheroid noise #

Example: Jitter spheres #

Example: Random boxes #

Example: Lines network # - Lines network intersecting a sphere.

Example: Random jitter columns # - Random columns intersecting a sphere.

Example: Voronoi network # - Voronoi network sphere.

algorithms :
• Cylinder 3d grid :
A 3D grid made of circular section.
• Rect 3d grid :
A 3D grid made of square section.
• Diamond 3d grid :
A 3D grid made of lozenges profile.
• Sphere 3d grid :
An infinite number of spheres placed on a 3D grid.
• Spheroid noise :
Size-randomized spheres placed on a a 3D grid.
• Cuboid noise :
Size-randomized blocks placed on a a 3D grid.
• Jitter spheres :
• Random boxes :
• Lines network :
• Random plates :
Thin squared plates in random axis but placed on the 3D grid.
• Random polygons :
Random box slanted by randomly oriented planes providing a set of irregular polyhedrons.
• Saw x :
• Saw y :
• Saw z :
Simple single axis saw waves.
• Saw xy :
• Saw xz :
Simple double axis saw waves.
• Random columns :
• Vertical sparse boxes :
• Random jitter columns #:
• Vertical jitter boxes :
placed randomly on the xz plane they are infinity vertically. One set is furthermore jittered to avoid obvious grid alignment.tomment
• Voronoi network :
a 3D DF voronoi network.
• Voronoi max networks :
A combination of 3D DF voronoi network at various frequencies using min or max logic.
• Voronoi min networks :
A combination of 3D DF voronoi network at various frequencies using min or max logic.
• OctoCrystal rock :
A random sharp edged noise suitable for rock textures.
• Density random cubes :
• Density random plates :
• Density chisel boxes :
Various jittered random DF shapes noises. The last parameter controls the density from low to high. Density random plates are thin plates randomly placed but oriented up (xz plane only).

## 31 3D DF Patterns #

parameters :
A : Thickness (-1. : 1.)
B : Phase (-16. : 16.)
C : Frequency (0.03 : 32.)
D : Smoothness % (0. : 1.)

discussion :
3D DF Patterns proposes 3D equivalents of procedural 21 DF patterns when possible and a series of patterns useful for design and architecture. "Thickness" parameter will adjust the zero crossing of the volume, thus it's thickness. Most of the patterns are semi random and don't display cycles over large scales.

Example: Random panels & diagonals - modulating a round box.

Example: Chisel maze & floors - intersect with a cube.

Example: Mixed blocks mutate - modulating a round box.

algorithms :
• Maze tubes :
A 3D equivalent of the 2D Mazes but made with tubes that randomly exist in the 3 axis of a 3D square grid.
• Maze planes :
A random maze of planes oriented in x, y or y.
• Mutation maze 3D :
The 'Mutation' parameter controls the probably of having horizontal panels or verticals. At maximum only vertical panels will remain yielding a vertical saw grid while at minimum only horizontal will.
• Organic maze mutate :
The Pattern is created by the random overlapping of tubes with random orientations that are smoothly blended. Mutation parameter mutates the orientations and some internal parameters.
• Octa mutation network :
Similar to the 2D version Octa mutation network. The mutation parameter also sets the probability to have a sphere or a cube at the network intersects.
• Recursive blocks L2 :
2 level of recursive positives cubic blocks.
• Recursive blocks L4 :
4 level of recursive positives cubic blocks.
• Recursive blocks balanced :
3 level of recursive positives & negatives cubic blocks.
• Random blocks A :
Blocks of various sizes positive and negatives.
• Random blocks B :
Blocks of various sizes positive and negatives.
• Random blocks & grids :
• Random panels :
• Random panels & diagonals :
• Random cubes & diagonals :
• Random lozenges :
• Random tubular xz :
• Random tubular :
• TetraMaze xz & floors :
• TetraGrid xy :
• Recursive TetraGrid xy :
• Floors :
• Pilars & walls maze :
• Pilars & floors :
• Basic building :
• Bahaus building :
• Building Cross 45 :
• Cross 45 panels :
• Building composite A :
• Building composite B :
This set was designed for Architecture volumetric texturing. They can add details and features to building and DF architecture.
• Sphere & blocks grid :
• Grids & mazes pattern :
• Chisel box mutate :
Random chisel blocks. Mutation parameter controls the density, here the probability of a block to be positif.
• Chisel maze & floors :
A 3D pattern made with overlapping of the various chisels blocks cuts chisel maxed with floors planes. Mutation parameter controls the density.
• Mixed wall pattern :
• Mixed blocks pattern :
• Mixed blocks mutate :
Another block pattern with various shapes (chisel box, box, spheres, grids) chosen randomly, great for architecture and spaceships. Mutation parameter controls probability of a block to be positive or negative (holes) and the choice of the shape within. The pattern is mostly random with periodic bands of zones that stays positive.

You can build amazingly complex fractal-like shapes by using these DF patterns iteratively. For example, you can subtract various scaled versions of a pattern from a volume. You can also use the 21 Logic tools # partial subtract to cut smaller and smaller portions from a volume.

The Random spheres pattern applied iteratively on a volume using Logic Tools partial subtract

You can also use a straight subtract with 21 Logic tools #, but the volume tends to disappear quickly. However many of the logic tools provide a blend control so you can attenuate the disappearance across iterations as in the example file Voyager 4.O examples/DF Fractales V7 /DF Pattern fractales/DF Pattern Fractal BorgCube.vy where the pattern's intersection is blended at O.25 with the original. Another possibility is to accumulate several octaves of the texture in a compiled tree (CT) using memory min or max and use the modified result as in the example file Voyager 4.O examples/DF Fractales V7 /DF Pattern fractales/ DF Pattern Mystery box.vy

## 31 3D DF Surfaces #

parameters :
A : Density (0. : 1.)
B : Height (0. : 16.)
C : Frequency (0.03 : 32.)
D : Smoothness % (0. : 1.)

discussion :
Implements procedural DF surfaces that can be used directly as terrains in Voyager. They are fast, converge nicely, and can be merged easily with others terrains and textures. The density parameter controls the density of elements while the height gives a maximum height.

Example: Mushrooms & Mushrooms bowl 31 DF surfaces mix.

algorithms :
• Random cylinders :
• Random bumps :
• Random jittered bumps :
• Random jittered ovoids :
• Mushrooms jittere:
• Mushrooms bowl hea:
• Mushrooms plate jittered :
• City blocks :
• City sparse blocks :
• Overlapping blocks :
• Overlapping slanted blocks :
• Overlapping hexagons :
• Random triangles :
• Random poly45 :
• Random slanted poly45 :
• Perlin bumps :
• Smooth voronoi :
• Jittered capsules :
Similar to jittered random but with capsules of fixed radius and quantized height.
• Jittered city shapes :
Jittered lattice of various shapes, cylinders, capsules, chisel boxes etc. Good primitive for building a procedural 3D city.

## 31 Turbulence pers

parameters :
A : Perspective (-1.50 : 1.50)
B : Level (-2. : 4.)
C : Phase (-32. : 32.)

discussion :
This component is similar to Random Pers but uses turbulent noise rather than a random noise-type algorithm for generating its texture. This component works well for planet surfaces.

## 31 Techno pers

parameters :
A : Perspective (-1. : 1.)
B : Amplitude (-2. : 4.)
C : Phase (-32. : 32.)

discussion :
This component is similar to Random Pers and Turbulent Pers but uses the techno texture. See the description of the 2D scalar techno component for more information about the techno texture.

## 31 Random pers

parameters :
A : Perspective (-1. : 1.)
B : Level (0. : 2.)
C : Phase (-32. : 32.)

discussion :
Provides both a perspective transform controlled by z input and a scalar random texture. If the z-input is fed by an unchanged y coordinate, you will get a horizon-like effect. Parameter "phase" slides the generated texture in x. Parameter 'level' offsets the result scalar value.

## 31 Fractal Map

parameters :
A : Real (-2. : 2.)
B : Imaginary (-2. : 2.)
C : Z displace (-2. : 2.)

discussion :
Fractal map is a complex number-based recursive fractal where the x and y inputs are treated as the real and imaginary parts of a complex number. The 'Z displace' parameter is used to modulate parameter A in such a way that you can effectively modulate the "granularity" of the fractal with the z-input. The z -input can be used to explore changes in the fractal's degree of chaos. In some ranges, the fractal behaves in an orderly fashion while in others it can appear quite chaotic. This component is sensitive to the Max iterations for fractals parameter.

## 31 Mandelbrot set

parameters :
A : Scale (-2. : 2.)
B : Z distortion (-2. : 2.)
C : Contrast (0.12 : 16.)

discussion :
This component is the classic Mandelbrot set. You can create interesting variations by feeding the output of a 2D space distortion function into the leftmost inputs of this component. The scale parameter acts as a zoom control. The z distortion parameter warps the resulting image, and the contrast parameter adjusts the color contours of the resulting output. This component is sensitive to the Max iterations for fractals parameter.

## 31 Julia sets

parameters :
A : Real (-2. : 2.)
B : Imaginary (-2. : 2.)
C : Z displace (-2. : 2.)

discussion :
This component generates a Julia set. For the classic Julia Set (as shown in the component's icon), set parameter C to 0. When parameter C is anything other than 0, the z input is used to modulate the "granularity" of the fractal. The A and B parameters are multipliers applied to the x and y inputs respectively. This component is sensitive to the Max iterations for fractals parameter.

Tip: Due to the limited output range of this component, the logarithm-based shaders often work best.

## 31 Ferro magnet model

parameters :
A : Real seed (-2. : 2.)
B : Imaginary seed (-2. : 2.)
C : Z displace (-2. : 2.)

discussion :
This is a complex fractal based on the magnetic field equations. The A and B parameters are multipliers for the x and y inputs. The 'Z displace' parameter works similarly to the Fractal Map's and Julia Set's Z displace parameters. This component is sensitive to the Max iterations for fractals parameter.

## 31 z Fractal lines

parameters :
A : Amplitude (0.25 : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 4.)

discussion :
This is a variation of 2D fractal noise. The z input provides an offset that modulates the noise. As z Basalt Rocks, Z Ridged Fractal Noise & Z Stone Clusters theses complex fractal generators are not truly 3D noises but 2D scalar noises that uses the z input to modulates their maths internally.

## 31 z Basalt rocks

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
This is a rocky fractal noise whose third input (z) controls the roughness and amplitude/altitude of the output. This component is great for creating igneous, basalt rocks in systems designed for use with ArtMatic Voyager. When used with Voyager-destined systems, the Frequency should be low or very low values (below 0.25). The rock contours are controlled by the third (Z) input. Try inserting various 1D filters on the Z input and see how you can influence this texture's 'geology'.

## 31 z ridged Fractal noise

parameters :
A : Amplitude (0. : 4.)
B : Phase (-32. : 32.)
C : Frequency (0. : 8.)

discussion :
This component is similar to the 2D Scalar version
21 Ridged Fractal noise with the addition of the Z input modulating both the surface roughness and amplitude.

## 31 z Stone Clusters

parameters :
A : Amplitude (0. : 16.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
Essentially the same as the 2D Scalar version of this component with the addition of providing control (via the third input) of the stone size and placement. If you connect the third input to a component that generates terrain, the rocks will loosely follow the terrain's contours as shown in the image below. The Z input modulates the number of stones in a periodic fashion while the size of the stones has a linear randomized relationship to the Z value.

Example: The Z input has a steadily increasing value from left to right. Notice that the size of the stones increases steadily while the number of stones changes periodically.

Example: If the Z (third) input is connected to the component that provides the main surface, the stone clusters will follow the terrain contours as shown in the landscape below.

## 31 3D Random

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
This component generates a 3D random space distortion and is related to the 2D random noise component. Great for granite-like textures.

## 31 3D Perlin Noise

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

## 31 3D Multi Perlin noise

parameters :
A : Amplitude (-8. : 8.)
B : Octaves (1. : 64.)
C : Frequency (0. : 32.)
D : Roughness (0.12 : 0.75)

discussion :
Is the 3D equivalent of
21 Multi Perlin noise. It sums a series of 3D Perlin noise functions with the frequency being scaled by 1/Roughness for each octaves in the series. This component allows very fine control of the frequency content and the fractal dimension. It is especially useful when used with very low frequency values to create surfaces or large scale modulations for ArtMatic Voyager. When 'Octaves' is 1 roughness has no effect and the outputs is a single scalar perlin noise function.
'Frequency' abides to the standard frequency options while 'Amplitude' controls the elevation heights.

## 31 3D Fractal noise

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0.25 : 0.75)

discussion :
3D Fractal noise is the 3D equivalent of
21 Fractal noise; Its fractal dimension is constant and determined by the 'Roughness' parameter.
'Frequency' abides to the standard frequency options while 'Amplitude' controls the elevation heights.

Example: Fractal noise blended with a DF sphere and plane.
Notice how the roughness is uniform compared to Multi fractal noises.

## 31 3D MultiFractal noise

parameters :
A : Amplitude (0. : 4.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0. : 1.)

## 31 3D Cubic MultiFractal

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0.20 : 0.80)

## 31 3D Ridged Fractal

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0.20 : 0.80)

discussion :
This function is the 3D equivalent of
21 Ridged fractal noises #. It is a multi-fractal function composed of ridged 3D Perlin noise (1-abs(n)). This fractal function was designed by Ken Musgrave and is a good approximation of ridged mountains. The fractal dimension is smoothest in the valleys. This function only generates values greater than 0. The 3D version can be used as a volumetric texture or displacement map and can also modulate DF 3D objects. It can also be used for animated 2D terrain when connecting the z input to time (or to an keyframe animated constant).
'Frequency' has the standard frequency options while 'Amplitude' controls the elevation heights.

Example: Ridged Fractal noise blended with a DF sphere and plane.

## 31 3D Fractal noises #

parameters :
A : Amplitude (0. : 8.)
B : Mutate % (0. : 1.)
C : Frequency (0. : 32.)
D : Roughness (0.12 : 0.75)

algorithms :
• Fractal power balanced:
The 3D version of 21 Fractal noises # Fractal power.
• Fractal power +:
The 3D version of 21 Fractal noises # Fractal power+
• Fractal rocks :
A fractal noises build with sharper slope noise good for rocks textures.
• Fractal saw :
A fractal noise mixed with a saw wave in x that produce a stratified and chaotic rocky texture.
• Fractal modulated saw:
A highly anisotropic fractal noise modulated with a saw wave in x.
• Fractal silex noise :
Legacy for this tile.
• MultiFractal silex mounts :
Mutation parameter modulates convex cuts probability.
• MultiFractal rocks:
Mutation parameter blends from convex rocks to concave.
• MultiFractal saw mounts :
The MultiFractal saw wave modulated noise.
• MultiFractal craters :
Mutation parameter modulates concave holes probability.

## 31 3D Terrains #

parameters :
A : Amplitude (0. : 4.)
B : Style % (0. : 1.)
C : Frequency (0. : 32.)

discussion :
3D Terrains # is especially useful for ArtMatic Voyager terrain design as it outputs complex & realistic terrains topography in just one tile. While outputting a terrain on a xy coordinates the various algorithms uses z internally to modify the result as they use real 3D fractals noise internally. Changes in z provides an easy way to animate the generated surfaces. They can be used as a filter or added to various surfaces to simulate erosion patterns by using it in an ArtMatic file that is used for blending using Combination mode.

algorithms :
• V Valley Mountains :
• Eroded Terrain :
• Erosion system :

## 31 3D Textures #

parameters :
A : Amplitude (-4. : 4.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
Formerly called 3D Fractal Strings, this component now provides 18 different Perlin-based 3D or semi-3D elevation textures suited for a wide range of uses. These are useful for both 3D and 2D graphics and to design sophisticated textures for plants and animals.

algorithms :
• Fractal strings :
• Caustics :
• Fibrous noise :
• Perlin waves :
• Interferon :
• Perlin wood :
• Coraloid :
• Stripoid 15 :
• Stripoid 45 :
• AbsPerlin sum :
• AbsPerlin min :
• AbsPerlin spikes :
• Alveoloid :
• R-Mesh linear :
• R-Mesh insect wing :
• R-Mesh Alveoli :
• Barkoid 90 :
• Barkoid 45 :

## 31 3D Lunar rocks

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0.30 : 0.75)

discussion :
Multi-fractal noise with added sparse bumps clusters reminiscent of lunar soil. The texture has varying degrees of roughness.

## 31 3D Bubble rocks

parameters :
A : Amplitude (-2. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Roughness (0.25 : 0.75)

discussion :
Multi-fractal noise with round bump clusters. Fine details tend to appear at the lower elevations of this texture's larger scale elements - whose higher elevations tend to be smooth.

## 31 3D Stratified noise

parameters :
A : Amplitude (0. : 4.)
B : Distortion (-8. : 8.)
C : Frequency (0. : 8.)

## 31 3D Crystal noise

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

## 31 3D Fractal Stucco

parameters :
A : Amplitude (0. : 2.)
B : Phase (-32. : 32.)
C : Frequency (0. : 16.)
D : Roughness (0.25 : 0.75)

## 31 3D Fractal Puffy Clouds

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 8.)
D : Roughness (0.30 : 0.70)

## 31 3D Altocumulus Clouds

parameters :
A : Amplitude (0. : 4.)
B : Banding % (0. : 1.)
C : Frequency (0. : 8.)

## 31 3D Ocean

parameters :
A : Wave amp (0. : 8.)
B : Wavelet amp (0. : 2.)
C : Frequency (0. : 8.)

discussion :
Outputs a complex animated wave texture for alternate sea surfaces. It output the waves elevation without the foam channel provided by the 32 Ocean and Foam Tile.

## 31 3D Fractal lines

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
3D fractal-based texture made of randomly intersecting curving veins. Great for marble and other veined textures. This is a structured fractal-based noise and is sensitive to the Max. Iterations for Fractals preference. Increasing the iterations increases the detail. When used in ArtMatic Voyager terrains, the effect is of a network of faults/cracks.

## 31 3D Random lines

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)
D : Smoothness (0. : 1.)

discussion :
Similar to fractal lines but composed of randomly intersecting straight lines. Great for fibrous and geological textures. With some distortion it can creates convincing rock faults patterns. This component was reimplemented in ArtMatic Engine 8.0 to have a smoothing parameter to allow the function a wider range of uses. It is sensitive to the maximum Iterations for Fractals preference. As it is a true 3D noise sliding in z offer some cool animation possibilities even for 2D graphics.

Example : Libraries/Components demo/3D Smooth RandomLines

## 31 3D Cellular

parameters :
A : Amplitude (0. : 8.)
B : Phase (-32. : 32.)
C : Frequency (0. : 32.)

discussion :
A 3D scalar implementation of the voronoi random noise. It has been made smoother on the edges in ArtMatic Engine 8.0. See other Voronoi-based variations in

A bedrock terrain based on 3D Cellular used iteratively.

## 31 3D Fractal Bubbles

parameters :
A : Amplitude (-4. : 4.)
B : Roughness (0. : 1.)
C : Frequency (0. : 32.)

discussion :
A multiple octaves version of the Bubble 3D noise used in
3D Bubble & skins # based on Voronoi diagrams.
'Frequency' has the standard frequency options. 'Amplitude' controls the elevation heights.

Example: Multiple bubbles applied negatively on a sphere.

## 31 Compiled Tree :

parameters :
A : Scale 0:1
B : Iterations

discussion :
Compiled Trees are groups of tiles that can be used in place of single tiles as a kind of macro or subroutine.
31 compiled tree is usually used to create 3D scalar function (DF or not). A 31 CT can also hold a mix of colored 3D objects or terrains when the output is a packed RGBA stream.
Select a 31 tile and use "New compiled tree" to create a new CT from the selection (Tree Edit menu or type 'n' key).
To save a CT on disk to use the function elsewhere use "Save compiled tree" from the Tree Edit menu.
You may also copy and paste the entire CT by using Copy Tile and Paste Tile from the Edit menu.