论文部分内容阅读
织物在日常生活中是随处可见的,并在计算机动画中出现的场合很多,如窗帘、桌布、飘动的旗帜等;特别衣服覆盖了人体的80%以上,如果要求人体动画具有令人满意的细节和真实感,那么织物动画是不可缺少的。因此,织物模拟在虚拟现实、计算机艺术、时装CAD软件、电子商务等多方面有着广泛的应用前景。但在游戏、服装CAD的展示系统等应用中,需要交互式地、实时地生成动画,而采用基于物理模型的织物动画在计算机上模拟需化费大量的计算时间,所以实时的、交互式的织物模拟一直是具有挑战性的课题,当务之急是提高速度。
为了提高实时、交互式的织物动画模拟性能,本文主要从模型本身的计算时间、碰撞检测与响应时间这二方面来考虑,提出了新的方法,从而大大减少计算量,提高模拟性能。
织物建模是织物模拟动画的基础。当前关于织物模拟基本上都采用基于物理的方法,因此本文首先分析了经典“质点-弹簧”模型与“半刚性-复杂摆”这二个物理模型;然后,介绍了经典“质点-弹簧”模型简化的原因与具体方法,并同时充分利用“半刚性-复杂摆”模型经向与纬向约束分开计算的优点。
碰撞检测和碰撞响应一直是织物实时、交互式模拟中的瓶颈,一般包括自碰撞和织物与外界环境的碰撞二部分。本文主要对织物与外界环境的碰撞检测算法进行了研究,特别是服装与人体模型的碰撞检测算法。首先,介绍了以往服装与人体模型碰撞检测算法;然后详细介绍并实现高性能的人体椭圆包围盒碰撞检测算法;最后根据此碰撞检测本身存在的局部性,时间与空间相关性等提出加速算法。
最后,本文建立二个应用测试实例:一个是用VC++7.0和OpenGL实现的基于物理模型的窗帘实时动画,另一个是用jdk5.0和java3D实现的基于物理模型的交互式服装实时动画。结果显示,本文实现的织物模拟动画具有很强真实性并达到了实时、交互式的效果;并将本文的模拟方法与传统的模拟方法进行比较,表明本文所用方法使计算量大大减少,性能大大提高;而后一个实例采用了跨平台语言jdk5.0+java3D实现,因此可直接应用于相关电子商务,计算机动画,虚拟现实等领域,用着良好的应用前景。