S.F.B.M. II

From Ultrafractal Wiki

Jump to: navigation, search

S.F.B.M. II is a Coloring Algorithm in sam.ucl.


Contents

What is it?

This coloring is an improvement of S.F.B.M. Pixel. It produce a wide variety of fBm-like noises. It is best used on a "Pixel" formula.


Parameters

Noise Function

The standard method to obtain a fBm noise is applying the Perlin noise function (which produce a kind of random pattern), translating/rotating/magnifying the plane, applying again the Perlin function, etc... This parameter allow you to use other noise functions. Some of these aren't random at all and the resulting patterns have little in common with fbm.


Noise Function Parameters

These parameters correspond to two real parameters (ie the two parts aren't linked and it doesn't make much sense to use the eyedropper). With the "Perlin", "Raw Grid", "Strips", "Corners" and "Checkerboard" noise functions, these parameters have no effect. Otherwise the first parameter usually controls the thickness of the pattern, and the second it's offset (which amounts to a displacement and a deformation). With noise functions derived from shapes ("Circles" for instance), the second parameters corresponds to the size of the shapes.

Flavour 1,2

The "Flavours" correspond to various functions applied on the noise function to modify it. Two flavours can be applied successively.

Flavour 1,2 Parameters

Once again, these two parameters aren't linked. The first parameters corresponds more or less to the "density" of the pattern and the second one to it's offset. More precisely, if a and b are the first and the second parameters, f the flavour function and x the result of the noise function, the flavour function acts so : x -> f(a*x + b).

Mode

Allow you to use the "convolution" mode (inspired from Mark Townsend's great "Plasma Convolution" coloring). In the convolution mode, the current pixel value is sumed with the value of four neighboring pixels. Among other things it allows to give a 3D effect to the pattern. The weight assigned to each pixel is controlled with the "Center extra weight", "Bottom Left Weight", "Top Left Weight", "Bottom Right Weight" and "Top Right Weight" parameters.

Beta (Spectral Density Exponent)

This parameter determine the "granularity" of the pattern. The bigger it is, the softer the pattern will look. Mathematically, the amplitude of each component of frequency f is divided by f^beta. Nobody knows why, but nearly only noise for beta = 1 is encountered in nature (even music behaves so...).

Power

This parameter is the same as in S.F.B.M. Pixel. It may have no effect on some noise functions.

Pre-Processing

When enabled, the algorithm makes two fBm loops that modify the position of the currently computed pixel. The result is a distortion of the image. The first parameter controls the strength of the distortion (0, no distortion ; 1 full distortion). The second one determine the size of the pre-processing pattern.

Pre-Processing Power and Aspect

These two parameters modify the look of the pre-processing. A low value for "Power" will give a sharper distortion.

Rotation step

Defines how the plane will be rotated between each iteration. If you want to get a standard fBm noise, don't put a divisor of 360 (the whole angle) in this field, else... just try.

Frequency Separation

Defines how close the frequencies will be. For a logarithmic frequency interpolation (see this parameter), each frequency equals (1 + [frequency separation]) times the previous one. If the interpolation is linear, each frequency is separated by the value of parameter. Note that the smaller this parameter is, the slower the coloring will be. The default value should work well, I included it only for math experimentations...

Inverse of max/min frequency

Allow you to give the lowest and highest frequency present in the fBm (actually this parameter corresponds to the "wavelength"). The wider the frequency range is, the slower the algorithm will be.

Frequency interpolation

In the logarithmic mode, each frequency equals the power of a number. With the default parameter values, these are 1, 1/2, 1/4, 1/8, etc... In the linear mode, each frequency is separated from the neighboring ones by a constant amount. This mode is usually slower than the logarithmic one. Once again only for experimentation...

Center Extra Weight, Bottom Left Weight, etc...

Only for the "Convolution" mode. The weight assigned to the neighbouring points of the computed pixel. The weight is always computed so that it cancels the weight of the other pixels. For instance, if B-L Weight equals 2 and T-L Weight equals -5, the center weight is 3, so that 2 - 5 + 3 = 0. (This is done to avoid wide variations of color density while changing these parameters.) The C-E Weight parameter allow you to add or subtract weight to the center so that the sum is no longer 0.

Epsilon

The separation between the pixel and its neighbours in the convolution mode. This gives more or less the size of the "edges" appearing with this mode.


Samuel Monnier

Personal tools