Fractal Landscapes
Realistic landscapes can be generated with the midpoint displacement algorithm (see
Section 9.6 in PJS). In one type, one begins with a flat square
grid and an arbitrary (positive) displacement of
the four corners. Then at each stage the midpoints of these corners and the centre point
are displaced by an amount = avg + scale*random where avg
is the average value of the adjacent corners, scale decreases at each
stage (say, by a factor of 2) and
random is a random number. At the next stage, the midpoints between these new points
and their centres are displaced. This continues until the midpoints are spaced at every grid
point. Different choices for the distribution of the random numbers, the scaling,
the amplitude of the scaling, and the type of grid (eg., square, triangular, etc), will
affect the appearance of the resulting landscape. See the Fractal
Landscapes Variation page for examples.
For example, the following images show the successive stages of the midpoint displacement
algorithm for generating fractal landscapes (or more precisely, fractal mountains) where
the initial grid is 65x65 square and the initial displacements of the four corners was zero.
Click on the image for a larger view.
These were drawn with a MATLAB program, which you
can download here.
See the Fractal
Landscapes Variation page for examples of variations.
See also The Science of Fractal Images, edited by H.-O. Peitgen and D. Saupe, Chapters
1 and 2 for more detailed discussions.
First stage
Second stage.
Third stage.
Fourth stage.
Fifth stage.
Sixth stage (final stage).
Sixth stage with finer grid.
First stage interpolated between the midpoints.
Second stage interpolated between the midpoints.
Third stage interpolated between the midpoints.
Fourth stage interpolated between the midpoints.
Fifth stage interpolated between the midpoints.
See the Fractal
Landscapes Variation page for examples of variations.