For instance, in the three-dimensional case, where two variables X and Y are given as coordinates, the elevation function between any two points (x1, y1) and (x2, y2) can be set to have a mean or expected value that increases as the vector distance between (x1, y1) and (x2, y2). There are, however, many ways of defining the elevation function. For instance, the fractional Brownian motion variable may be used, or various rotation functions may be used to achieve more natural looking surfaces.
Efficient generation of fractional Brownian surfaces poses significant challenges. Since the Brownian surface represents a Gaussian process with a nonstationary covariance function, one can use the Cholesky decomposition method. A more efficient method is Stein's method, which generates an auxiliary stationary Gaussian process using the circulant embedding approach and then adjusts this auxiliary process to obtain the desired nonstationary Gaussian process. The figure below shows three typical realizations of fractional Brownian surfaces for different values of the roughness or Hurst parameter. The Hurst parameter is always between zero and one, with values closer to one corresponding to smoother surfaces. These surfaces were generated using a Matlab implementation of Stein's method.