2. Related work

Within the procedural generation area, the only work that can produce river deltas, to the extent of knowledge of the authors, is that of Teoh [9]. The author presents a simple method where a river is first generated when it reaches the ocean; new land is generated in its mouth in an irregular semicircle shape. Random points of the new coast are then selected, and from those points, new distributary rivers run until reaching the original river mouth. This method is fast, but the resulting deltas are very limited and not capable of generating many of the river delta types.

Other methods for the modeling of river deltas in computer systems, such as the one of Seybold [6], belong to geological simulations; therefore, they contain data about the terrain composition, slope, and other variables. The amount of data and their processing produces very realistic graphical results in terms of delta shapes, but the computational cost is considerable, and thus, these models are not suitable for procedural generation of virtual worlds. Finally, methods like that of Justić et al. [10] are mathematical models of the delta behavior.

L-systems are quite versatile, and they have a wide array of applications. The work of Leitner et al. [11] is related to plant generation, but it is focused on another branching structure: the roots. They present and adapt a method that generated root systems depending on the concentrations of minerals in the soil.

On the other hand, there are applications unrelated to vegetation, such is the case of the generation of video game levels [12]. The authors propose to pair the L-systems with grammar evolution to improve the variety of the generated levels. L-systems have also been used to generate cities [13]; the distribution of city blocks is done by the recursive subdivision of the system. Even generation of virtual creatures is proposed in [14]; this method is also paired with evolutive algorithms to make changes to the generated creatures.

Based on the analysis of the different methods first, a string of symbols is generated using L-systems. Afterward, these symbols are used as instructions to provide a graphic interpretation. For this implementation, turtle graphics are used. In the upcoming sections, both the L-systems and the turtle graphics will be explained.
