论文部分内容阅读
随着虚拟现实和计算机动画技术、服装CAD等领域的发展需要,织物的动态模拟成为了一个越来越重要的研究方向。织物建模是织物动态模拟的基础。本文对目前比较流行几种织物建模方法进行了详细的分析和比较。通过对织物的性能和各种物理模型的分析,选取采用了弹簧--质点模型,并针对其不足,得到了改进的弹簧—质点模型。接着分析了各种数值求解方法,本文采用了欧拉积分法、中点积分法、四阶龙格--库塔法对微分方程进行了求解,通过分析上述算法不足之处,提出了一种改进的自适应龙格—库塔算法,这种方法在织物仿真系统的精确度和计算效率之间实现了有效折中。动态显示对织物仿真效果有非常重要的影响。本文提出了一种动态处理风的函数和算法,很大程度提高了运算效率,并增强了显示效果。碰撞检测和碰撞响应是织物动态模拟中很关键问题。它所耗费的时间通常会占到整个仿真时间的40%左右。本文在弹簧--质点模型建模基础上,对织物模拟中现有的几种碰撞检测方法进行了分析和比较,采用AABB层次包围盒的思想处理织物模拟中的碰撞问题是一个非常好的选择。进一步分别为织物和环境场景中的其他物体构造AABB层次包围盒树,从而将它们之间的碰撞问题转化为两颗AABB层次包围盒树的遍历和判交问题。另外,通过将织物和环境场景中的其他物体都用三角网格来表示,从而将他碰撞和自碰撞检测归结为寻找每对点—三角形或每对边—边之间是否发生穿透。针对碰撞检测一直是织物仿真过程中的瓶颈问题,本文提出了一种反馈控制的方法应用于碰撞检测的思想。这种方法能有效减少没必要的计算,从而可以提高碰撞检测的效率。本项目以VC++6.0和OpenGL为开发工具,以建模、数值求解、碰撞检测和碰撞响应为次序实现了织物的动态仿真。结果显示,以上方法实现了织物动态模拟的逼真性,并达到了实时的效果。