Lecture 9

Fractal Terrain Generation

Brownian Motion

Plays a big role in fractal-generated terrain.
Author buys into height maps and is ok with the trade-offs.
The text's read on terrain is slanted toward making landscape which is terrain+plants. To them, it appears, terrain is just another abiotic factor in plant growth. My interest goes a little deeper, I think terrain is interesting on it's own without plants. So we'll go quite a bit beyond what is in the textbook.
That said, what's in the textbook is a good foundation on fractal terrain which can be used for a lot of stuff.

Useful Brownian motion links…

1/f noise

DDN version

the frequency spectrum is the expression of the signal as a sum of sine waves. The amplitude of each wave varies as does the period of each wave. If you map the amplitude as a function of the frequency, for the waves used in the summation, then you get the frequency spectrum.

The translation between the time domain and the frequency domain is, of course, the FFT.

Science of Fractal Images version.

The Science of Fractal Images ed. by Peitgen in section 1.2.

Consider a value V which varies with time. So that $V(t)$ gives the value of V at time t.
The spectral density gives a measure of the frequency content of $V(t)$ at each frequency $f$ .
The function $S_V(f)$ gives the amount of fluctuation of $V(t)$ at frequency $f$ , or, it gives the amount of fluctuation found in the signal when fluctuations are measured at frequency $f$ .
Spectral density, when interpreted over time, gives the variations in the signal over a time scale on the order of $1/f$ .
Because at frequency $f$ the signal is oscillating with a period of $1/f$ .

For white noise, $S_V(f)$ is a constant
For most other kinds of noise found in nature and physics, $S_V(f) = 1/f$
For Brownian motion, $S_V(f) = 1/f^2$

Fractional Brownian Motion

DDN version…

The following equation, page 114, states that the "probability, P, that the particle velocity will be at or below x is normal[ly] distributed"

\begin{align} P\left(\frac{B(t+\Delta t) - B(t)}{\Delta t^H} < x \right) = \Phi(x) \end{align}

where $\Phi(x)$ is a normally distributed function, the velocity of the particle is $\Delta B / \Delta t$ and the term $\Delta B / \Delta t^H$ reflects the fact that the velocity of the particle looks faster at smaller time intervals (because at larger time intervals the position didn't change as much because the motion was not done in a straight line). This is because at small time intervals, we see the very small but fast movements of the particle as it gets bumped by other particles. If the particles always hit the big particle on the same side, then the velocity of the big particle would be the same across time scales.

Fractional Brownian motion allows $H$ to vary within the range $[0,1]$.

[Luther] As I understand it, $H$ is related to the $\beta$ in the equation $S_V(f) = \frac{1}{f^\beta}$ and to the fractal dimension as follows:

$H = \frac{\beta}{2}$
Fractal Dimension = Geometric Dimension + 1 — $H$

Thus, the plot of the speed of a particle moving under Brownian motion has fractal dimension 1.25.
I was told this definition, but am not sure I understand why it would work. It seems to imply that $\frac{1}{f^2}$ has $H = 1$ which doesn't make any sense; didn't we say it was $\frac{1}{2}$? Also, this means that $H = 1$ is not fractal, which Figure 7.1 in the book clearly contradicts.
Anyone know a better definition?

[Mike] Luther that's the definition I know as well. A good discussion can be found, along with a derivation, in The Science of Fractal Images section 1.3.4, 1.6.8 and 2.4. I didn't have time to get through the derivation, but it's all there.

Science of Fractal Images version…

From Mandelbrot and Van Ness.
extension of Brownian motion.
Vital in landscape through fractals.
In it's classic form, fractional Brownian motion (fBm) is a single-valued fuction of time. $V_H(t)$
There is a constant, $H$, which relates the change in $V$ to change in time such that

\begin{align} \Delta V \propto \Delta t^H \end{align}

where $\Delta V = V(t_2) - V(t_1)$ and $\Delta t = t_2 - t_1$

For Brownian motion, "the sum of the incremements or steps leads to variation which scales" with the square root of the number of time steps.
So for Brownian motion we have

\begin{align} \Delta V \propto \Delta t^\frac{1}{2} \end{align}

Brownian motion in 2D and beyond

Approximating fBm on a grid

independent cuts

FFT filtering

midpoint displacement

This is the one you'll do in the project.

Random additions

Weierstrass-Mandelbrot function

DDN version

To make fBm, you can sum together sine waves with different frequencies. Each wave of a certain frequency has had it's amplitude scaled by a constant (which can be found in the frequency spectrum for the signal if you are trying to mimic a certain path).

This is like the FFT in that it treats the signal as a sum of signals.

This process when used to created fBm with frequency spectrum on the order of $1/f^H$ results in the following fuction:

\begin{align} B(t) = \Sigma_{f=-\infty}^{\infty} A_f f^{fH} sin(2\pi r^{-f} t | \Phi_f) \end{align}


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License