Upload
fernandomarson
View
216
Download
0
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.