论文部分内容阅读
织物仿真一直是计算机图形学和虚拟现实领域的研究热点和难点,随着计算机硬件性能的不断提高,织物仿真技术日渐趋于实用化,广泛应用于虚拟展示、游戏动画、影视娱乐、服装设计等诸多领域。织物仿真的效果和效率依赖于织物建模以及碰撞检测方法,因此本文以仿真的真实感和实时性为目标对此进行了讨论和研究。首先,使用基于三角形作为载体的质点弹簧模型对织物进行建模,可以展示任意形状的织物并模拟其物理特性;对质点分析受力,根据牛顿第二运动定律建立运动方程,选择快速且简单的Verlet积分方法进行数值求解;在质点弹簧模型中,如果弹簧弹性较大,会引起抖动现象,而弹性较小时又会出现超弹性现象;提出非线性弹簧,该弹簧的弹性随着弹簧长度的改变而改变,从而实现约束超弹性现象。其次,针对碰撞检测的加速,选用椭球作为基元包围体来近似地拟合复杂的环境中刚体模型;以法线距离和径向距离的加权平均值作为表面误差,数值化表示椭球包围盒对模型的拟合度;改进K均值聚类方法用于自适应划分模型,直至生成一系列表面误差小于预设阈值的椭球包围盒;这些椭球包围盒能够高度拟合模型,并且避免了层次包围盒的复杂结构。再次,为了同时保证碰撞检测的实时性和精确性,提出一种新型的分类处理包围盒的方式;根据表面误差将椭球包围盒分为两类,误差小的一类表示拟合度高,直接取代模型区域与织物进行碰撞;误差大的一类则拟合度较差,用于快速排除不可能发生碰撞的模型区域,当有碰撞发生时仍需继续检测椭球内模型三角形与织物三角形的碰撞。最后,利用C++语言和开放性图形接口OpenGL在Windows平台下设计并实现了实时动态织物仿真系统,对以上提出的算法进行实验验证;实验表明,利用本文的方法能够模拟真实的织物,实时快速地处理织物与各种刚性物体模型的碰撞,效果真实准确。