论文部分内容阅读
碰撞检测一开始是在机器人的路径规划问题中提出来的,到现在也有几十年的发展历史,随着计算机动画、虚拟现实等领域的飞速发展,碰撞检测课题也得到了人们的重视并深入的研究,已经在许多领域得到了应用,比如医学、国防、娱乐等领域。碰撞检测的任务就是在虚拟环境中检测各个物体之间是否发生了接触或者穿透,从而避免两个或多个物体同时占据同一空间区域,让其符合现实的生活规律。从最开始的静态碰撞检测,发展到后来的动态碰撞检测,再到现在的大规模实时场景,用户对碰撞检测的效率和准确度都提出了越来越高的要求,这也成为了人们研究这一课题的动力。所以本文的目的就是提升大规模场景中实时碰撞检测的效率,使之能够满足用户的需求。本文讨论了碰撞检测的发展现状和一些背景知识,重点研究了提高碰撞检测效率的方法。本论文主要做了以下工作:第一,改进了碰撞检测的流程框架,并加以实现。在原来的碰撞检测引擎基础上,改进结构框架,把整个场景的碰撞检测分成了三层结构,即初步碰撞过滤、精确碰撞过滤和相交测试,使碰撞检测引擎更加健壮和易于扩展,实现后的引擎效率得到了大幅度的提升,在实验中对新的碰撞检测结构的各层检测数据进行了实际的测试和验证,说明此结构设计的合理性。第二,设计并实现了并行碰撞检测算法。在原来碰撞检测引擎基础上,提出了两种并行碰撞检测的思路:使用SIMD技术并行计算,首先简单介绍此技术,然后重点讲述如何将这一技术应用于碰撞检测,实现计算的并行化;使用多线程技术提高CPU的利用率,本论文研究如何将这一技术在碰撞检测中很好的运用,合理地提升硬件的利用率,并转换为碰撞检测效率的提高。在第五章的最后,进行了实验测试,把原来引擎的检测用时和改造后的检测用时做了对比,可以看出改造的有效性。第三,对整个物理引擎Phusis的设计与实现做了介绍,其中重点是碰撞检测模块的相关设计细节,最后对所做工作进行了总结,并对整个碰撞检测领域存在的问题做了分析,提出了改进和完善的方向。