[关键词]
[摘要]
针对交互式系统中碰撞检测实时性、精确性的要求,提出了一种共享存储系统的并行碰撞检测算法.利用AABB包围盒较好的紧密性和包围球计算简单的优点来构建物体的混合包围体层次(S-AABB),快速排除不相交的物体以加速算法,利用OpenMP并行模型来并行遍历混合包围体层次,进一步加速碰撞检测算法.实验结果表明,与现有经典的I-COLLIDE等算法相比,该算法在效率、精确性方面具有明显优势,能够满足交互式复杂虚拟环境的实时性和精确性的要求.同时,还与已经提出的MPI及Pipelining等并行算法进行比较,从时间效率和资源消耗两个方面说明本文基于OpenMP算法的优点.
[Key word]
[Abstract]
Concerning the requirements of real-time and accurate collision detection in interactive system, a shared memory parallel collision detection algorithm is proposed. Firstly, the algorithm incorporates the merits of both AABB bounding box and bounding spheres to construct a hybrid bounding representation of arbitrary non-convex polyhedra (S-AABB) for attaining speed, and then uses OpenMP parallel programming model to traversal the built hybrid bounding volume hierarchy, so further accelerates the collision detection. At last, The experimental results have shown that the algorithm is advantageous over other current typical collision detection algorithms such as I-COLLIDE regarding efficiency and accuracy, so can meets the real-time and accurate requirements in complex interactive virtual environment. At the same time, comparing with some parallel collision detection algorithms which include MPI using multi-process, Pipelining using multi-thread and multi-process, this paper has shown that our parallel algorithm based OpenMP is superior in terms of time efficiency, resource consumption and stability.
[中图分类号]
[基金项目]
Supported by the National Natural Science Foundation of China under Grant Nos.60573182, 69883004 (国家自然科学基金)