Page 305 - 《软件学报》2020年第10期
P. 305
孙晓鹏 等:局部各向异性的薄壳收缩变形 3281
[3]
杂度较高、计算量较大;以三维曲面网格模型 描述物体变形时,往往忽略了网格曲面的厚度,以至其厚度远远
[4]
小于其长宽尺寸.三维物体表面网格往往呈曲面状,常规薄板变形算法无法适用 ,本文将物体三维曲面网格视
为薄壳,进而基于薄壳受力的物理过程,实现三维曲面网格模型的收缩变形过程模拟.
虚拟现实和动画设计的变形过程,往往只关注视觉效果,不予深究变形的物理学合理性.本文基于位置动
[5]
力学实现薄壳收缩变形,具有更高的合理性.基于位置动力学模拟薄壳收缩变形过程速度快、可控性强 ,但
[6]
适用材质模型具有较大的局限性 ;且在收缩变形前后,具有类球面结构(如动物头部)的局部变形较慢且不
显著.
据此,本文提出基于本构模型的弹性收缩变形能,以改善材质局限性问题;同时提出局部各向异性的收缩变
形能,以改进薄壳收缩前后局部类球结构变形较弱的问题.另外,本文还给出了适当的弯曲系数,以消除弯曲变
形过程中的抖动问题;并构造碰撞检测预处理,提高了收缩变形过程中的碰撞检测效率.
1 相关工作
[7]
薄壳模拟的方法有基于力的方法、基于位置动力学方法等 .基于力的方法首先计算内力和外力,以牛顿第
[8]
二定律计算加速度,使用隐式积分法、隐式中点法等 积分加速度得到速度,积分速度得到位置,计算量大,稳定
性低.基于位置动力学方法省略了速度层,直接计算位移修正量以更新位置,本文基于位置动力学模拟薄壳收缩
[5]
变形,速度快,可控性强 .
基于本构模型可有效模拟物体变形过程中的物理性质 ,不同材质的本构模型不同 [9] ,常见材质有
[9]
Corotated 线性弹性材质、线性弹性材质、Saint Venant-Kirchhoff 材质 、Mooney-Rivlin 材质等 [10] .位置动
力学方法常用于模拟布料、弹性棒、三维实体、流体等 [11−14] .该方法在材质模型选择上具有较大的局限性,
[6]
难以应用于常见的材质模型 .2011 年,Diziol 等人基于 Shape matching 方法模拟薄壳变形,该方法仅考虑了
几何特征,无法模拟材质模型 [15] .2014 年,Bender 等人基于位置动力学框架,基于四面体素表示的三维模型模
拟三维柔体的变形,计算量较大 [13] .本文在 Bender 工作的基础上,以离散三角网格代替四面体素模型,基于
[9]
Saint Venant- Kirchhoff 材质的本构模型 定义弹性变形能,实现适用于多种材质模型 [9,10] 的薄壳变形模拟.
各向同性能量在物理模拟中应用广泛,但基于各向同性能量难以模拟三维物体沿特定方向的变形(如伸展
变形或生长模拟等) [16,17] .相比之下,基于各向异性能量的变形模拟真实感较高.2019 年,Kim 等人基于各向异性
能量模拟肌肉及绳索等物体沿指定方向的拉伸变形 [18] .本文基于位置动力学,针对局部类球结构变形缓慢且不
显著的问题,局部添加各向异性变形能量,以实现局部各向异性的薄壳收缩变形,并有效地改进了局部类球结构
的变形效果,该方法适用于各向异性 ARAP 能量、各向异性 StVK 能量、各向异性 Sqrt 能量 [18] 等多种各向异性
能量.
快速、精确的碰撞检测是物理模拟的关键 [19] ,碰撞检测可分为离散碰撞检测(DCD)和连续碰撞检测(CCD)
两类.本文采用连续碰撞检测,以轴向平行包围盒 [20] 和非渗透滤波器 [21] 作为预处理,剔除不可能碰撞的图元对,
提高计算效率,然后以 Bridson 方法 [22] 来检测碰撞.
本文基于位置动力学的收缩变形模拟分为 3 个步骤:第 1 步基于外部压力模型和时间积分法预测顶点位
置,得到预测模型,预测模型中存在过度面内拉伸和面外弯曲(如图 1(b)所示);第 2 步基于弹性变形能、弯曲变形
能和局部各向异性变形能的定义,构建约束函数组,迭代计算位移修正量,并更新顶点位置;第 3 步基于顶点位置
变化信息更新速度.本文在收缩变形算法的流程中,在不同的力和变形能量作用下的变形效果如图 1 所示.
本文第 2 节介绍外部压力模型.第 3 节介绍薄壳变形能.第 4 节介绍碰撞检测.第 5 节给出算法流程.第 6 节
分析实验结果.第 7 节总结全文.