任川 周國輝
摘 要:基于物理的可變形模型一直是計算機圖形學與其他相關學科綜合研究的重要問題,其主要的模擬技術有非物理方法和物理方法兩大類。隨著計算機硬件的高速發(fā)展和虛擬現實應用需求的不斷提高,基于網格的拉格朗日法作為主要的物理方法之一,日益受到眾多學者的重視。本文主要從可變形物體的物理建模出發(fā),首先介紹了可變形物體的幾種常見的建模方法,著重對基于網格的拉格朗日法中的三種建模方法進行了具體的介紹與比較。
關鍵詞:可變形體;質點-彈簧;有限元;邊界元
中圖分類號: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 引言
隨著計算機圖形學在眾多學科綜合研究中的廣泛應用,基于物理的可變形模型中形變行為的仿真即已成為時下研究的熱點之一。該研究主要是根據物理學、力學中的基本規(guī)律和計算方法,對物體的變形進行模擬,其中涉及到牛頓力學、彈性力學,能量守恒原理,差分幾何,數值計算等。同時,該研究還可通過應變能量函數定量描述物體的質量、慣性、重量等特征形變結果,因而能夠較好地呈現運動真實感,更進一步地解決了非物理方法中現存的問題。而目前在為大多數可變形物體進行建模時,物理建模的方式即已成為必然首選。相應地,基于物理建模的方法則主要有:歐拉法、基于網格的拉格朗日法、基于無網格的拉格朗日法、有限狀態(tài)自動機等一系列方法。
1可變形體建模
1.1 可變形體的概念
所謂可變形體是相對剛體來說的,剛體具有物體內部任意兩點間距離保持不變的特點,這就意味著,剛體不會產生形變;而可變形體,在物體的內力作用下就會產生形變,即內部任意兩點間的距離無法保持不變。
1.2 建模的方法分析
對虛擬物體實施研究時,首先要對其進行虛擬結構表示,即建立模型。物體的建模技術主要包括:幾何形狀建模、動力學建模、物理構造建模和行為建模。而在虛擬環(huán)境中的建模方法則有基于幾何的建模和基于物理的建模以及兩者混合的建模方法。具體地,幾何模型是用來表示物體的幾何信息的,包含了幾何信息的數據結構和相應的算法等重要信息。并且,由于其建模技術操作簡單,效率更高等優(yōu)點,現已得到了廣泛的應用。而基于物理的建模則遵循物理規(guī)律,相對于簡單的幾何模型通過添加物理學上的約束,相應加大了計算量和數據量,從而使模型具有較好的逼真性。研究中進一步發(fā)現,在物體之間進行交互時,幾何模型只能通過已經設定的函數曲線來完成模擬交互,遇有其他情景效果表現即不再理想。而物理模型卻因具有物理參數,當情景轉換時,參數也隨之發(fā)生變化,因此能夠真實地表達模擬交互過程。另外,將幾何模型與物理模型相結合也是一種優(yōu)秀的建模方法。方法可將物體的大概輪廓用幾何模型定義出來,再用物理的方法來精確地定義結構參數。由此,該方法不僅解決了建模過程中計算量大的問題,還可以使物體獲得更好的逼真效果。
2可變形體的物理建模方法
可變形體建模即需要將質量、重量、慣性、變形模式等特征與幾何模型和行為法則相結合,來完成更真實的虛擬模型,因此物理建模的方法將可用來進行可變形體仿真。這種方法多是依托實際問題,建立求解和控制方程,并基于模型的不同特點與要求,選擇建立數值計算過程。迄今為止,基于網格的方法主要有質點-彈簧模型、有限元法和邊界元法,以下即是對這三種方法的詳細介紹與分析。
2.1 質點-彈簧模型
由于質點-彈簧系統(tǒng)是模擬所有可變形物體的最簡單方法,因此廣泛應用于基于物理的離散模型。該法在物體上安插很多質點,質點與質點之間具有某種彈性聯(lián)系,通??捎脧椈蓙硇蜗蟮乇硎具@種彈性聯(lián)系,質點間依照一定規(guī)則采用彈簧鏈接,物體隨之將可看成是一張由質點構成的網,并且質點的位置表示物體上某一點的空間位置。其中的質點沒有大小,但是物體的質量集中在質點上,而且質量是均勻分布的,同事質點之間的彈簧卻是沒有質量的。當有外力作用于質點時,就會牽動其他相鄰質點的運動來實現形變效果。
結構性彈簧、扭曲彈簧和拉伸性彈簧是質點-彈簧模型中的三種重要類型,具體如圖1所示。
圖1 質點彈簧模型和三種類型彈簧
Fig.1 Mass - spring model and three types of spring
由圖1可見,現對三種彈簧的作用機理作如下概述:
(1)將橫向和縱向的各質點連接起來的彈簧叫做結構性彈簧(structural spring),結構性彈簧相當于物體的框架,主要固定了物體結構。
(2)將連接對角線的各質點的彈簧稱為扭曲彈簧(shear spring),扭曲彈簧可以控制物體的形變,減少物體扭曲。
(3)連接相鄰間隔一個質點的兩個質點的彈簧為拉伸性彈簧(flexion spring),此彈簧起到了保證物體在形變時邊緣圓滑的作用。質點不僅受到了內部彈簧的彈性力,而且還會受到物體外部的施力的影響。主要的外力就是阻尼力,該力可以在物體發(fā)生形變時,防止質點與質點之間的不規(guī)律運動,因此可用彈簧和阻尼來連接各個質點。
質點-彈簧系統(tǒng)在給定時間 時被定義為質點( )的位置定為 和速度為 ,每個質點所受到的內力為 則可通過計算相鄰連接的彈簧得到。此外,還有所受外力,如重力、空氣阻力、摩擦力等。每個質點的運動均滿足牛頓第二定律 。并且對整個系統(tǒng)而言:
(1)
這里,M表示質點的質量矩陣。
物體的運動情況可以制約物體的形變,所以每個質點的動力學方程都應滿足牛頓力學定律:
(2)
(3)
式中, 表示質點 的質量; 表示質點 的加速度; 為質點 的速度; 為粘性系數; 為質點所受的外力; 則為質點 和質點 之間的彈簧對質點 的應力,其中 滿足:
(4)
式中, , 為彈簧兩端點的位置; 為彈簧的彈性系數;而 則為彈簧的靜止長度。
在計算機圖形學中,質點-彈簧系統(tǒng)已然不再是傳統(tǒng)意義上的結構模式[1],也就是經由最初的應用于靜力學方程來模擬人面部的表情,發(fā)展至而今的利用動力學方程來模擬人體皮膚、器官、肌肉等軟組織的變形,由此而成為虛擬醫(yī)學治療的關鍵技術之一。諸如,文獻[2]使用質點彈簧模型構造肌肉體,模型中用到了拉格朗日動力學方程和龍格-庫塔法,而且將肌肉的變形效果模擬得尤為逼真。質點-彈簧系統(tǒng)也廣泛應用于布料的模擬。Breen在文獻[3]中,通過對布料物理性質的分析,首度提出了布料的Mass-Spring模型。模型中模擬了布料的拉伸壓縮、沿平面內外的剪切彎曲,因而可處理各向同性的力學行為。
2.2 有限元法
所謂有限元法是一種高效能、常用的計算方法。對于復雜的可變形模型來說,具有高復雜性的有限元法可以精準計算并求解微分方程。因此,這種方法在數學界[4]、物理界和工程界[5]均已發(fā)揮至關重要的作用。有限元法的綜合分析就是將模型分解的單元與整體通過相互轉化,而將連續(xù)域中無限自由度離散化為有限自由度,同時將微分方程離散化為代數方程。
有限元法采納了離散和分片插值的思想,來處理變形問題。具體地,就是首先依據求解模型的形狀及實際問題的物理特點,將連續(xù)的幾何模型域離散化為有限個某種類型單元,并在單元之間設置有限個節(jié)點,用以連接全部的單元,由此構成一個由節(jié)點和單元聯(lián)合并存的集合體。而且在每一單元中,根據節(jié)點位移條件確定位移模式中的系數,選取場函數的節(jié)點值為基本未知量,同時假設一個近似插值函數來表示單元中場函數的分布情況,再通過求解節(jié)點未知量的有限元方程組和設置的插值函數得到節(jié)點的數值和場函數。若能實現對插值函數的適當選取,即可使函數的內外部與界面滿足于相應的條件。其后,又將模型中任意有限元節(jié)點自由度對應整體矩陣分量,也就是將單元矩陣和向量疊加起來,構成一整體的矩陣和向量,由此得到了系統(tǒng)運動力學方程。最后,則利用節(jié)點、位移為未知量的線性方程組和彈性力學的相關知識,相應解得節(jié)點位移和各個單元的應力,并對運動控制方程進行求解,由此而進一步得到了研究計算結果。詳細實現過程如圖2所示。
圖2 有限元法的基本步驟
Fig.2 The basic steps of finite element method
對不規(guī)則網格的偏微分方程求解主要采取的數值方法則是有限元法。該法即將可變形物體處理為不規(guī)則網格分割的連續(xù)連接體,并對偏微分方程進行求解。彈性材質的偏微分方程可表達為:
(5)
式中, 表示材質本身的密度; 表示所受到的外力,如:重力、碰撞力等; 則表示來物體內部形變所產生的力。
有限元建模就是將對象在載荷、材料、幾何約束、物理約束等方面的特性進行一定的數學原理分析以及方法整合后的最終結果展示。首先需對問題本身的客觀規(guī)律予以精確描述,并建立優(yōu)化合理的有限元方程。但基于龐大的計算量考慮,還需保證計算的效率和精度,此時就要選取相應的算法,并借助計算機中的實用程序對數值進行相應計算。接下來的工作就是有限元建模、數值計算、以及結果的比較處理。
有限元建模主要需對以下幾個問題進行研究,分別是:問題的定義與分析,幾何模型的建立,單元選擇與特性的定義,網格劃分,模型檢查和處理,還包括邊界條件的定義,如圖 3 所示。
圖3 有限元建模的過程和建模的關鍵技術
Fig.3 The process and key technology of finite element modeling
通過有限元的方法對變形物體進行物理仿真時,可以取得較好的視覺效果。但是由于過程中的龐大計算量,對硬件的要求通常就會較高。若將其推演開來可知,一方面在使用有限元方法模擬彈塑性材料的變形過程中[6],需對四面體網格進行有限元建模,并建立線性基本函數。已有文獻[7]中即提出了應變張量,有效計算了網格阻尼力,而探究得到了物體的有限元顯示求解方法。另一方面,對于某些易碎,易斷裂的彈塑性材質模擬中,可使用通過線性基本函數相連的四面體網格[8],以及文獻[9]提出的應變張量,進而采用了應變率張量來計算阻尼力,由此即研發(fā)得到了非線性等式的顯式求解。該方法提供了較好的視覺效果,但卻并不支持實時運行方式。此時,若為了支持拓撲邏輯變化,且能維持良好的形狀單元,就可在虛擬節(jié)點算法中復制原始的單元對象。
2.3 邊界元法
作為一種常用的數值分析法,邊界元法不同于有限元法中彈性物體的計算均在物體內部體中完成的模式或方式,而是在邊界面上獲得其真正實現的。邊界元法先對物體建立邊界微分方程,并與有限元法相似地進行單元劃分,即網格離散化,而在邊界離散化后,則產生邊界元;其后再將邊界元方程離散為代數方程,對其進行求解;最終解得邊界積分方程。邊界元法的最主要特點就是可以降低維數,而且還可將運動等式的積分形式轉化為表面積表達式。該方法采用了降維,就是將二維問題降為一維問題,以及將三維問題降為二維問題來提高算法整體運行效率。只是,邊界元法的不足之處卻在于:若域內存在非線性的方程式,就會導致邊界方程中的未知量不僅包含邊界上的,還包含區(qū)域內的,而此時,采用邊界元法將不再具有優(yōu)勢。
在工程中,由于有限元法的局限性而無法解決某些問題,但邊界元法卻有著高效和精準的優(yōu)點。若在相同的情況下,邊界元法即比有限元法具有更高的精度,若兩種方法精度相同的情況下,邊界元法則有更高的效率。但邊界元法卻只適用于內部材質相同的物體,在處理拓撲變化時,計算過程會比有限元法更加地繁瑣。如文獻[10],即采用邊界元法處理表面節(jié)點和邊界值,又利用線彈性函數和邊界元條件下的彈性動力模型,從而成功模擬了物體的形變。
2.4 基于網格的拉格朗日法可變形體物理建模方法的比較
上述即是幾種基本的物理建模方法,而且每種建模方法均有著各自的優(yōu)缺點以及相應的適用環(huán)境,對此即可從算法實現和計算量的角度來考慮選取最為適合的建模方法。經由對以上方法的簡單對比,即可得出如下結論:
第一、質點-彈簧模型。建模簡單、直觀,相對于有限元法計算量小,易于求解,且模擬速度較快。但由于精度不如其他方法高,約束處理的未臻自然,因而容易造成彈簧的過度拉伸。
第二、有限元模型。易于處理復雜邊界以及高梯度問題,有利于求解高階微分方程,可較好地實現通用化。但卻并不適合處理計算量大的流體力學問題以及求解邊界問題。
第三、邊界元法。求解精度高,可降低維數問題,在處理無限域問題中具有出眾優(yōu)勢,但只可求解均質問題。而且由于數學工具方法的復雜度大,而不易達到通用化。
3.結束語
基于網格的拉格朗日法是物理建模中的常見方法之一,已經涌現了大量卓有成效的研究成果,而且受到專家學者的廣泛關注。其建模方法除了上面所述的諸多方法,還包括歐拉法中的基于體的建模和基于面的建模、基于無網格的拉格朗法中的平滑粒子流體力學和無網格法以及有線狀態(tài)自動機中的細胞自動機等在內。在如許大量的建模方法中,卻沒有任何一種模型能夠滿足所有的應用需求,因此必須要考慮到模型表示、物理參數范圍以及實時交互式模擬等各種參數和環(huán)境條件?;诖?,研究人員正將各種方法結合起來,運用各自的獨屬優(yōu)勢來更好地對模型進行約束,進而達到加強交互控制的顯著效果。
參考文獻:
[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.