论文部分内容阅读
服装布料模拟在计算机动画中非常重要。如果将布料模拟改进到可以实时生成逼真的布料运动的程度,这将会在日常生活中的许多方面找到用途,例如在时装设计和制造中。布料模拟的目的是创建更逼真的布料动态效果,实现更快的运行速度以及开发能够构造和模拟更复杂布料材料的方法。
本文主要从布料模拟涉及的物理建模,数值模拟和碰撞检测等技术做了深入的研究。目的在于改善原有的布料动态模拟速度慢,稳定性差,计算量大的问题,在数值技术上做了大量的研究,并结合现代计算机并行能力强的特点,使用基于GPU数据流映射的方式,提高了布料模拟的速度,并且保证了实时布料物理仿真的稳定性。
首先,通过对比分析布料造型技术选择比较实用的质点-弹簧模型。在基于质点-弹簧模型的仿真过程中,动力学方程求解是基于物理仿真的关键要素。而动力学方程最终都是转化为广泛使用的隐式欧拉法表示为能量最小化问题,一般使用数值优化技术之一牛顿法求解整个大的非线性方程,受牛顿法求解限制,整体计算量比较大,并且引入过多的数值阻尼。
针对此问题,本文提出基于弹簧投影的布料快速仿真算法,将弹簧方向作为未知变量引入,此时,整个质点-弹簧系统的质点位置是线性的和全局性的,只有在涉及弹簧方向上才是非线性的和局部的。由于全局线性系统不依赖于运行时状态,因此可以对矩阵进行预分解,从而实现非常快速的迭代。与使用牛顿法相比,优化了隐式欧拉法求解步骤,将求解整个质点系统的非线性方程通过辅助变量的引入转为求解一个个小的局部的非线性方程,进而在全局上求解整个系统方程的解。从时间和求解难度上改善了传统方法,大大降低整个仿真过程的计算代价,并且获得和传统方法相同的仿真效果。从应用角度上,实时性和稳定性相比传统方法有比较好的改善,实现了一种高质量实时布料模拟的技术。
然后,分析了碰撞检测的各种方法,通过引入基于GPU的快速且强大的BVH碰撞检测技术,该技术适用于本文的基于弹簧投影模型的碰撞检测与响应。改善后的BVTT技术从内存布局上加速碰撞检测的性能,与以前利用时空相干性的技术不同,该方案通过对BVH和BVTT进行排序和重组。该方案在速度方面胜过其他最新的空间细分方案。
最后,在提高布料仿真视觉效果上,引进基于GPU流算法来改善布料模拟系统性能。该方法将布料模拟的所有阶段,包括时间积分,碰撞检测,碰撞响应以及对基于GPU的内核和数据结构的速度更新都映射到GPU中,解决了在多核GPU上高吞吐量的问题。实验证明,本文的布料模拟系统具备实时性,稳定性和交互性,具备商业价值。
本文主要从布料模拟涉及的物理建模,数值模拟和碰撞检测等技术做了深入的研究。目的在于改善原有的布料动态模拟速度慢,稳定性差,计算量大的问题,在数值技术上做了大量的研究,并结合现代计算机并行能力强的特点,使用基于GPU数据流映射的方式,提高了布料模拟的速度,并且保证了实时布料物理仿真的稳定性。
首先,通过对比分析布料造型技术选择比较实用的质点-弹簧模型。在基于质点-弹簧模型的仿真过程中,动力学方程求解是基于物理仿真的关键要素。而动力学方程最终都是转化为广泛使用的隐式欧拉法表示为能量最小化问题,一般使用数值优化技术之一牛顿法求解整个大的非线性方程,受牛顿法求解限制,整体计算量比较大,并且引入过多的数值阻尼。
针对此问题,本文提出基于弹簧投影的布料快速仿真算法,将弹簧方向作为未知变量引入,此时,整个质点-弹簧系统的质点位置是线性的和全局性的,只有在涉及弹簧方向上才是非线性的和局部的。由于全局线性系统不依赖于运行时状态,因此可以对矩阵进行预分解,从而实现非常快速的迭代。与使用牛顿法相比,优化了隐式欧拉法求解步骤,将求解整个质点系统的非线性方程通过辅助变量的引入转为求解一个个小的局部的非线性方程,进而在全局上求解整个系统方程的解。从时间和求解难度上改善了传统方法,大大降低整个仿真过程的计算代价,并且获得和传统方法相同的仿真效果。从应用角度上,实时性和稳定性相比传统方法有比较好的改善,实现了一种高质量实时布料模拟的技术。
然后,分析了碰撞检测的各种方法,通过引入基于GPU的快速且强大的BVH碰撞检测技术,该技术适用于本文的基于弹簧投影模型的碰撞检测与响应。改善后的BVTT技术从内存布局上加速碰撞检测的性能,与以前利用时空相干性的技术不同,该方案通过对BVH和BVTT进行排序和重组。该方案在速度方面胜过其他最新的空间细分方案。
最后,在提高布料仿真视觉效果上,引进基于GPU流算法来改善布料模拟系统性能。该方法将布料模拟的所有阶段,包括时间积分,碰撞检测,碰撞响应以及对基于GPU的内核和数据结构的速度更新都映射到GPU中,解决了在多核GPU上高吞吐量的问题。实验证明,本文的布料模拟系统具备实时性,稳定性和交互性,具备商业价值。