论文部分内容阅读
自20世纪80年代以来,如何在计算机上高效和逼真地仿真布料运动、布料褶皱等效果一直是计算机图形学研究中的一个具有挑战性的课题。布料仿真在三维服装设计、虚拟现实技术、影视娱乐和电脑游戏等领域中有着广泛的应用。基于物理方法的仿真模型由于实现效果逼真近年来逐渐占据了主导地位,而其中的质点——弹簧模型更由于简单易用、算法容易实现、和计算效率高等优点受到广泛应用,因此本文采用该模型来实现布料仿真。在对模型进行受力分析后,文章接着通过显式积分求解出各质点下一时间片的位置和速度。本文实验取得了良好的仿真效果,质点数目较少时能够达到实时运行,而为了防止仿真中的“超弹性”和抖动效果,实验又加入了变形约束机制。数值积分方法决定了布料仿真过程的效果、稳定性和速度,是仿真的一个重要方面。本文在对常用积分方法进行分析比较的基础上,详细剖析了有代表性的显式积分、隐式积分和半隐式积分的算法流程,并在随后的实验中比较了三者的运行效果,同时通过合理调整参数修正了隐式方法的变形并减少了半隐式方法的抖动效果。各积分方法的初始化主要对计算中一些变量、矩阵设置初始值,实验数据表明半隐式积分初始化最慢,显式方法最快。运行时的FPS(Frames Per Second,帧速)说明了运行速度的快慢。通过绘制三种方法FPS随质点数目变化曲线,得知隐式积分运行最慢;显式方法最快。不过,隐式方法良好的运行稳定性是其他方法所不能比拟的。碰撞检测和碰撞响应是布料仿真的瓶颈和研究热点。在归纳碰撞检测一般框架的基础上,本文首先对常用的碰撞检测加速算法进行归类介绍,并指出布料的重要特点——自碰撞检测及其常用处理方法。通过将布料和场景中的其它物体由三角网格表示,本文将基本几何元素的比较归结为判断点——三角形和边——边之间是否相交的问题。接下来,分析了相应的碰撞响应流程。对于实验模拟的布料与地面的碰撞效果,本文适应性地对碰撞检测和响应算法进行了简化,实现了流畅、接近真实的仿真效果。