基于网格的拉格朗日法可变形模型研究
2014-04-29任川周国辉
任川 周国辉
摘 要:基于物理的可变形模型一直是计算机图形学与其他相关学科综合研究的重要问题,其主要的模拟技术有非物理方法和物理方法两大类。随着计算机硬件的高速发展和虚拟现实应用需求的不断提高,基于网格的拉格朗日法作为主要的物理方法之一,日益受到众多学者的重视。本文主要从可变形物体的物理建模出发,首先介绍了可变形物体的几种常见的建模方法,着重对基于网格的拉格朗日法中的三种建模方法进行了具体的介绍与比较。
关键词:可变形体;质点-弹簧;有限元;边界元
中图分类号:TP391.9 文献标识号:A
The Study of Lagrangian Mesh based Methods Deformable Modeling
REN Chuan, ZHOU Guohui
(College of Computer Science and Information Engineering, Harbin Normal University, Harbin 150025,China)
Abstract: Physically based deformable model has been an important issue in the field of Computer Graphics and other related disciplines comprehensive study, the simulation technology is the main non-physical and physical methods in two categories. With the overgrowth of the computer hardware and the improvement of the application, Lagrangian mesh based methods as one of the major physical methods, attracks increasing attention of many scholars. In this paper, starting from the physical modeling of deformable objects, first introduces several common deformable object modeling approach, and focusing on the Lagrangian mesh method, three modeling methods are specific introduction and comparison.
Keywords: Deformable Objects; Mass-Spring; Finite Element; Boundary Element
0 引言
随着计算机图形学在众多学科综合研究中的广泛应用,基于物理的可变形模型中形变行为的仿真即已成为时下研究的热点之一。该研究主要是根据物理学、力学中的基本规律和计算方法,对物体的变形进行模拟,其中涉及到牛顿力学、弹性力学,能量守恒原理,差分几何,数值计算等。同时,该研究还可通过应变能量函数定量描述物体的质量、惯性、重量等特征形变结果,因而能够较好地呈现运动真实感,更进一步地解决了非物理方法中现存的问题。而目前在为大多数可变形物体进行建模时,物理建模的方式即已成为必然首选。相应地,基于物理建模的方法则主要有:欧拉法、基于网格的拉格朗日法、基于无网格的拉格朗日法、有限状态自动机等一系列方法。
1可变形体建模
1.1 可变形体的概念
所谓可变形体是相对刚体来说的,刚体具有物体内部任意两点间距离保持不变的特点,这就意味着,刚体不会产生形变;而可变形体,在物体的内力作用下就会产生形变,即内部任意两点间的距离无法保持不变。
1.2 建模的方法分析
对虚拟物体实施研究时,首先要对其进行虚拟结构表示,即建立模型。物体的建模技术主要包括:几何形状建模、动力学建模、物理构造建模和行为建模。而在虚拟环境中的建模方法则有基于几何的建模和基于物理的建模以及两者混合的建模方法。具体地,几何模型是用来表示物体的几何信息的,包含了几何信息的数据结构和相应的算法等重要信息。并且,由于其建模技术操作简单,效率更高等优点,现已得到了广泛的应用。而基于物理的建模则遵循物理规律,相对于简单的几何模型通过添加物理学上的约束,相应加大了计算量和数据量,从而使模型具有较好的逼真性。研究中进一步发现,在物体之间进行交互时,几何模型只能通过已经设定的函数曲线来完成模拟交互,遇有其他情景效果表现即不再理想。而物理模型却因具有物理参数,当情景转换时,参数也随之发生变化,因此能够真实地表达模拟交互过程。另外,将几何模型与物理模型相结合也是一种优秀的建模方法。方法可将物体的大概轮廓用几何模型定义出来,再用物理的方法来精确地定义结构参数。由此,该方法不仅解决了建模过程中计算量大的问题,还可以使物体获得更好的逼真效果。
2可变形体的物理建模方法
可变形体建模即需要将质量、重量、惯性、变形模式等特征与几何模型和行为法则相结合,来完成更真实的虚拟模型,因此物理建模的方法将可用来进行可变形体仿真。这种方法多是依托实际问题,建立求解和控制方程,并基于模型的不同特点与要求,选择建立数值计算过程。迄今为止,基于网格的方法主要有质点-弹簧模型、有限元法和边界元法,以下即是对这三种方法的详细介绍与分析。
2.1 质点-弹簧模型
由于质点-弹簧系统是模拟所有可变形物体的最简单方法,因此广泛应用于基于物理的离散模型。该法在物体上安插很多质点,质点与质点之间具有某种弹性联系,通常可用弹簧来形象地表示这种弹性联系,质点间依照一定规则采用弹簧链接,物体随之将可看成是一张由质点构成的网,并且质点的位置表示物体上某一点的空间位置。其中的质点没有大小,但是物体的质量集中在质点上,而且质量是均匀分布的,同事质点之间的弹簧却是没有质量的。当有外力作用于质点时,就会牵动其他相邻质点的运动来实现形变效果。
结构性弹簧、扭曲弹簧和拉伸性弹簧是质点-弹簧模型中的三种重要类型,具体如图1所示。
图1 质点弹簧模型和三种类型弹簧
Fig.1 Mass - spring model and three types of spring
由图1可见,现对三种弹簧的作用机理作如下概述:
(1)将横向和纵向的各质点连接起来的弹簧叫做结构性弹簧(structural spring),结构性弹簧相当于物体的框架,主要固定了物体结构。
(2)将连接对角线的各质点的弹簧称为扭曲弹簧(shear spring),扭曲弹簧可以控制物体的形变,减少物体扭曲。
(3)连接相邻间隔一个质点的两个质点的弹簧为拉伸性弹簧(flexion spring),此弹簧起到了保证物体在形变时边缘圆滑的作用。质点不仅受到了内部弹簧的弹性力,而且还会受到物体外部的施力的影响。主要的外力就是阻尼力,该力可以在物体发生形变时,防止质点与质点之间的不规律运动,因此可用弹簧和阻尼来连接各个质点。
质点-弹簧系统在给定时间 时被定义为质点( )的位置定为 和速度为 ,每个质点所受到的内力为 则可通过计算相邻连接的弹簧得到。此外,还有所受外力,如重力、空气阻力、摩擦力等。每个质点的运动均满足牛顿第二定律 。并且对整个系统而言:
(1)
这里,M表示质点的质量矩阵。
物体的运动情况可以制约物体的形变,所以每个质点的动力学方程都应满足牛顿力学定律:
(2)
(3)
式中, 表示质点 的质量; 表示质点 的加速度; 为质点 的速度; 为粘性系数; 为质点所受的外力; 则为质点 和质点 之间的弹簧对质点 的应力,其中 满足:
(4)
式中, , 为弹簧两端点的位置; 为弹簧的弹性系数;而 则为弹簧的静止长度。
在计算机图形学中,质点-弹簧系统已然不再是传统意义上的结构模式[1],也就是经由最初的应用于静力学方程来模拟人面部的表情,发展至而今的利用动力学方程来模拟人体皮肤、器官、肌肉等软组织的变形,由此而成为虚拟医学治疗的关键技术之一。诸如,文献[2]使用质点弹簧模型构造肌肉体,模型中用到了拉格朗日动力学方程和龙格-库塔法,而且将肌肉的变形效果模拟得尤为逼真。质点-弹簧系统也广泛应用于布料的模拟。Breen在文献[3]中,通过对布料物理性质的分析,首度提出了布料的Mass-Spring模型。模型中模拟了布料的拉伸压缩、沿平面内外的剪切弯曲,因而可处理各向同性的力学行为。
2.2 有限元法
所谓有限元法是一种高效能、常用的计算方法。对于复杂的可变形模型来说,具有高复杂性的有限元法可以精准计算并求解微分方程。因此,这种方法在数学界[4]、物理界和工程界[5]均已发挥至关重要的作用。有限元法的综合分析就是将模型分解的单元与整体通过相互转化,而将连续域中无限自由度离散化为有限自由度,同时将微分方程离散化为代数方程。
有限元法采纳了离散和分片插值的思想,来处理变形问题。具体地,就是首先依据求解模型的形状及实际问题的物理特点,将连续的几何模型域离散化为有限个某种类型单元,并在单元之间设置有限个节点,用以连接全部的单元,由此构成一个由节点和单元联合并存的集合体。而且在每一单元中,根据节点位移条件确定位移模式中的系数,选取场函数的节点值为基本未知量,同时假设一个近似插值函数来表示单元中场函数的分布情况,再通过求解节点未知量的有限元方程组和设置的插值函数得到节点的数值和场函数。若能实现对插值函数的适当选取,即可使函数的内外部与界面满足于相应的条件。其后,又将模型中任意有限元节点自由度对应整体矩阵分量,也就是将单元矩阵和向量叠加起来,构成一整体的矩阵和向量,由此得到了系统运动力学方程。最后,则利用节点、位移为未知量的线性方程组和弹性力学的相关知识,相应解得节点位移和各个单元的应力,并对运动控制方程进行求解,由此而进一步得到了研究计算结果。详细实现过程如图2所示。
图2 有限元法的基本步骤
Fig.2 The basic steps of finite element method
对不规则网格的偏微分方程求解主要采取的数值方法则是有限元法。该法即将可变形物体处理为不规则网格分割的连续连接体,并对偏微分方程进行求解。弹性材质的偏微分方程可表达为:
(5)
式中, 表示材质本身的密度; 表示所受到的外力,如:重力、碰撞力等; 则表示来物体内部形变所产生的力。
有限元建模就是将对象在载荷、材料、几何约束、物理约束等方面的特性进行一定的数学原理分析以及方法整合后的最终结果展示。首先需对问题本身的客观规律予以精确描述,并建立优化合理的有限元方程。但基于庞大的计算量考虑,还需保证计算的效率和精度,此时就要选取相应的算法,并借助计算机中的实用程序对数值进行相应计算。接下来的工作就是有限元建模、数值计算、以及结果的比较处理。
有限元建模主要需对以下几个问题进行研究,分别是:问题的定义与分析,几何模型的建立,单元选择与特性的定义,网格划分,模型检查和处理,还包括边界条件的定义,如图 3 所示。
图3 有限元建模的过程和建模的关键技术
Fig.3 The process and key technology of finite element modeling
通过有限元的方法对变形物体进行物理仿真时,可以取得较好的视觉效果。但是由于过程中的庞大计算量,对硬件的要求通常就会较高。若将其推演开来可知,一方面在使用有限元方法模拟弹塑性材料的变形过程中[6],需对四面体网格进行有限元建模,并建立线性基本函数。已有文献[7]中即提出了应变张量,有效计算了网格阻尼力,而探究得到了物体的有限元显示求解方法。另一方面,对于某些易碎,易断裂的弹塑性材质模拟中,可使用通过线性基本函数相连的四面体网格[8],以及文献[9]提出的应变张量,进而采用了应变率张量来计算阻尼力,由此即研发得到了非线性等式的显式求解。该方法提供了较好的视觉效果,但却并不支持实时运行方式。此时,若为了支持拓扑逻辑变化,且能维持良好的形状单元,就可在虚拟节点算法中复制原始的单元对象。
2.3 边界元法
作为一种常用的数值分析法,边界元法不同于有限元法中弹性物体的计算均在物体内部体中完成的模式或方式,而是在边界面上获得其真正实现的。边界元法先对物体建立边界微分方程,并与有限元法相似地进行单元划分,即网格离散化,而在边界离散化后,则产生边界元;其后再将边界元方程离散为代数方程,对其进行求解;最终解得边界积分方程。边界元法的最主要特点就是可以降低维数,而且还可将运动等式的积分形式转化为表面积表达式。该方法采用了降维,就是将二维问题降为一维问题,以及将三维问题降为二维问题来提高算法整体运行效率。只是,边界元法的不足之处却在于:若域内存在非线性的方程式,就会导致边界方程中的未知量不仅包含边界上的,还包含区域内的,而此时,采用边界元法将不再具有优势。
在工程中,由于有限元法的局限性而无法解决某些问题,但边界元法却有着高效和精准的优点。若在相同的情况下,边界元法即比有限元法具有更高的精度,若两种方法精度相同的情况下,边界元法则有更高的效率。但边界元法却只适用于内部材质相同的物体,在处理拓扑变化时,计算过程会比有限元法更加地繁琐。如文献[10],即采用边界元法处理表面节点和边界值,又利用线弹性函数和边界元条件下的弹性动力模型,从而成功模拟了物体的形变。
2.4 基于网格的拉格朗日法可变形体物理建模方法的比较
上述即是几种基本的物理建模方法,而且每种建模方法均有着各自的优缺点以及相应的适用环境,对此即可从算法实现和计算量的角度来考虑选取最为适合的建模方法。经由对以上方法的简单对比,即可得出如下结论:
第一、质点-弹簧模型。建模简单、直观,相对于有限元法计算量小,易于求解,且模拟速度较快。但由于精度不如其他方法高,约束处理的未臻自然,因而容易造成弹簧的过度拉伸。
第二、有限元模型。易于处理复杂边界以及高梯度问题,有利于求解高阶微分方程,可较好地实现通用化。但却并不适合处理计算量大的流体力学问题以及求解边界问题。
第三、边界元法。求解精度高,可降低维数问题,在处理无限域问题中具有出众优势,但只可求解均质问题。而且由于数学工具方法的复杂度大,而不易达到通用化。
3.结束语
基于网格的拉格朗日法是物理建模中的常见方法之一,已经涌现了大量卓有成效的研究成果,而且受到专家学者的广泛关注。其建模方法除了上面所述的诸多方法,还包括欧拉法中的基于体的建模和基于面的建模、基于无网格的拉格朗法中的平滑粒子流体力学和无网格法以及有线状态自动机中的细胞自动机等在内。在如许大量的建模方法中,却没有任何一种模型能够满足所有的应用需求,因此必须要考虑到模型表示、物理参数范围以及实时交互式模拟等各种参数和环境条件。基于此,研究人员正将各种方法结合起来,运用各自的独属优势来更好地对模型进行约束,进而达到加强交互控制的显著效果。
参考文献:
[1] NEALEN A, MULLER M, KEISER R, et al. Physically based deformable models in computer graphics[J]. Computer Graphics Forum,2006, 25(4):809-836.
[2] NEDEL L, THALMANN D. Real-time muscle deformations using mass-spring systems[C]//CG Int, 1998: 156-165.
[3] David E. Breen , Donald H. House , Michael J. Wozny. Predicting the drape of woven cloth using interacting particles, 1994:365–372.
[4] COURANT R. Variational methods for the solution of problems of equilibrium and vibration. Bull Am Math Soc, 1943,49:l-23.
[5] TRUNER M J, CLOUGH R W, MARTIN H C. Stiffness and deflection analysis of complex structures[J]. J Aeronaut sci, 1956, 23(9): 505-523.
[6] OBRIEN J F, BARGTEIL A W, HODGINS J K. Graphical modeling and an -mation of ductile fracture[J]. ACM Transactions on Graphics, 2002, 21(3): 291-294.
[7] MOLINON, BAO Z, FEDKIW R. A virtual node algorithm for changing mesh topology during simulation [J]. ACM Transactions on Graphics, 2004, 23(3): 385-392.
[8] MULLERM, CHARYPAR D, GROSS M. Particle-based fluid simulation for interactive applications [C]// New York: ACM, 2003: 154-159.
[9] KOESER K, BARTCZAK B, KOCH R. RobustGPU-assisted camera tracking using free-form surface models [J]. Journal of Real Time Image Processing, 2007, 2(2): 133-147.
[10] JAMES D L, PAID K. Real time simulation of multizone elastokinematic models[C]// IEEE International Conference on Robotics and Automation Washingtom, 2002, 1: 927-932.