APP下载

基于样例的能量驱动薄壳变形

2020-09-04孙晓鹏

计算机工程与设计 2020年8期
关键词:样例薄壳插值

孙晓鹏,刘 璐

(辽宁师范大学 计算机与信息技术学院,辽宁 大连 116081)

0 引 言

为解决采用基于几何的方法模拟薄壳变形时真实感较差、变形易失真等问题,基于物理的方法被提出并成为研究薄壳变形问题的热点方法。利用几何方法模拟薄壳变形忽略了其变形过程中的物理特性,而基于物理的方法则考虑了物理特性,使得模拟结果更加真实自然。本文即采用基于物理的方法,结合基于样例与基于物理的离散变形能量模拟薄壳变形。首先,为初始模型构造一个样例模型,本文采用拉普拉斯网格编辑方法确定样例模型;然后,构造衡量模型变形的基于物理的离散变形能量模型并计算从初始模型变形至样例模型所需要的能量,此能量由模型的边长、面积、铰链角、体积的变化产生;最后,对离散变形能量进行插值并驱动模型变形。采用基于样例的变形方法直接获得变形后的结果,有效控制了模型的变形趋势,再通过基于物理的能量驱动变形可以使得变形结果更真实,从而获得连续、自然的变形序列。

1 相关工作

Song等[1]提出基于样例的快速共旋有限元框架驱动模型变形。该方法引入带共旋成分的线性柯西应变构建样例空间,避免了处理复杂的非线性优化问题。Von Tycowicz等[2]提出一种实时非线性形状插值方法模拟变形。该方法为高维形状空间定义一个低维子空间,并在低维子空间中进行形状插值。然而,该方法无法控制逼近误差。Zhu等[3]提出将模型的几何空间投影到由Laplace-Beltrami特征函数扩展得来的公共形状空间,公共形状空间的形状具有几何不变性和拓扑无关性,然而,这一方法依赖于输入形状的特征函数。Zhao等[4]定义了一个拉伸-弯曲能量模型描述薄壳在变形过程中产生的拉伸能量和弯曲能量,该拉伸能量能抵消高斯曲率的变化,但变形结果并不平滑自然。Brandt等[5]提出处理非刚体运动的方法:用形状空间中的离散几何流获得曲线信息表示模型的变形轨迹,用局部邻域的加权平均形状替换每一帧形状。Von Radziewsky等[6]构造了一个子空间可以最优逼近形状插值问题中的变形流形。然而,这一优化方法加大了计算成本。Huber等[7]提出在薄壳的黎曼流形表面建立插值样条从而度量弯曲和膜能的变化,这种方法对测地线插值时需要将变分时间离散化。Gao等[8]提出在形状混合时用一种稀疏方法自动选择数量较少的变形模式描述期望的变形,并用变形梯度的极分解解决全局大旋转变形的模糊性问题,将大旋转变形视作尽可能连续的优化问题进行处理。Zhu等[9]提出一种扭曲变形优化算法,即blended cured quasi-Newton(BCQN)方法。该方法给定初始模型和样例并用BCQN方法求解最小变形能量完成变形,该方法主要用于优化非凸连续变形能。

2 样例模型

本文处理的薄壳模型均由三角网格构成,包含薄壳的几何信息和拓扑关系信息。设三角网格模型由m个顶点、n条边、t个面片构成,顶点位置集合X={x1,…,xm}描述薄壳几何信息;顶点集合V={v1,…,vm},边集合E={e1,…,en},ei∈V×V和面片集合F={f1,…,ft},fi∈V×V×V,共同描述薄壳的拓扑关系信息。

图1 Laplace坐标

Δ(·)是一种线性操作,故可用一个m×m的矩阵L重新定义网格Laplace坐标δ与网格空间坐标x的关系。m×m的矩阵L定义如下

(1)

网格Laplace坐标δ与网格空间坐标x即可表示为δ=Lx。Laplace坐标用于描述网格局部细节特征,在网格变形前后的局部坐标系内不发生变化,故可根据网格变形后的Laplace坐标δ′i和受约束的锚点ui,通过求解稀疏线性方程组获得网格变形后的顶点坐标,即需最小化能量公式

(2)

表1 6组初始模型和样例模型

3 能量模型

薄壳发生变形时,模型的拉伸、错切、弯曲等变化会产生相应的能量。本文定义离散的变形能量描述薄壳的变形,该能量模型包括膜能、弯曲能和体积能。

3.1 膜 能

膜能是模型的弹性表面发生切变(长度上而非面积上的局部改变)和抵抗弹性表面的拉伸(面积上的局部改变)时所产生的能量。因而膜能WM由三角网格边长变化所产生的能量和面积变化所产生的能量共同作用而得,公式如下[12]

(3)

(4)

3.2 弯曲能

(5)

图2 铰链模型

3.3 体积能

本文定义一个衡量模型体积变化的能量WD。首先确定模型的质心,将模型中每个三角形面片与质心相连,构建四面体。模型体积变化所产生的能量即为模型中所有四面体体积变化产生的能量之和,公式为

(6)

表2 6组模型总能量

4 动力学系统

图3 顶点、边、面、体积关系

5 实验结果与分析

本文实验环境为Intel(R) Core(TM) @ 3.60 GHz,内存为16.00 G RAM,操作系统为64位Microsoft Windows 7旗舰版 SP1,本文中算法基于Matlab 2016予以实现。

5.1 实验结果

基于本文的方法处理模型得到变形结果见表3,每组模型从左至右依次表示初始模型、能量插值权重为0.25、0.5、0.75时得到的变形结果、样例模型。通过实验结果可以发现,本文算法得到的实验结果真实、自然,对于开放模型和封闭模型均适用。图4展示了能量插值权重分别为0、0.5、1、1.5、2、2.5时模型的变形结果。图5为能量插值权重为0.75时,armadillo、whale和cactus模型的变形能量分布图。图中颜色变化较为剧烈的地方代表该区域能量变化较大,通过能量图可以发现模型变形符合客观规律。

表3 6组模型实验效果

图4 内插与外插效果

图5 变形能量分布

图6为6组模型变形所用时间的折线图,横坐标表示模型的规模,从左至右规模变大,纵坐标表示模型变形所用时间。通过模型的变形时间折线图可以发现,模型的变形时间与模型的规模呈正相关,模型规模越大越耗时。图7表示triangle模型各边长、铰链角、三角面片面积变化情况,从3幅折线图中可以看出,能量插值权重为0.75时的边长、铰链角、面积变化最剧烈,随着能量插值权重降低,变化情况趋向平缓,这是由于当能量插值权重为0.75时,变形情况最为明显。triangle模型是开放边界模型,因而无需衡量体积变化。从折线图中可以看出模型变形过程中边长、铰链角、面积的变化均符合变形规律,因而得到的变形结果较为准确。

图6 6组模型变形所用时间

图7 triangle模型各边长、铰链角、三角面片面积变化情况

5.2 网格分辨率

本文模拟了同一模型在不同网格分辨率下的变形,变形效果如图8所示cat模型在3组网格分辨率下的变形效果,从上至下网格分辨率依次是顶点数为902、顶点数为1803、顶点数为3604。从图中可以发现,本算法在模拟同一模型在不同网格分辨率下的变形时,均能得到较好的变形结果,降低模型分辨率对本算法不会造成显著影响,即本算法对于低分辨率的低质量模型同样适用。

图8 同一模型不同网格分辨率的变形效果

5.3 相关工作对比

本文算法与Hefny等[13]提出的算法进行了对比,变形效果对比如图9所示。Hefny等[13]用特殊的欧几里得群SE(3)(一种李群)对模型的形状进行编码,将局部变形分解成平移分量和旋转分量,然而简单利用几何方法将变形行为进行分解易产生如图9(a)所示的变形结果。图9(a)为Tycowicz等[14]实现的Hefny等[13]算法的变形结果:在模拟模型变形过程中,模型的手臂处变形发生无规则错乱。不同于Hefny等[13]用基于几何的平移分量和旋转分量衡量模型变形,本文采用由膜能、弯曲能、体积能构成的基于物理的离散变形能量衡量模型变形。图9(b)所示即为采用本文方法的变形效果,模型手臂变形结果连续、自然、无错乱,图9(c)为采用本文方法模拟其它模型变形的变形效果,变形结果均连续自然、无错乱。

图9 不同算法变形效果对比

6 结束语

本文结合基于样例的方法与基于物理的能量模拟薄壳变形。首先采用拉普拉斯网格编辑方法确定样例模型,然后计算模型变形所需的膜能、弯曲能、体积能,最后对变形能量进行插值并驱动模型变形。本文方法在多个模型上进行模拟,效果均理想,具有较好的普适性。与其它相关工作对比,本文方法较为理想,具有较强的真实感。下一步工作希望采用Peng等[15]的加速算法对本文算法进行加速,减少模拟时间。同时希望进一步完善弯曲能,本文弯曲能是基于铰链模型计算的,即用共边的两个三角面片铰链角的变化衡量弯曲能,希望后续工作可以扩充弯曲能,加入平面内角度变化对弯曲能的影响。

猜你喜欢

样例薄壳插值
样例呈现方式对概念训练类别表征的影响
美国薄壳山核桃家庭原味炒制试验
薄壳山核桃种植现状与发展策略
“样例教学”在小学高年级数学中的应用
基于Sinc插值与相关谱的纵横波速度比扫描方法
基于pade逼近的重心有理混合插值新方法
薄壳山核桃培育与栽植技术
鸡蛋与薄壳建筑
混合重叠网格插值方法的改进及应用
基于样例学习研究的几点展望