SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

Embed Size (px)

Citation preview

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    1/8

    SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    Vincius J. Cassol, Fernando P. Marson, Mateus Vendramini, Marcelo Paravisi, and Soraia R. Musse

    Graduate Programme in Computer Science - PUCRS Porto Alegre - RS - Brazil

    contact email: [email protected]

    Alessandro L. Bicho

    Center of Computational Sciences - FURG

    Rio Grande - RS - Brazil

    Claudio R. Jung

    Institute of Informatics - UFRGS

    Porto Alegre - RS - Brazil

    ABSTRACT

    The representation of a real scenario through a 3D virtual

    environment populated by autonomous agents has several

    applications, such as games or animation movies. Such

    representation can be a difficult and complex task, since

    natural scenarios are composed by forms with a lot of de-

    tails that should be reproduced realistically in the virtual

    world. Moreover, virtual people should understand andconsider the virtual world for navigation similarly to real

    people. In this paper we describe a model to provide mo-

    tion of groups of characters based on terrain reasoning in

    3D virtual worlds. The model starts with the terrain gener-

    ation process using height maps in a pseudo-infinite world,

    followed by the simulation of characters movement gener-

    ated through an space colonization algorithm. Finally, the

    visualization of characters motion in the 3D terrain can be

    produced.

    KEY WORDS

    agents simulation, terrain generation, terrain reasoning.

    1 Introduction

    Nowadays, the process of conception and development of

    a virtual world is still an expensive activity that consumes

    a lot of time and work in the production of games and an-

    imation movies. Usually, a virtual world needs to repre-

    sent efficiently the features that can be observed in the real

    world. We can observe the nature, present in the real world,

    as a complex space, composed by many different elements

    which are rich in forms, colors, details and functionalities

    that need to be satisfactorily reproduced during a virtualworld generation.

    Furthermore, some aspects can be considered during

    the production of a virtual world, e.g. the fact that vir-

    tual worlds are often populated with characters and ob-

    jects. Moreover, some simulated situations can require

    other agents, like virtual humans or animals, moving on

    the terrain.

    Simulations involving terrain generation and moving

    characters have been studied by several researchers, aim-

    ing to provide methods and techniques that can be applied

    in different areas, such as robotics, virtual environments,

    games and/or entertainment industries and as well as sim-

    ulation and training tools. In this paper we describe a

    model to provide motion of autonomous characters (human

    and non-human) in 3D virtual worlds, using terrain reason-

    ing. The proposed method describes an integrated model

    that begins with the terrain generation process using height

    maps in a pseudo-infinite world, followed by the simulation

    of characters movement generated by an algorithm based

    on a biological approach [24].Together with the simulation process, we adopt the

    terrain reasoning concept. In this work, we consider terrain

    reasoning as more than path planning or path finding. Ter-

    rain reasoning can be associated with interactions between

    the agent or character and terrain features, e.g. geograph-

    ical factors like lakes and mountains or other obstacles in

    the environment. In this sense, agents can plan their ac-

    tions, being able to measure effort and comfort. Moreover,

    agents avoid collision during their motion along the terrain.

    The main contribution of our method can be defined

    as the integration of the biological model for group simula-

    tion with terrain reasoning in 3D environments. In our ap-

    proach, virtual agents (human and non-human) are capable

    of moving on a terrain, and during their motion they avoid

    obstacles or regions where walking is not allowed. Also, it

    is possible to consider a planning algorithm to provide to

    the agents a better way to achieve the goal.

    The paper is organized as follows: the next section

    presents the related work identified in the literature con-

    sidering the processes of terrain generation and characters

    movement in the environment. Section 3 presents in details

    the proposed model, while Section 4 presents and discusses

    some results of our method. Finally, Section 5 presents

    some final considerations and possibilities for future work.

    2 Related Work

    In computer graphics we can use some techniques and re-

    sources to simulate natural elements like terrains, oceans,

    trees and other plants. The use of fractals [5] provides the

    reproduction of objects with non-rigid forms. Such tech-

    nique makes it possible to represent some natural elements

    like plants and snow flakes. Besides fractals, noise func-

    tions as presented in the work of Perlin [20] can be used to

    include randomness, aiming to insert a textural component.

    The use of textures in a virtual object has the objective of

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    2/8

    simulating the appearance of natural elements, e.g. wood

    and marble.

    The terrain can be considered a very important ele-

    ment for the composition of a virtual world. Such impor-

    tance is due to the fact that the terrain is the basis for a

    representation of other elements, natural (lakes, trees and

    other geographical features) or not natural (streets, build-

    ings), in the virtual world. We can find in the literaturemany different techniques that can be used in terrain gen-

    eration. Smelik et al. [26] present a survey of procedural

    methods for terrain modeling, where the authors discuss

    procedural methods to generate water [9, 21, 1], vegeta-

    tion [22, 13, 7], road networks [6, 19, 10, 2] and urban en-

    vironments [6, 30, 16].

    A basic point considered in the terrain generation pro-

    cess is the use of height maps. In such approach the terrain

    is represented on a grid, where the value at each point (i, j)means height of that point. After a rendering process, the

    height maps can produce a similar relief as we can see in

    natural scenarios. Different techniques can be considered

    in the height map production process as stochastic subdi-

    vision [12], midpoint displacement methods [14], erosion

    algorithms [17] and Perlin noise [20]. On the other hand,

    Ong et al. [18] make use of genetic algorithms for ter-

    rain generation. According to the authors, such model is

    able to provide terrain generation considering a two-pass

    genetic algorithm approach together with intuitive inputs

    from user.

    Some virtual environments (VEs) are created using

    procedural techniques, where all geometry is generated on

    the fly. The generated VE is required to be coherent and

    persistent, i.e. as the agent goes back to a point previously

    visited, it must be identical as at the first moment. Oneexample of this feature, which can be generally observed

    in models of virtual cities, is presented by Greuter [6] in a

    production of a pseudo infinite world. Such approach rep-

    resents the terrain on a 2D grid composed by square cells.

    The cells coordinates are used together with a global seed

    to calculate a hash function that is used to generate pseudo

    random numbers to identify the features of each cell.

    Once the terrain is generated, it is possible to pro-

    vide the motion of virtual characters on the terrain. With

    the main goal of simulating human locomotion in a virtual

    space, Reich and collaborators developed some of the pi-

    oneer works in this area [23, 11], making agents aware ofthe environment and associating a set of actions to their

    perceived data. In their work, simulated sensors are used

    to find environment features such as the terrain type, obsta-

    cles and hostile locations that are used to provide the agent

    locomotion. Moreover, a behavioral control, based on the

    information received from the sensors, is used to define the

    next agent action in the environment.

    As presented before, one of the terrain reasoning re-

    quirements is to provide the agent movement avoiding ob-

    stacles in the environment. For this purpose, it is possible

    to identify well know techniques such as the Dijkstra [4]

    and the A* [8] algorithms. The Dijkstra algorithm is more

    focused on tactical decision and it was originally designed

    to solve a problem in mathematical graph theory. Consid-

    ering characters locomotion, there are start and goal points,

    and the algorithm is designed to find the shortest routes to

    any position from a given initial point. The A* algorithm

    is designed for point-to-point pathfinding. It can be eas-

    ily extended to tackle more complex cases, but it always

    returns a single path from source to goal. The problem isidentical to that solved by Dijkstra pathfinding algorithm.

    Given a graph and two nodes in that graph (called start and

    goal), the algorithm should generate a path whose cost is

    minimal, among all possible paths from start to goal.

    Another feature that needs to be considered in ter-

    rain reasoning methods is the motion of a single char-

    acter as well as groups formed by hundreds of charac-

    ters. Sud et al.[27, 28] presented an algorithm used for

    real-time path planning and navigation of multiple virtual

    agents in complex dynamic scenes. The authors intro-

    duced a new data structure called Multi Agent Navigation

    Graph (MaNG) computed using GPU-accelerated discrete

    Voronoi diagrams.

    Rodrigues and collaborators [24] presented a new

    model for steering behavior called Tree Paths. Their model

    is based on the biologically-motivated space colonization

    algorithm, which has been previously used to provide leaf

    venation patterns [25]. Considering the space colonization,

    their method can be used for generating steering behaviors

    of groups of characters. The main idea is to define the walk-

    able space, by the use of a set of markers represented by

    points in the space. The markers can be distributed over the

    portions of the space that can be effectively occupied by the

    agents, so that obstacles and not walkable regions are not

    populated with markers. To walk in the space, the agentmoves considering the presence of markers.This work (fur-

    ther details in [24]) is used as the basis for our model, and

    it is detailed in the next section.

    3 The Proposed Model

    This section presents and discusses the proposed approach.

    We propose an integrated model that consists of a pseudo-

    infinite terrain generation and the simulation of 2D charac-

    ters motion on it. Moreover, by using data from the sim-ulation we can generate a visualization of virtual humans

    motion in 3D terrain. The pipeline of our model is pre-

    sented in Figure 1, where it is possible to identify the steps

    followed during the execution of our model. The terrain

    generation phase has a supporting tool that allows the user

    to customize some terrain features. Moreover, in the sim-

    ulation and visualization, we make use of a file contain-

    ing information about the simulation, e.g. the number of

    groups and agents, the geometric models of virtual humans,

    the goal of each group, among others.

    The following sections explain individually each one

    of the main phases of our method.

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    3/8

    Figure 1. The pipeline of the proposed model is composed

    by two main modules: terrain generation and simulation

    of characters motion. It is also possible to define some

    semantic information in the terrain, using a specific tool

    named TerrainTool. The terrain module produces markers

    and special markers as input to simulation module and a

    geometric model of terrain to be used in the visualization

    (an auxiliar module in our model). A setup file for the sim-

    ulation step is defined by the user. This information file can

    also to be used in visualization process.

    3.1 Terrain Generation

    We developed a tool responsible for terrain generation

    named TerrainTool, which basically has the following fea-

    tures: i) generation of height maps, ii) generation of terrain

    geometry, iii) definition of terrain semantics, e.g. walka-

    ble and semi-walkable spaces, iv) graph generation to pro-

    vide navigation data for characters, and finally v) creation

    of markers for space colonization (detailed in Section 3.2).

    The virtual world is subdivided into cells, whose size

    (granularity) is defined by the user, as well as the global

    seeds. The user defines the region of interest in the world

    to be represented by informing world coordinates. Then,

    the mapping from the given coordinates to cells addresses

    should be computed, i.e. the simple division of coordinates,

    as shown in Equation 1:

    pcell = mod (pworld, granularity). (1)

    In order to generate the height map, we considered

    a matrix with 5 5 cells. The position of the cell in thecenter of the matrix is computed according to Equation 1.Afterwards, the other cells in the 5 5 matrix can be ad-dressed directly, in grid coordinates. For example, let us

    consider that an region of interest in world coordinates is

    located at position (58, 77). Given a granularity of6, theposition of the central cell in the matrix should be at posi-

    tion (9, 12). In addition, other cell coordinates can be founddirectly considering the matrix structure, e.g. the cell into

    the right of the central cell should be (10, 12).

    After each cell coordinate is defined, we populate the

    matrix with an integer hashed seed method, as proposed by

    Wang [29]. Each cell will receive a hashed seed, computed

    using the following function:

    seedcell = hash(pxcell hash(pycell globalseed)).(2)

    Figure 2(A) illustrates the matrix containing the 5 5 cells. Let us consider that in their center, a previouslycomputed hashed seed is defined. The obtained seeds are

    then normalized into height map scale values, ranging from

    0 to 255 for each cell.

    Figure 2. The height map generation process. Each cell

    of the 5 matrix is populated with integer seeds, which arenormalized into height map scale values (0-255) and repre-

    sented as small squares (A). The small circles represent the

    computed interpolated values of neighbors seeds (B). The

    computation describes horizontal and vertical interpolation

    among all the cells to generate the final height map (C).

    The next step aims to generate the height map of the

    terrain. Once each cell has received one height map value,

    we simply interpolate values for neighboring cells in the

    5 5 matrix, in order to find values for each vertex inthe grid. This process used two simple linear interpolation

    functions and results in a 3 3 matrix in which all ver-

    tices have height map values. Figure 2 (B) illustrates thisprocess, using the values shown in Figure 2 (A).

    By default, all regions of the generated terrain are

    walkable. The user can define non-walkable or semi-

    walkable places using TerrainTool. A region defined as

    non-walkable will represent a space where the agents must

    not walk during the simulation. In addition, semi-walkable

    places mean regions where the agents will be able to

    walk in some specific situations. Furthermore, through the

    graphical interface, the user can define an intensity level for

    the semi-walkable regions, which relate to how walkable

    the terrain is. Such value will be considered to define the

    agents motion in the simulation phase (Section 3.2).

    To provide information to the planning algorithm,

    TerrainTool generates a graph considering the information

    about specific regions on the terrain (composed by semi-

    walkable or non-walkable markers). The graph creation

    process is define as follows:

    Firstly, we use ray casting against the terrain to createa grid of nodes. Whenever a ray intersects a terrain

    region defined as non-walkable, then that particular

    region is not considered for graph node creation.

    After that, we generate edges connecting every pairof created nodes. In this step, we also consider the

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    4/8

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    5/8

    Figure 4. The non-walkable markers are used in the terrain

    to define a lake. In (A) is presented the simulation envi-

    ronment where it is possible to observe the markers and

    special markers; and in (B) this situation is rendered during

    the visualization.

    (mtk). If the marker represents a semi-walkable space,

    the value for ft should come from TerrainTool (see Sec-

    tion 3.1). Equation 5 presents the formal definition offt:

    ft =

    1, ifmt is walkable0, ifmt is non-walkablevaried, ifmt is semi-walkable,

    coming from TerrainTool specification.(5)

    Since the weights are computed for markers closer to

    agent i than any other agent, the direction vector describing

    the agent motion is computed similarly to [24], as shown in

    Equation 6:

    d(i) =Nk=1

    wk(mk pi). (6)

    The motion generation process, previously described,

    was initially developed to represent human motion across

    the terrain. Considering this, we show that our model can

    be easily adapted to provide non-human motion, e.g. fish in

    a lake, since it is possible to represent a lake by the use of

    non-walkable markers. To make it possible we can define

    ft for each agent, so, it will distinguish regions according

    to motion information. For example, to provide the charac-

    ters motion in water places, we consider ft in the opposite

    way to what is defined in Equation 5. In this way, the mark-ers defined as non-walkable can be used in the characters

    motion, and the opposite with the walkable markers.

    The paths considered by the agents are dynamically

    generated as presented. The use of special markers creates

    the terrain reasoning as an emergent feature.

    Another possibility that can be used in the agents

    movement is a path planning algorithm, e.g. A*. Such al-

    gorithm allows for the generation of a path with sub-goals,

    which can be followed by the agents to achieve their main

    goal. In our method, we use the approach presented by

    Millington [15]. The graph requested in the algorithm exe-

    cution is defined on the terrain, considering its features and

    the definition of special markers and edge weights (as de-

    scribed in Section 3.1). In this case, we inform for each

    agent i, the initial and goal positions and compute a se-

    quence of nodes that should be reached until the final goal.

    During the simulation, agents move according to the

    positions of graph nodes and the weight of edges. Sec-

    tion 4 presents results obtained using our terrain reasoning

    method. Visualization can be performed considering 2Dagents or animated virtual humans. In the last case, we

    use Irrlicht 1 engine to provide terrain rendering and char-

    acters animation. A visualization example is illustrated in

    Figure 5.

    Figure 5. Visualization of animated virtual humans moving

    in the terrain.

    4 Results Presentation

    This section presents some results obtained with our ap-

    proach. To support the terrain generation process, we

    present TerrainTool (see Section 3.1), which is able to spec-

    ify different kinds of markers, called special markers in

    the generated terrain according what the user desires. In-

    deed, this feature allows for the user to specify semantic

    information about the environment. Therefore, it is pos-

    sible to specify walkable, semi-walkable and non-walkable

    regions in the terrain, defining special markers in the space.

    Considering a natural environment, for example, it is pos-

    sible to delimit a space representing a water region by the

    use of non-walkable markers. During the simulation phase,

    the characters motion in this specific region is not allowed.In Figure 6 the different markers defined to be used in the

    simulation environment are illustrated: In A we show the

    markers definition in terrain through the TerrainTool where

    1 means semi-walkable regions and 2 means non-walkable

    regions and in B we show the representation of markers and

    special markers in the simulation space.

    Considering the special markers, the agents move in

    the space through different trajectories generated as a func-

    tion of our terrain reasoning model. Figure 7 shows a tra-

    jectory of a group of agents that needs to move from the

    1http://irrlicht.sourceforge.net/

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    6/8

    Figure 6. The special markers defined by an user through

    the TerrainTool (A), where 1 means semi-walkable regions

    and 2 means non-walkable regions and B shows the visu-

    alization of markers and special markers in the simulation

    environment.

    source (S) to target (T) point considering special markers

    in the terrain (Fig 7 - A). It is possible to observe that

    the agents do not make use of non-walkable markers in

    their motion (Fig 7 - C) and, on the other hand, the semi-

    walkable markers are considered (Fig 7 - B, D) in the mo-tion just in cases where it is not possible for agents to walk

    across original markers (without special definition).

    Figure 7. Evolution of the trajectory of a group of agents

    considering a terrain with special markers where the agents

    need to go from a source point (S) to a target point (T). The

    agents consider such different regions during the simula-tion.

    Integration of path planning algorithm in our model

    was possible with A* implementation [15]. In this case,

    TerrainTool provides a graph according to terrain charac-

    teristics and afterward it is used by agents in order to move

    coherently using terrain reasoning. Figure 8 illustrates the

    generated graph where we can see the nodes and the edges

    considered in this path planning algorithm. Region (1) con-

    tains the edges generated in a region defined with semi-

    walkable markers and will be considered with more effort

    to be used in a path. Finally, we can observe in the graph, a

    region without edges (2) because such region was defined

    as a non-walkable place.

    Figure 8. The graph used in the A*. It is possible to observe

    the vertices (nodes) and edges used in the path planning

    algorithm. In (1) we can see a region with semi-walkable

    places and the region without edges (2) means a space with

    non-walkable markers.

    In the simulation environment, we can observe in Fig-

    ure 9 the generated path for agents to achieve their goal.

    In A, we show four generated paths that will be used by

    groups of agents during the simulation phase. In B, C and

    D, we present different moments of the simulation. Each

    group is composed by 12 agents and initial and goal posi-

    tions are determined as follows: for group 1, path is formed

    from node 1 to node 4, while group 4 applies the opposite

    way. Group 2 follows a path formed from node 2 to node

    3, and group 3 applies the path from node 3 to 2.

    Figure 9. Four different paths Generated by the A* algo-

    rithm (A) for the groups characters motion in the terrain (B,

    C, D).

    On the other hand, another possibility is to run the

    A* path planning algorithm by considering the edge cost to

    compute the best way, consequently agents avoid passing

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    7/8

    through big depressions in the terrain. It is possible to ob-

    serve it in Figure 10. This feature simulates a very common

    situation in the real world where pedestrians apply paths

    which require less effort from them.

    Figure 10. Considering the edge cost in the graph, A* can

    generate more natural paths, avoiding terrain depressions.

    5 Final Considerations and Future Work

    This paper presents a method to simulate the motion of

    groups of characters in 3D environments using terrain rea-

    soning. We firstly describe the concept adopted for ter-

    rain reasoning, followed by descriptions of environment

    modeling and semantic information. This latter concept

    is presented through the use of markers, which define the

    features of the space for the agents. The main contribu-

    tion is the integration between the geometric space and the

    simulation of characters using the space colonization al-

    gorithm [25], by creating a semantic layer that allows the

    agents to behave in a realistic way.

    Obtained results indicate that agents can be easily an-

    imated in the 3D terrain, considering the space features, by

    using our model for terrain reasoning. Moreover, accept-

    able visual results were achieved, in real time.

    Future work should be focused on group behaviors,

    mainly improving their ability to evolve in the environ-

    ment. For instance, agents should consider the presence of

    others in order to compute their best paths to reach the goal.

    At the moment, agents do not interact with one another.

    Acknowledgments

    This work was supported by Brazilian research agencies

    CNPQ and FINEP using incentives of Brazilian Informat-

    ics Law (Law n 8.2.48 of 1991). The authors acknowledge

    the support granted by CNPQ and FAPESP to the INCT-

    SEC (National Institute of Science and Technology Em-

    bedded Critical Systems Brazil), processes 573963/2008-8

    and 08/57870-9.

    References

    [1] BELHADJ, F., AN D AUDIBERT, P. Modeling land-

    scapes with ridges and rivers: bottom up approach.

    In GRAPHITE 05: Proceedings of the 3rd interna-

    tional conference on Computer graphics and inter-

    active techniques in Australasia and South East Asia

    (New York, NY, USA, 2005), ACM, pp. 447450.

    [2] CHE N, G . , ESC H, G . , WONKA, P., MULLER, P.,

    AN D ZHANG, E. Interactive procedural street model-

    ing. ACM Trans. Graph. 27, 3 (2008), 110.

    [3] DE LIM A BICHO, A. From Plants to Crowd Dynam-

    ics: A bio-inspired model(in portuguese). PhD the-

    sis, State University of Campinas, Campinas, Brazil,

    2009.

    [4] DIJKSTRA, E. W. A note on two problems in connex-

    ion with graphs. Numerische Mathematik 1, 1 (De-

    cember 1959), 269271.

    [5] FOURNIER, A., FUSSELL , D., AN D CARPENTER, L .

    Computer rendering of stochastic models. Commun.

    ACM 25, 6 (1982), 371384.

    [6] GREUTER, S . , PARKER, J . , STEWART, N . , AN D

    LEACH, G. Real-time procedural generation of

    pseudo infinite cities. In GRAPHITE 03: Pro-

    ceedings of the 1st international conference on Com-

    puter graphics and interactive techniques in Australa-

    sia and South East Asia (New York, NY, USA, 2003),

    ACM, pp. 87ff.

    [7] HAMMES, J. Modeling of ecosystems as a data

    source for real-time terrain rendering. In DEM 01:

    Proceedings of the First International Symposium on

    Digital Earth Moving (London, UK, 2001), Springer-

    Verlag, pp. 98111.

    [8] HART, P. E., NILSSON , N. J., AN D RAPHAEL , B. A

    formal basis for the heuristic determination of mini-

    mum cost paths. SIGART Bull., 37 (1972), 2829.

    [9] KELLEY, A . D . , MALIN, M . C . , AN D NIELSON,

    G. M. Terrain simulation using a model of stream

    erosion. In SIGGRAPH 88: Proceedings of the 15th

    annual conference on Computer graphics and inter-

    active techniques (New York, NY, USA, 1988), ACM,

    pp. 263268.

    [10] KELLY, G . , AN D MCCAB E, H. Citygen: An in-

    teractive system for procedural city generation. In

    Proceedings of GDTW 2007: The Fifth Annual Inter-

    national Conference in Computer Game Design and

    Technology (Liverpool, UK, 2007), pp. 816.

    [11] KO, H., REICH, B. D., BECKET, W., AN D BADLER,

    N. I . Terrain navigation skills and reasoning. In

    In Proceedings of the Fourth Conference on Com-

    puter Generated Forces and Behavioral Representa-

    tion (1994), pp. 219227.

    [12] LEWIS, J. P. Generalized stochastic subdivision.

    ACM Trans. Graph. 6, 3 (1987), 167190.

  • 8/7/2019 SIMULATION OF AUTONOMOUS AGENTS USING TERRAIN REASONING

    8/8

    [13] LINTERMANN, B., AN D DEUSSEN, O. Interactive

    modeling of plants. IEEE Comput. Graph. Appl. 19,

    1 (1999), 5665.

    [14] MILLER, G. S. P. The definition and rendering of

    terrain maps. In SIGGRAPH 86: Proceedings of the

    13th annual conference on Computer graphics and

    interactive techniques (New York, NY, USA, 1986),

    ACM, pp. 3948.

    [15] MILLINGTON, I. Artificial Intelligence for Games

    (The Morgan Kaufmann Series in Interactive 3D

    Technology). Morgan Kaufmann Publishers Inc., San

    Francisco, CA, USA, 2006.

    [16] MULLER, P., WONKA, P., HAEGLER, S., ULMER,

    A. , AN D VAN GOO L, L. Procedural modeling of

    buildings. In SIGGRAPH 06: ACM SIGGRAPH

    2006 Papers (New York, NY, USA, 2006), ACM,

    pp. 614623.

    [17] MUSGRAVE

    , F. K., KOL B

    , C. E.,AN D

    MACE

    , R. S.The synthesis and rendering of eroded fractal ter-

    rains. In SIGGRAPH 89: Proceedings of the 16th

    annual conference on Computer graphics and inter-

    active techniques (New York, NY, USA, 1989), ACM,

    pp. 4150.

    [18] ONG , T . J . , SAUNDERS, R . , KEYSER, J . , AN D

    LEGGETT, J. J. Terrain generation using genetic al-

    gorithms. In GECCO 05: Proceedings of the 2005

    conference on Genetic and evolutionary computation

    (New York, NY, USA, 2005), ACM, pp. 14631470.

    [19] PARISH, Y. I. H ., AN D MULLER, P. Procedural mod-

    eling of cities. In SIGGRAPH 01: Proceedings of the

    28th annual conference on Computer graphics and

    interactive techniques (New York, NY, USA, 2001),

    ACM, pp. 301308.

    [20] PERLIN, K. An image synthesizer. SIGGRAPH Com-

    put. Graph. 19, 3 (1985), 287296.

    [21] PRUSINKIEWICZ , P., AN D HAMMEL, M. A fractal

    model of mountains and rivers. In Graphics Interface

    93 (May 1993), pp. 174180.

    [22] PRUSINKIEWICZ , P., AN D LINDENMAYER, A. The

    algorithmic beauty of plants. Springer-Verlag NewYork, Inc., New York, NY, USA, 1996.

    [23] REICH, B . , KO, H . , BECKET, W., AN D BADLER,

    N. I. Terrain reasoning for human locomotion. In

    In Proceedings of Computer Animation 94 (1994),

    IEEE Computer Society Press, pp. 9961005.

    [24] RODRIGUES, R. A., LIM A BICHO, A . , PARAVISI,

    M., JUN G, C. R., MAGALHAES, L. P., AN D MUSSE,

    S. R. Tree paths: A new model for steering behav-

    iors. In IVA 09: Proceedings of the 9th International

    Conference on Intelligent Virtual Agents (Berlin, Hei-

    delberg, 2009), Springer-Verlag, pp. 358371.

    [25] RUNIONS, A . , FUHRER, M., LAN E, B . , FED -

    ER L, P., ROLLAND-L AGAN, A.-G., AN D

    PRUSINKIEWICZ , P. Modeling and visualiza-

    tion of leaf venation patterns. In SIGGRAPH 05:

    ACM SIGGRAPH 2005 Papers (New York, NY,

    USA, 2005), ACM, pp. 702711.

    [26] SMELIK, R. M., DE KRAKER, K. J., GROENEWE-

    GE N, S. A., TUTENEL, T., AN D BIDARRA, R. A sur-

    vey of procedural methods for terrain modelling. In

    Proceedings of the CASA workshop on 3D advanced

    media in gaming and simulation (3AMIGAS) (Ams-

    terdam, The Netherlands, 2009).

    [27] SUD , A . , ANDERSEN, E . , CURTIS, S . , LIN , M.,

    AN D MANOCHA, D. Real-time path planning for vir-

    tual agents in dynamic environments. In SIGGRAPH

    08: ACM SIGGRAPH 2008 classes (New York, NY,

    USA, 2008), ACM, pp. 19.

    [28] SUD , A., ANDERSEN, E., CURTIS, S., LIN , M. C.,

    AN D MANOCHA , D . Real-time path planning in dy-namic virtual environments using multiagent naviga-

    tion graphs. IEEE Transactions on Visualization and

    Computer Graphics 14, 3 (2008), 526538.

    [29] WAN G, T. Integer hash function. Tech. rep., HP En-

    terprise Java Lab., 2000.

    [30] WONKA, P., WIMMER, M., SILLION, F., AN D RIB -

    ARSKY, W. Instant architecture. In SIGGRAPH 03:

    ACM SIGGRAPH 2003 Papers (New York, NY, USA,

    2003), ACM, pp. 669677.