个体避障是实现基于主体的(agent—based)群体模拟中一个很重要的问题,为了实现个体间以及个体和环境间的碰撞避免并杜绝穿透,人们提出了大量避障方法.但是,这些方法面临的挑战在于:如何杜绝穿透现象并最大程度地减少由于避障需求而带来的个体行为模拟上的空间限制和失真.针对这一问题,提出了一种分层次避障方法,从静态避障、动态避障、穿透矫正3个不同的层次对避障进行处理.静态避障层和动态避障层通过对物体的划分和分别避障,极大地减少了各层次避障时需要考虑的各种复杂情形;而基于可变包围盒和原位置的穿透矫正层则有效地杜绝了模拟中出现的穿透现象,也消除了现有模拟中由于避免穿透而引入的空间限制和失真.
Obstacle avoidance is an extremely challenging issue faced by crowd simulation. Many different approaches have been proposed with the aim of avoiding collision and eliminating intersection artifacts between two agents or between agent and environment. But most of these methods can not guarantee against overlapping, while other methods which can ensure no overlap have many space restrictions on agent's behavior or may cause visually unpleasant artifacts. To solve this problem, hierarchical obstacle avoidance focuses on a three levels obstacle avoidance method which contains two-level obstacle avoidance behavior and an intersection elimination level. The two-level obstacle avoidance behavior is used for avoiding collision during the behavior planning and execution while the intersection elimination level is employed to adjust overlapping after coarse renewed positions are calculated for agents. The two-level obstacle avoidance behavior, including static obstacle avoidance and dynamic obstacle avoidance, extremely reduces the complexity of the situation which should be considered in the planning and execution of agent's behavior by dividing the objects into two kinds: static obstacles and dynamic obstacles according to their attributions and making use of separate obstacle avoidance method to avoid collision. The intersection elimination level, based on agent's variable bounding box and its previous position, eliminates intersection artifacts absolutely in every update period without space restrictions and visual artifacts.