**Linear** is the most basic of the flame fractal variations. It is the identity mapping; it maps the plane to itself. When used by itself with a value of 1, it is just passes x and y unchanged from the input to the output. This is the reason linear or linear3D is the default variation for flame fractal programs. (Using no variations at all passes nothing to the output, effectively mapping the plane to a single point, the origin.) If the value is something other than 1, the plane is scaled by that amount (the same as scaling the affine transform).

**Linear3D** is the 3D version of linear, and the default for flame fractal programs that support 3D. It maps z as well as x and y to itself (scaled by the variation value). Linear3D is equivalent to linear and zscale with the same value on the same transform.

When combined with other variations in a transform, linear and linear3D add the scaled values of x, y, and z to the output along with the other variations. The result is dependent on the other variations and the relative amounts of each.

### Special cases:

In JWildfire, setting Preserve Z makes all variations map z; in this case, linear and linear3D behave the same.

Chaotica is 2D only, but supports the name linear3D so that it can interpret parameters that use it; it works the same a linear in this case.

Apophysis 7X version 15C and later support 3D, but have only linear, which works the same as linear3D. When reading parameters from other programs or versions, it recognizes linear3D and converts it to linear.