论文部分内容阅读
计算机动画技术正在飞速的向前发展,其研究方向基本覆盖到了我们日常生活中的绝大部分事物。而以布料动画为代表的可变形体仿真因其独特的魅力吸引了越来越多的科研工作者对其探索,逐渐发展成了图形学中重要一支。虽然学者们对布料的仿真模拟有了大量的研究,但是对于布料的撕裂模拟研究并不多。如今我们正进入到移动互联网时代,移动设备与应用的快速发展在一定程度上影响了我们的生活。随着移动设备的使用越来越广泛,设备本身的能力越来越强,将计算机动画运用到移动平台上是未来发展不可阻挡的潮流。OpenGL ES是作为一种移动嵌入式设备上跨平台的被各大厂商支持的图形标准,因此,基于OpenGL ES实现具有真实感与可交互性的可撕裂布料动画模拟具有很高的理论与实践意义。本文对基于OpenGL ES的真实感布料动画进行深入研究,总结了布料动画模拟的基本流程,从布料的模型建立、受力分析、数值求解算法、布料撕裂模拟到碰撞检测技术。研究了Android平台上三维动画的开发过程。分析了OpenGL与OpenGL ES的相同点和不同点。对OpenGL ES的绘图方式和实现方式也进行了探索。分析了各种布料模型,包括几何模型、物理模型,重点研究了质点-弹簧模型,比较了他们各自的优缺点。提出了改进的质点-弹簧-三角形网格布料模型。将质点、弹簧、三角形都当做为数据结构专门进行存储,保证了可撕裂布料动画的实现与纹理贴图的完整性。并为每根不在边界的结构弹簧绑定一根弯曲-剪切弹簧,可以防止布料的过度拉伸与模拟布料的褶皱效果。提出了可撕裂的布料模拟算法与BVH树重构算法,定义了撕裂易蔓延点与局部完整性的概念,实现了布料质点与弹簧处于不同情况下的撕裂算法。实现了布料分裂时的分裂检测算法,当检测到布料分裂时对其进行分离与重构BVH树。研究了层次包围盒树与各种包围盒,以包围盒相交检测为基础,在此基础上研究了布料与简单几何体的碰撞,布料的自碰撞与布料碎片之间的碰撞检测,提出了可撕裂的布料模拟碰撞检测流程。实现了基于OpenGL ES的真实感布料动画的模拟,并且充分利用了Android设备的硬件特性,使得模拟系统具有较好的真实感与交互性。