Wolfram Research

Function Repository Resource:

FractionalBrownianMotion2D

Source Notebook

Generate a fractional Brownian surface

Contributed by: Roman E. Maeder

ResourceFunction["FractionalBrownianMotion2D"][n,h]

generate a natural surface of sizes n, with Hurst exponent h.

Details and Options

The Hurst exponent h describes the raggedness, with higher exponents leading to smoother surfaces. Fractional Brownian motion is a generalization of ordinary Brownian motion that has been used successfully to model a variety of natural phenomena, such as terrains, coastlines and clouds. It has the scaling property |V(t)-V(t+dt)|∝dth. Ordinary Brownian motion has .
Methods for generating a fractional Brownian motion to simulate a natural surface are "RandomAddition" and "FourierSynthesis". The default method is "FourierSynthesis".
"RandomAddition" refines the list of points by interpolation and adding random offsets.
"FourierSynthesis" generates a random spectrum such that the resulting data has the correct scaling property.
For the "FourierSynthesis" method, n must be even.
The surfaces are colored by height using the "Topography" gradient mapping and level curves.

Examples

Basic Examples

Generate an ordinary Brownian surface:

In[1]:=
ResourceFunction["FractionalBrownianMotion2D"][70, .5]
Out[1]=

Generate a smoother Brownian surface:

In[2]:=
ResourceFunction["FractionalBrownianMotion2D"][70, .9]
Out[2]=

Options

Method

Modify method:

In[3]:=
ResourceFunction["FractionalBrownianMotion2D"][20, .5, Method -> "RandomAddition"]
Out[3]=

Requirements

Wolfram Language 11.3 (March 2018) or above

Resource History

Source Metadata

License Information