论文部分内容阅读
随着3D计算机图形学的不断发展和成熟,人们不断用计算机模拟真实世界的事物。在此基础之上产生了如虚拟现实,三维动态仿真,三维动画,计算机影视特效,3D游戏等一大批相关的应用,而物理引擎这是这些应用的一个非常关键的工具。物理引擎的好坏,决定了这些应用的成败。本文研究和总结了目前3D试衣系统的国内外发展现状,分析了目前系统中存在的问题,确定本文的研究方向和研究内容,即设计并实现三维试衣系统物理引擎,在对物理引擎关键技术进行深入研究的基础上,对系统中的刚体及布料进行模拟。在进行系统功能和性能需求分析的基础上,本文进行系统的功能设计、流程设计和系统的详细设计。整个物理引擎包括四个功能:模型文件处理功能,刚体模拟功能,布料模拟功能,3D显示功能。其中,刚体模拟功能需要对各种输入到系统的实体模型建模,实时求解其运动方程,处理刚体间的碰撞,实现刚体物理运动的模拟;布料模拟功能实现对一些简单的布料,如窗帘,毛巾等进行物理的仿真。要求能够模拟其静止状态和受力状态;当刚体模拟功能和布料模拟功能完成运算之后,需要将物体的运动加以三维显示;此外,系统需要的刚体模型都来自外部输入,因此文件处理功能需要能够按照预定的文件格式将3D模型导入系统,并能够进行一些模型的预处理以便引擎的模拟,另外还需实现一些辅助读写功能。通过对系统每个模块中的功能进行测试,并且对测试的数据进行综合分析,检验了本文实现的物理引擎达到了预期的各项目标。根据各个功能测试数据可以看出,各功能模块无论是在功能上还是性能上,基本都到了需求的目标,虽然在系统中仍然会存在一些问题,但是这些问题基本不影响本系统的正常使用,并且,测试数据也为今后对系统的进一步维护和升级提供了详细的数据参考。本文主要进行了三维试衣系统中刚体及布料模拟物理引擎的设计与实现。在对刚体模拟的实现中,本文采用八叉树划分刚体模型,对八叉树叶节点的碰撞检测采用了OBB包围盒算法,实现了刚体间的精确碰撞模拟的同时,也保证了模拟的实时性。