Crowd simulation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Zai3 (talk | contribs)
As1776 (talk | contribs)
History
Line 6: Line 6:


In games and applications intended to replicate real-life human crowd movement, like in evacuation simulations, simulated agents may need to navigate through crowds towards a goal, avoid collisions and exhibit other human-like behavior. Many crowd steering algorithms have been developed to lead simulated crowds to their goals, while avoiding collision with other agents. Some of them consider more complex physical and social dynamics,<ref>http://dl.acm.org/citation.cfm?id=1272705 Pelechano, N. and Allbeck, J. M. and Badler, N. I. Controlling individual agents in high-density crowd simulation. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation</ref> group-level steering, and planning.<ref>http://www.sbgames.org/sbgames2014/files/papers/computing/full/102-computingfullpages.pdf Maurcio C. Magnaguagno, Felipe Meneguzzi. BioPlan: An API for Classical Planning in BioCrowds.</ref>
In games and applications intended to replicate real-life human crowd movement, like in evacuation simulations, simulated agents may need to navigate through crowds towards a goal, avoid collisions and exhibit other human-like behavior. Many crowd steering algorithms have been developed to lead simulated crowds to their goals, while avoiding collision with other agents. Some of them consider more complex physical and social dynamics,<ref>http://dl.acm.org/citation.cfm?id=1272705 Pelechano, N. and Allbeck, J. M. and Badler, N. I. Controlling individual agents in high-density crowd simulation. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation</ref> group-level steering, and planning.<ref>http://www.sbgames.org/sbgames2014/files/papers/computing/full/102-computingfullpages.pdf Maurcio C. Magnaguagno, Felipe Meneguzzi. BioPlan: An API for Classical Planning in BioCrowds.</ref>

== History ==
There has always been a deep-seeded interest in the understanding and gaining control of motional and behavior of crowds of people.

=== Reynolds (1987) ===
In 1987, behavioral animation was introduced and developed by Craig Reynolds.<ref>{{Cite journal|last=Reynolds|first=Craig|year=1987|title=Flocks, herds, and schools: A distributed behavior model.|url=|journal=Proceedings of ACM SIGGRAPH 87|volume=July 1987|pages=|via=}}</ref> He had simulated flocks of birds alongside schools of fish for the purpose of studying group intuition and movement. All agents within these simulations were given direct access to the respective positions and velocities of their surrounding agents.

=== Tu & Terzopoulos & Grzeszczuk (1994) ===
The theorization and study set forth by Reynolds was improved and built upon in 1994 by Xiaoyuan Tu, Demetri Terzopoulos and Radek Grzeszczuk.<ref>{{Cite journal|last=Terzopoulos|first=Demetri|last2=Tu|first2=Xiaoyuan|last3=Grzeszczuk|first3=Radek|year=1994|title=Artificial Fishes: Autonomous Locomotion, Perception, Behavior, and Learning in a Simulated Physical World|url=http://web.cs.ucla.edu/~dt/papers/alifej94/alifej94.pdf|journal=Artificial Life|volume=1(4):327–351|pages=|via=}}</ref> The realistic quality of simulation was engaged with as the individual agents were equipped with synthetic vision and a general view of the environment within which they resided, allowing for a perceptual awareness within their dynamic habitats.

=== Thalmann & Musse (1997) ===
Initial research in the field of crowd simulation began in 1997 with Daniel Thalmann's supervision of Soraia Raupp Musse's PhD thesis. These two present a new model of crowd behavior in order to create a simulation of generic populations.<ref>{{Cite book|url=https://books.google.com/books?id=3Adh_2ZNGLAC&pg=PR8&dq=history+of+crowd+simulation&hl=en&sa=X&ved=0ahUKEwjh2Kes2_nQAhWCLcAKHWsqBSsQ6AEIHjAB#v=onepage&q=history%20of%20crowd%20simulation&f=false|title=Crowd Simulation|last=Thalmann|first=Daniel|last2=Musse|first2=Soraia Raupp|date=2012-10-04|publisher=Springer Science & Business Media|isbn=9781447144496|language=en}}</ref><ref>{{Cite book|url=http://link.springer.com/chapter/10.1007/978-3-7091-6874-5_3|title=Computer Animation and Simulation’97|last=Musse|first=Soraia Raupp|last2=Thalmann|first2=Daniel|date=1997-01-01|publisher=Springer Vienna|pages=39–51}}</ref>

=== Reynolds (1999) ===
In 1999, individualistic navigation began its course within the realm of crowd simulation via continued research of Craig Reynolds.<ref>{{Cite web|url=http://www.red3d.com/cwr/papers/1999/gdc99steer.html|title=Steering Behaviors For Autonomous Characters|website=www.red3d.com|access-date=2016-12-17}}</ref> Steering behaviors are proven to play a large role in the process of automating agents within a simulation. Reynolds states the processes of low-level locomotion to be dependent and reliant on mid-level steering behaviors and higher-level goal states and path finding strategies.

=== Thalmann & Musse (2001) ===
Building off of the advanced work of Reynolds, Soraia Raupp Musse and Daniel Thalmann began to study the modeling of real time simulations of these crowds, and their applications to human behavior. The control of human crowds was designated as a hierarchical organization with levels of autonomy amongst agents. This marks the beginnings of modeling individual behavior in its most elementary form on humanoid agents. <ref>{{Cite journal|last=Musse|first=Soraia Raupp|last2=Thalmann|first2=Daniel|date=2001-01-01|title=Hierarchical model for real time simulation of virtual human crowds|url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=928167|journal=IEEE Transactions on Visualization and Computer Graphics|volume=7|issue=2|pages=152–164}}</ref>

=== Thalmann & Ulicny & Ciechomski (2004) ===
Correlating and building off of the findings proposed in his work with Soraia Raupp Musse, Daniel Thalmann, working alongside Bratislava Ulicny and Pablo de Heras Ciechomski, proposed a new model which allowed for interactive authoring of agents at the level of an individual, a group of agents and the entirety of a crowd. A brush metaphor is introduced to distribute, model and control crowd members in real-time with immediate feedback.<ref>{{Cite journal|last=Ulicny|first=Branislav|last2=Ciechomski|first2=Pablo de Heras|last3=Thalmann|first3=Daniel|date=2004-01-01|title=Crowdbrush: Interactive Authoring of Real-time Crowd Scenes|url=http://dx.doi.org/10.1145/1028523.1028555|journal=Proceedings of the 2004 ACM SIGGRAPH/Eurographics Symposium on Computer Animation|series=SCA '04|location=Aire-la-Ville, Switzerland, Switzerland|publisher=Eurographics Association|pages=243–252|doi=10.1145/1028523.1028555|isbn=3905673142}}</ref>


== Particle motion ==
== Particle motion ==

Revision as of 00:35, 17 December 2016

Crowd simulation is the process of simulating the movement of a large number of entities or characters.[1] It is commonly used to create virtual scenes for visual media like films and video games, and to simulate crowd movement for evacuation planning and architectural design.

Crowd simulation can be done with levels of realism that targets different applications. When the focus is on graphics, reduction of the complexity of the 3D scene and image-based rendering are used to enable realistic animating of a large number of agents,[2] while variations in appearance help present a realistic population.[3][4] When used to create virtual cinematography, crowd simulation need to process 3D animated characters to create realistic output. Animators typically create a library of motions, sometimes baked as morphs. Alternately, the motions can be generated procedurally – i.e. choreographed automatically by software.

In games and applications intended to replicate real-life human crowd movement, like in evacuation simulations, simulated agents may need to navigate through crowds towards a goal, avoid collisions and exhibit other human-like behavior. Many crowd steering algorithms have been developed to lead simulated crowds to their goals, while avoiding collision with other agents. Some of them consider more complex physical and social dynamics,[5] group-level steering, and planning.[6]

History

There has always been a deep-seeded interest in the understanding and gaining control of motional and behavior of crowds of people.

Reynolds (1987)

In 1987, behavioral animation was introduced and developed by Craig Reynolds.[7] He had simulated flocks of birds alongside schools of fish for the purpose of studying group intuition and movement. All agents within these simulations were given direct access to the respective positions and velocities of their surrounding agents.

Tu & Terzopoulos & Grzeszczuk (1994)

The theorization and study set forth by Reynolds was improved and built upon in 1994 by Xiaoyuan Tu, Demetri Terzopoulos and Radek Grzeszczuk.[8] The realistic quality of simulation was engaged with as the individual agents were equipped with synthetic vision and a general view of the environment within which they resided, allowing for a perceptual awareness within their dynamic habitats.

Thalmann & Musse (1997)

Initial research in the field of crowd simulation began in 1997 with Daniel Thalmann's supervision of Soraia Raupp Musse's PhD thesis. These two present a new model of crowd behavior in order to create a simulation of generic populations.[9][10]

Reynolds (1999)

In 1999, individualistic navigation began its course within the realm of crowd simulation via continued research of Craig Reynolds.[11] Steering behaviors are proven to play a large role in the process of automating agents within a simulation. Reynolds states the processes of low-level locomotion to be dependent and reliant on mid-level steering behaviors and higher-level goal states and path finding strategies.

Thalmann & Musse (2001)

Building off of the advanced work of Reynolds, Soraia Raupp Musse and Daniel Thalmann began to study the modeling of real time simulations of these crowds, and their applications to human behavior. The control of human crowds was designated as a hierarchical organization with levels of autonomy amongst agents. This marks the beginnings of modeling individual behavior in its most elementary form on humanoid agents. [12]

Thalmann & Ulicny & Ciechomski (2004)

Correlating and building off of the findings proposed in his work with Soraia Raupp Musse, Daniel Thalmann, working alongside Bratislava Ulicny and Pablo de Heras Ciechomski, proposed a new model which allowed for interactive authoring of agents at the level of an individual, a group of agents and the entirety of a crowd. A brush metaphor is introduced to distribute, model and control crowd members in real-time with immediate feedback.[13]

Particle motion

The characters are attached to point particles, which are then animated by simulating wind, gravity, attractions, and collisions. The particle method is usually inexpensive to implement, and can be done in most 3D software packages. However, this method is not very realistic because it is difficult to direct individual entities when necessary. Also, motion is generally limited to flat surfaces.

Crowd AI

A crowd simulation of Covent Garden, London, showing a crowd of pedestrian agents reacting to a street performer

Individual entities in a crowd are also called agents. One of the problems in crowd simulation, is having the crowd behave in a realistic manner. In other words, having the agents in the crowd make "intelligent decisions." To solve this problem, agents are sometimes given artificial intelligence, which guides the entities based on one or more functions, such as sight, hearing, basic emotion, energy level or aggression level. Entities are given goals and then interact with each other just as members of a real crowd would. They are often programmed to respond to changes in their environment; for example, they may climb hills, jump over holes or scale ladders. This system is much more realistic than particle motion.

Simulated crowd behavior is inspired by the flow of real-world crowds. Behavioral patterns, movement speeds and densities, and anomalies are analyzed across many environments and building types. Individuals are tracked and their movements are documented such that algorithms can be derived and implemented into crowd simulations.

Algorithm by Patil and Van Den Berg

This algorithm was designed for relatively simplistic crowds, where each agent in the crowd only desires to get to its own goal destination while also avoiding obstacles.[14] This algorithm could be used for simulating a crowd in Times Square.

Patils algorithm's most important and distinctive feature is that it utilizes the concept of navigation fields for directing agents. This is different from a guidance field; a guidance field is an area around the agent in which the agent is capable of "seeing"/detecting information. Guidance fields are typically used for avoiding obstacles, dynamic obstacles (obstacles that move) in particular. Every agent possesses its own guidance field. A navigation field, on the other hand, is a vector field which calculates the minimum cost path for every agent so that every agent arrives at its own goal position.

The navigation field can only be used properly when a path exists from every free (non-obstacle) position in the environment to one of the goal positions. The navigation field is computed using coordinates of the static objects in the environment, goal positions for each agent, and the guidance field for each agent. In order to guarantee that every agent reaches its own goal the navigation field must be free of local minima, except for the presence of sinks at the specified goals.

The running time of computing the navigation field is O(m*n*log(mn)), where m × n is the grid dimension (similar to Dijkstra's algorithm). Thus, the algorithm is only dependent on the grid resolution and not dependent on the number of agents in the environment. However, this algorithm has a high memory cost.

Individual behavior modelling

One set of techniques for AI-based crowd simulation is to model crowd behavior by advanced simulation of individual agent motivations and decision-making. Generally, this means each agent is assigned some set of variables that measure various traits or statuses such as stress, personality, or different goals. This results in more realistic crowd behavior though may be more computationally intensive than simpler techniques.

Stress-based model

The behavior of crowds in high-stress situations can be modeled using General Adaptation Syndrome theory.l[15] Agent behavior is affected by various stressors from their environment categorized into four prototypes: time pressure, area pressure, positional stressors, and interpersonal stressors, each with associated mathematical models.

Time pressure refers to stressors related to a time limit in reaching a particular goal. An example would be a street crossing with a timed walk signal or boarding a train before the doors are closed. This prototype is modeled by the following formula:

where is the intensity of the time pressure as a function of the estimated time to reach the goal and a time constraint .

Area pressure refers to stessors as a result of an environmental condition. Examples would be noise or heat in an area. The intensity of this stressor is constant over a particular area and is modeled by the following formula:

where is the intensity of the area pressure, is the position of the agent in an area , and is a constant.

Positional stressors refer to stressors associated with a local source of stress. The intensity of this stressor increases as an agent approaches the source of the stress. An example would be a fire or a dynamic object such as an assailant. It can be modeled by the following formula:

where is the intensity of the positional stressor, is the position of the agent and is the position of the stressor. Alternatively, stressors that generate high stress over a large area (such as a fire) can be modeled using a Gaussian distribution with standard deviation :

Interpersonal stressors are stressors as a result of crowding by nearby agents. It can be modeled by the following formula:

where is the intensity of the interpersonal stressor, is the current number of neighbors within a unit space and is the preferred number of neighbors within a unit space for that particular agent.

The perceived stress follows Steven's Law and is modeled by the formula:

where is the perceived stress for a stress level , is a scale factor, and is an exponent depending on the stressor type.

An agent's stress response can be found with the following formula:

where is the stress response capped at a maximum value of and is the maximum rate at which an agent's stress response can change.

Examples of notable crowd AI simulation can be seen in New Line Cinema's The Lord of the Rings films, where AI armies of thousands of characters battle each other. This crowd simulation was done using Weta Digital's Massive software.

Sociology

Crowd simulation can also refer to simulations based on group dynamics and crowd psychology, often in public safety planning. In this case, the focus is just the behavior of the crowd, and not the visual realism of the simulation. Crowds have been studied as a scientific interest since the end of the 19th Century. A lot of research has focused on the collective social behavior of people at social gatherings, assemblies, protests, rebellions, concerts, sporting events and religious ceremonies. Gaining insight into natural human behavior under varying types of stressful situations will allow better models to be created which can be used to develop crowd controlling strategies.

Emergency response teams such as policemen, the National Guard, military and even volunteers must undergo some type of crowd control training. Using researched principles of human behavior in crowds can give disaster training designers more elements to incorporate to create realistic simulated disasters. Crowd behavior can be observed during panic and non-panic conditions. When natural and unnatural events toss social ideals into a twisting chaotic bind, such as the events of 9/11 and hurricane Katrina, humanity's social capabilities are truly put to the test. Military programs are looking more towards simulated training, involving emergency responses, due to their cost effective technology as well as how effective the learning can be transferred to the real world.[citation needed] Many events that may start out controlled can have a twisting event that turns them into catastrophic situations, where decisions need to be made on the spot. It is these situations in which crowd dynamical understanding would play a vital role in reducing the potential for anarchy.

Modeling techniques of crowds vary from holistic or network approaches to understanding individualistic or behavioral aspects of each agent. For example, the Social Force Model describes a need for individuals to find a balance between social interaction and physical interaction. An approach that incorporates both aspects, and is able to adapt depending on the situation, would better describe natural human behavior, always incorporating some measure of unpredictability. With the use of multi-agent models understanding these complex behaviors has become a much more comprehensible task. With the use of this type of software, systems can now be tested under extreme conditions, and simulate conditions over long periods of time in the matter of seconds.

Modeling individual behaviors

Helbing proposed a model based on physics using a particle system and socio-psychological forces in order to describe human crowd behavior in panic situation, this is now called the Helbing Model. His work is based on how the average person would react in a certain situation. Although this is a good model, there are always different types of people present in the crowd and they each have their own individual characteristics as well as how they act in a group structure. For instance, one person may not react to a panic situation, while another may stops walking and interfere in the crowd dynamics as a whole. Furthermore, depending on the group structure, the individual action can change because the agent is part of a group, for example, returning to a dangerous place in order to rescue a member of that group. Helbing's model can be generalized incorporating individualism.

In order to tackle this problem, individuality should be assigned to each agent, allowing to deal with different types of behaviors. Another aspect to tackle this problem is the possibility to group people, forming these group causes people to change their behavior as a function of part of the group structure. Each agent (individual) can be defined according to the following parameters:

  1. Id - Agent identifier
  2. IdFamily - Identifier of the family. A family is a predefined group formed by agents who know each other
  3. DE - Dependence level of the agent which mimics the need for help. Values [0,1]
  4. AL - Altruism level representing the tendency to help other agents. Values [0,1]
  5. vi - Speed of the agent

To model the effect of the dependence parameter with individual agents, the equation is defined as:

vi = (1 - DE)vmax

When evaluating the speed of the agent, it is clear that if the value of the dependence factor, DE, is equal to one, then the person would be fully disabled making him unable to move. If the dependence factor is equal to zero, then the person is able to run at his max speed.

Group formation is related to the Altruism force which is implemented as an interaction force between two or more agents who are part of the same family. Mathematically, it is described as the following:

i = K x ΣALiDEj x |dij-dip| x eij

dij represents the distance between two agents with the origin at the position of the agent. dip is the distance vector point from the agents to the door's position p of the simulation environment. K is a constant. eij is the unitary vector with the origin at position i.

Consequently, the greater the parameter ALi of agenti, the bigger will be Fāi which points to the agentj and has the high level of DEj. When both agents are close enough to each other, the one with high DE (agentj in this example) adopts the value of agenti (DEj = DEi). This means that the evacuation ability of agenti is shared with agentj and both start moving together.

By using these applying these equations in model testing using a normally distributed population, the results are fairly similar to the Helbing Model.

The places where this would be helpful would be in an evacuation scenario. Take for example, an evacuation of a building in the case of a fire. Taking into account the characteristics of individual agents and their group performances, determining the outcome of how the crowd would exit the building is critically important in creating the layout of the building.[16]

Leader Behavior during Evacuation Simulations

As described earlier, the Helbing Model is used as the basics for crowd behavior. This same type of behavior model is used for evacuation simulations.

In general, the first thing that has to be assumed is that not everyone has knowledge about the environment or where there are and aren't hazards. From this assumption we can create three types of agents. The first type is a trained leader, this agent knows about the environment and is able to spread knowledge to other agents so they know how to exit from an environment. The next type of agent is an untrained leader, this agent does not know about the environment, however, the as the agent explores the environment and gets information from other types of leaders, the agent is able to spread the knowledge about the environment. The last type of agent is a follower, this type of agent can only take information from other leaders and not be able to share the information with other agents.

The implementation of these types of agents is fairly straightforward. The leaders in the environment have a map of the environment saved as one of their attributes. An untrained leader and followers will start out with an empty map as their attribute. Untrained leaders and followers will start exploring an environment by themselves and create a map of walkable and unwalkable locations. Leaders and untrained leaders(once they have the knowledge), will share information with other agents depending on their proximity. They will share information about which points on the grid are blocked, the local sub-graphs and the dangers in the area.

There were two types of searching algorithms tried out for this implementation. There was the random search and the depth first search. A random search is where each of the agents go in any direction through the environment and try to find a pathway out. The depth first search is where agents follow one path as far as it can go then return and try another path if the path they traversed does not contain an exit. If was found that depth first search gave a speed up of 15 times versus a random search.[17]

Scalable Simulations and Situation

There are many different case situations that come into play in crowd simulations. Recently, crowd simulation has been essential for the many virtual environment applications such as education, training, and entertainment. Many situations are based on the environment of the simulation or the behavior of the group of local agents. In virtual reality applications, every agent interacts with many other agents in the environment, calling for complex real-time interactions. Agents must have continuous changes in the environment since agent behaviors allow complex interactions. Scalable architecture can manage large crowds through the behavior and interactive rates. These situations will indicate how the crowds will act in multiple complex scenarios while several different situations are being applied. A situation can be any circumstance that has typical local behaviors. We can categorize all situations into two different kinds.

Spatial situation is a situation that has a region where the environment affects the local agents. For instance, a crowd waiting in line for a ticket booth would be displaying a spatial situation. Other examples may be a bus stop or an ATM machine where characters act upon their environment. Therefore, we would consider 'bus stop' as the situation if the behavior of the agents are to be getting on or off a bus.

Non-Spatial situation has no region in the environment because this only involves the behavior of the crowd. The relationship of the local agents is an important factor to consider when determining behavior. An example would be a group of friends walking together. Typical behavior of characters that are friends would all move along with each other. This means that 'friendship' would be the situation among the typical behavior of walking together.

The structure of any situation is built upon four components, Behavior functions, Sensors, States, and Event Rules. Behavior functions represent what the characters behaviors are specific to the situation. Sensors are the sensing capability for agents to see and respond to events. States are the different motions and state transitions used only for the local behaviors. Event rule is the way to connect different events to their specific behaviors. While a character is being put into a situation, these four components are considered at the same time. For spatial situations, the components are added when the individual initially enters the environment that influences the character. For non-spatial situations, the character is affected only once the user assigns the situation to the character. The four components are removed when the agent is taken away from it's situations region or the situation itself is removed. The dynamic adding and removing of the situations lets us achieve scalable agents.

Real world applications

Video Games

In 2006, the gaming company known as Nintendo released a console known as the Wii System. The Wii came equipped with crowd creation and simulation software called the Mii Channel. Using the Mii Channel users can design 3D caricatures of human beings called Miis. These Mii avatars can be used in several games which operate on the Wii console including Wii Sports and Wii Play. Inside the Mii Channel, the individual Mii agents are capable of moving around on their own. The movements of the agents are realistic; when a Mii changes position the joints of the Mii's legs change orientation to create the animation of walking. The AI behind the movement of the Mii agents does not appear to be very complex or intelligent.

Virtual Cinematography

Crowd simulations have been used widely across films as a cost effective and realistic alternative from hiring actors and capturing shots that would otherwise be unrealistic. A significant example of its use lies in The Lord of the Rings (film series). One of the most glaring problems for the production team in the initial stages were large scale battles, as the author of the novels, J R R Tolkien, envisioned them to have at least 50,000 participants. Such a number was unrealistic had they decided to only attempt to hire real actors and actresses. Instead they decided to use CG to simulate these scenes through the use of the Multiple Agent Simulation System in a Virtual Environment, otherwise known as MASSIVE. The software allowed the filmmakers to provide each character model an agent based A.I. that could utilize a library of 350 animations. Based on sight, hearing, and touch parameters generated from the simulation, agents would react uniquely to each situation. Thus each simulation of the scene was unpredictable. The final product clearly displayed the advantages to using crowd simulation software. [18]

Urban Planning

The development of crowd simulation software has become a modern and useful tool in designing urban environments. Whereas the traditional method of urban planning relies on maps and abstract sketches, a digital simulation is more capable of conveying both form and intent of design from architect to pedestrian. For example, street signs and traffic lights are localized visual cues that influence pedestrians to move and behave accordingly. Following this logic, a person is able to move from point A to point B in a way that is efficient and that a collective group of people can operate more effectively as a result. In a broader sense, bus systems and roadside restaurants serve a spatial purpose in their locations through an understanding of human movement patterns.[19]

See also

Crowd simulation software

References

  1. ^ http://link.springer.com/referenceworkentry/10.1007/978-3-319-08234-9_69-1 Daniel Thalmann, Encyclopedia of Computer Graphics and Games, entry of Crowd Simulation
  2. ^ http://onlinelibrary.wiley.com/doi/10.1111/1467-8659.00633 Franco Tecchia, Celine Loscos, Yiorgos Chrysanthou. Visualizing Crowds in Real-Time
  3. ^ Thalmann, Daniel, Soraia Raupp Musse, and Adriana Braun. Crowd simulation. Vol. 1. London: Springer, 2007.
  4. ^ http://dl.acm.org/citation.cfm?id=1674569 Ma\"{\i}m, Jonathan and Yersin, Barbara and Thalmann, Daniel, Unique Character Instances for Crowds. In IEEE Computer Graphics and Applications archive, Volume 29 Issue 6, November 2009, Pages 82-90
  5. ^ http://dl.acm.org/citation.cfm?id=1272705 Pelechano, N. and Allbeck, J. M. and Badler, N. I. Controlling individual agents in high-density crowd simulation. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation
  6. ^ http://www.sbgames.org/sbgames2014/files/papers/computing/full/102-computingfullpages.pdf Maurcio C. Magnaguagno, Felipe Meneguzzi. BioPlan: An API for Classical Planning in BioCrowds.
  7. ^ Reynolds, Craig (1987). "Flocks, herds, and schools: A distributed behavior model". Proceedings of ACM SIGGRAPH 87. July 1987.
  8. ^ Terzopoulos, Demetri; Tu, Xiaoyuan; Grzeszczuk, Radek (1994). "Artificial Fishes: Autonomous Locomotion, Perception, Behavior, and Learning in a Simulated Physical World" (PDF). Artificial Life. 1(4):327–351.
  9. ^ Thalmann, Daniel; Musse, Soraia Raupp (2012-10-04). Crowd Simulation. Springer Science & Business Media. ISBN 9781447144496.
  10. ^ Musse, Soraia Raupp; Thalmann, Daniel (1997-01-01). Computer Animation and Simulation’97. Springer Vienna. pp. 39–51.
  11. ^ "Steering Behaviors For Autonomous Characters". www.red3d.com. Retrieved 2016-12-17.
  12. ^ Musse, Soraia Raupp; Thalmann, Daniel (2001-01-01). "Hierarchical model for real time simulation of virtual human crowds". IEEE Transactions on Visualization and Computer Graphics. 7 (2): 152–164.
  13. ^ Ulicny, Branislav; Ciechomski, Pablo de Heras; Thalmann, Daniel (2004-01-01). "Crowdbrush: Interactive Authoring of Real-time Crowd Scenes". Proceedings of the 2004 ACM SIGGRAPH/Eurographics Symposium on Computer Animation. SCA '04. Aire-la-Ville, Switzerland, Switzerland: Eurographics Association: 243–252. doi:10.1145/1028523.1028555. ISBN 3905673142.
  14. ^ Patil, Sachin. "Directing Crowd Simulations Using Navigation Fields". IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHIC.
  15. ^ "Interactive Simulation of Dynamic Crowd Behaviors using General Adaptation Syndrome Theory" (PDF). Retrieved 6 October 2016.
  16. ^ Modeling individual behaviors in crowd simulation - Computer Animation and Social Agents, 2003. 16th International Conference on
  17. ^ http://repository.upenn.edu/cgi/viewcontent.cgi?article=1288&context=cis_papers
  18. ^ http://people.ucalgary.ca/~far/Lectures/SENG697/PDF/tutorials/2002/Multiple_Agent_Simulation_System_in_a_Virtual_Environment.pdf Davis Guy. Multiple Agent Simulation System in a Virtual Environment.
  19. ^ http://papers.cumincad.org/data/works/att/ecaade2008_160.content.pdf Aschwanden, Gideon. Halatsch, Jan. Schmitt, Gerhard. Crowd Simulation for Urban Planning.

External links

  • SteerSuite, An open-source framework for developing and evaluating crowd simulation algorithms
  • Onlinelibrary, Scalable behaviors for crowd simulation