Crowd simulation is a computationally expensive task. Many models to simulate crowds have been developed over the years and can be classified into two big groups (macroscopic and microscopic) according to how the agents are managed. In some macroscopic models the agents are grouped and guided by the potential field of their group. The construction of potential fields is the bottleneck of those models, so it is necessary to use a small number of groups in order for a simulation to run at interactive frame rates. In this article, it is proposed a model based on a macroscopic model, which, mainly, aims at reducing the cost of computing the potential fields of the groups, by using groups discretized according to the needs of the environment. At the same time, it is proposed the addition of groups that can steer the agents of a simulation to momentary goals, which gives the crowd a wider variety of behaviors. Finally, it is proposed the use of a social forces model to prevent collisions between agents and between agents and obstacles.
I. INTRODUÇÃOSimulação de Multidãoé uma subárea da Ciência da Computação que consiste em simular o comportamento de vários agentes em um ambiente bidimensional ou tridimensional de forma realista. Modelos que simulam multidões podem ser utilizados em filmes, jogos, simulações de situações de emergência, etc. Em uma simulação, os agentes devem ser capazes de interagir com o ambiente e entre si, seja reagindo a situações, alternando comportamentos ou aprendendo novos comportamentos durante sua "vida". Assim, pode-se perceber que esteé um problema com um alto custo computacional.Os modelos descritos na literatura podem ser classificados em dois grupos (microscópicos ou macroscópicos), de acordo com a forma como os agentes são gerenciados [1]. Os modelos microscópicos são aqueles onde os agentes são caracterizados individualmente e, de acordo com suas interações entre si, fazem emergir comportamentos na multidão. Os modelos macroscópicos são aqueles que procuram simular uma multidão como um todo, onde, por exemplo, um modelo matemáticoé definido e a multidãoé guiada através de sua solução. Em uma multidão, cada pessoa possui suas necessidades e objetivos a seguir. Uma simulação realista deve tentar dar essa variabilidade de objetivos e comportamentos aos agentes. Em modelos microscópicos, adicionar essa variabilidadeé uma tarefa fácil, pois os agentes podem ser modelados individualmente. No entanto, em modelos macroscópicos essaé uma tarefa difícil, pois nesse tipo de modelo os agentes são agrupados em grupos com características semelhantes, e, assim, adicionar individualidade significaria adicionar vários grupos, o que afetaria a performance da simulação podendo levar a aplicação a não executar a taxas de quadros interativas. A escolha de que tipo de modelo usar em uma aplicação irá depender do objetivo que se procura alcançar com a aplicação. Modelos microscópicos são muito utilizados para simular situações de emergência, dada a possibilidade de se reproduzir e analisar situações similares...