GENESIS: Surface Generation Patterns

 

Created by: Harris Georgiou - mailto:xgeorgiou@yahoo.com

University of Athens - Department of Informatics,
Postgraduate Program (MSc),
Digital Signal Processing & Computer Systems.
 


The following images are samples of randomized landscape surfaces generated by the prototyped SurfGen engine. The generation process is made up by several intermediate filtering and normalizing stages of some initila random peaks plain. The engine itself is fully parameterized so that various types of terrains can be easily created, just by altering the values of a basic set of control variables. The basic parameters are:

Typical values for these parameters are: N=100 for sample terrain surfaces, 20% water area, 85% mountain inclination ratio and L=16 for smoothing mask size. This configuration set should produce terrain surfaces similar to the images presented in the following pictures.

The generation process starts with the randomized peaks plain creation in phase-1. This stage has been implemented as a 4th-order auto-regressive stochastic process in 3-D, two dimensions used as a reference level and the third dimension used as height axis, with all dimensions on the same scale. After normalizing the resulting peaks plain, the second stage includes iterative smoothing in 2-D in order to produce the initial surface. The 2-D data field is filtered in torus form, using an averaging mask filter of size L as specified in the configuration parameters. The choice of average filtering instead of median filtering was selected because experimental results prooved (as expected) that median filtering does not remove all peak artifacts from the surface, thus further processing should be applied. After applying the averaging filter and normalizing, the third stage introduces small randomized artifacts to the generated surface by using a (normalized) 4th-order autoregressive model similar to the one used for the generation of the starting peaks plain. The fourth and final scale deals with visualization factors like colour palletes and graph drawings, not directly related to the core generation process. The final NxN matrix is the exact description of the generated terrain surface, with values describing elevation.

SurfGen prototype is currently implemented in Matlab code, all included in one autonomous file [ surfgen.m.txt ]. As always, all software is distributed fro free use under the terms of MPL-Mozilla-v1.1 licence. For any comments, questions or bug reports, feel free to contact the author.

 

SURF1_2D.gif (42317 bytes)

Figure 1a: Sample terrain surface (2-D).

 

SURF1_3D.gif (20742 bytes)

Figure 1b: Sample terrain surface (3-D).

 

SURF2_2D.gif (39236 bytes)

Figure 2a: Sample terrain surface (2-D).

 

SURF2_3D.gif (19550 bytes)

Figure 2b: Sample terrain surface (3-D).

 

SURF3_2D.gif (40969 bytes)

Figure 3a: Sample terrain surface (2-D).

 

SURF3_3D.gif (20076 bytes)

Figure 3b: Sample terrain surface (3-D).

 

SURF4_2D.gif (38100 bytes)

Figure 4a: Sample terrain surface (2-D).

 

SURF4_3D.gif (18334 bytes)

Figure 4b: Sample terrain surface (3-D).

 

 


Last updated: 15-Apr-2000.
Harris Georgiou
http://xgeorgio.n3.net
mailto:xgeorgiou@yahoo.com