Fourier Divergence

This is a very flexible tool for designing smooth not-repeating patterns. It uses so-called 2-dimensional Fourier function defined by a matrix. In mathematics a Fourier function is a good approximation of any analog function.

The precision of such approximation is reflected by size of its matrix. The larger matrix is, the more detailed pattern is created. In Newart maximum dimensions of a matrix are 100 x 100. It makes possible creating patterns with minimal detail size 1/100 of the canvas diagonal. But one hardly ever need such a high detail level, in most cases 10 x 10 is more than enough. The rather that large matrices have a serious impact to performance. Now let's get back to Fourier syntax.

Fourier [overflow]
angle radians or degrees
focus x y
offset horizontal vertical
scale horizontal vertical
saturation degree of saturation
matrix elements of matrix

Remarks
Definition of a Fourier function starts with parameters of so-called affine transform. It rotates the pattern around arbitrary "focus" point and shifts it by extent of horizontal and vertical offset. There's common practice to use random numbers in place of affine parameters. It varies a painting but doesn't change its style.
Scale parameter is split up on horizontal and vertical parts. It defines extent of a period. In other words scale is simply size of the pattern tile. When it's larger than canvas the pattern doesn't repeat.
Saturation defines extent of the function peak. If it exceeds the limit an overflow happens (when it's enabled). Overflowing visually looks like a number of curved edges with sharp boundaries. It's managed by overflow tag. If it's not present the function never exceeds the upper limit and the pattern looks smooth. The next pictures show a few simple designs that were created using 3 x 3 matrices.
0 0 0
0 0 0
0 0 1
0 0 0
0 1 0
0 0 1
0 0 1
0 1 0
1 0 0
0 0 0
0 1 1
0 1 0
0 1 0
1 1 0
0 0 0
1 0 1
0 1 0
1 0 1
0 1 1
0 1 0
1 1 0
0 1 0
1 0 1
0 1 0
0 0 1
1 0 1
1 0 0
Example
# Creates a stochastic fourier pattern
Fourier overflow
  angle  45`
  focus  0 0
  offset 0 0
  scale  10 10
  saturation 0.25
  matrix 3 x 3
    random[-1:1] random[-1:1] random[-1:1] 
    random[-1:1] random[-1:1] random[-1:1] 
    random[-1:1] random[-1:1] random[-1:1]
...read about pyramid divergence