r.surf.fractal(1)

NAME
r.surf.fractal - Creates a fractal surface of a given fractal dimension.

KEYWORDS
raster, surface, fractal

SYNOPSIS
r.surf.fractal
r.surf.fractal --help
r.surf.fractal output=name [dimension=float] [number=integer] [seed=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

  Flags:

--overwrite
    Allow output files to overwrite existing files

--help
    Print usage summary

--verbose
    Verbose module output

--quiet
    Quiet module output

--ui
    Force launching GUI dialog

  Parameters:

output=name [required]
    Name for output raster map

dimension=float
    Fractal dimension of surface (2 < D < 3)
    Default: 2.05

number=integer
    Number of intermediate images to produce
    Default: 0

seed=integer
    Seed value for the random number generator
    Using the same seed ensures identical results, while a randomly generated seed produces different outcomes in each run.

DESCRIPTION
r.surf.fractal creates a fractal surface of a given fractal dimension. It uses the spectral synthesis method. The module can create intermediate layers showing the build up of different spectral coefficients (see Saupe, pp.106-107 for an example of this).

This module generates naturally looking synthetical elevation models (DEM).

NOTE
This module requires the FFTW library for computing Discrete Fourier Transforms.

EXAMPLE
Generate surface using fractals in selected region, set color table and display with shade.

g.region -p raster=elevation
r.surf.fractal output=fractals
r.colors map=fractals color=byr
r.relief input=fractals output=fractals_shade
d.mon wx0
d.shade shade=fractals_shade color=fractals b=50

Artificial surface created with fractals
Compare results when using different fractal dimensions:

# D=2.0005
g.region -dp
r.surf.fractal out=dem_d2_0005 dim=2.0005
r.info -r dem_d2_0005
r.mapcalc "dem_d2_0005_final = 1.0 * dem_d2_0005 + abs(min(dem_d2_0005))"
r.colors dem_d2_0005_final color=terrain
r.slope.aspect dem_d2_0005_final aspect=dem_d2_0005_final_as
# D=2.90
r.surf.fractal out=dem_d2_90 dim=2.90
r.info -r dem_d2_90
r.mapcalc "dem_d2_90_final = 1.0 * dem_d2_90 + abs(min(dem_d2_90))"
r.colors dem_d2_90_final color=terrain
r.slope.aspect dem_d2_90_final aspect=dem_d2_90_final_as

Artificial DEMs created with fractals:
top: fractal dimension d=2.0005 (left: elevation map, right: aspect map)
top: fractal dimension d=2.90 (left: elevation map, right: aspect map)

REFERENCES
Saupe, D. (1988) Algorithms for random fractals, in Barnsley M., Devaney R., Mandelbrot B., Peitgen, H-O., Saupe D., and Voss R. (1988) The Science of Fractal Images, Ch. 2, pp.71-136. London: Springer-Verlag.

SEE ALSO
r.surf.contour, r.surf.idw, r.surf.gauss, r.surf.random, v.surf.idw, v.surf.rst

AUTHOR
Jo Wood, Midlands Regional Research Laboratory (ASSIST), University of Leicester

SOURCE CODE

Available at: r.surf.fractal source code (history)

Latest change: Wednesday Feb 04 09:35:39 2026 in commit: 951c345cdf558c719d1ee1c4806f942283a875d1

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.5.1dev Reference Manual