3.1 Generating mountains simultaneously with river

Prusinkiewicz and Hammel [11] use context sensitive rewriting processes based on a random midpoint displacement method [9] on a triangular grid. Their method creates one non-branching river as result of context sensitive L-system [12] operating on a set of triangles.

Figure 5: Production for generating the river curve in Bacus-Naur form. Arrows signify the direction of river curve.

The productions for generating model of river contain two types of triangles: tex2html_wrap_inline643 and tex2html_wrap_inline645 . Triangles tex2html_wrap_inline643 differ from tex2html_wrap_inline645 in such a way that through tex2html_wrap_inline643 goes a river. The edges of tex2html_wrap_inline643 are labeled entry ,exit and neutral . The production predecessor is just triangle tex2html_wrap_inline643 . Each production subdivides the triangle into four smaller triangles and includes the following constrains (see Figure 5):

The predecessor and the successor can be rotated, reflected and scaled before every application. The construction of the river starts from the triangle having one entry, one exit, and one neutral edge. The rewriting process is repeated recursively until required level of detail is reached. We can see in the Figure 6 how this method works.

Figure 6: Course of generating river.

Ivo Marak - marak@sgi.felk.cvut.cz