賈博 吳壯志
【摘要】基于有限元方法設(shè)計并實現(xiàn)了一種虛擬服裝仿真系統(tǒng)。首先基于有限元方法對服裝布料所受拉伸力和彎曲力進行建模;然后將組成服裝的多塊布料根據(jù)對應(yīng)關(guān)系進行縫合;最后在布料縫合過程中,檢測布料與人體模型之間發(fā)生的碰撞并進行碰撞響應(yīng)。實驗結(jié)果表明,本系統(tǒng)具有仿真速度快和穩(wěn)定性高的特點,在褶皺及折痕等細節(jié)方面也有較好的表現(xiàn)。
【關(guān)鍵詞】服裝仿真;有限元;褶皺
1.引言
隨著計算機硬件的發(fā)展和計算機圖形學(xué)的進步,服裝仿真技術(shù)日漸成熟,廣泛應(yīng)用于3D電影制作、游戲制作、虛擬試衣、服裝CAD等領(lǐng)域。服裝仿真技術(shù),使用力學(xué)模型將現(xiàn)實生活中的服裝通過計算機進行仿真重現(xiàn),無需試穿便能看到真實的服裝穿戴效果。由于服裝屬于低抗彎剛度的軟物質(zhì)[1],與一般力學(xué)仿真中的剛性體、彈性體和塑性體等都有一定的區(qū)別,而且服裝布料的屬性多樣,所以如何保證在較快仿真速度下獲得折痕、褶皺等細節(jié)精度一直是服裝仿真上的難點和重點。
服裝仿真的關(guān)鍵部分是力學(xué)模型,國內(nèi)外學(xué)者對此進行了比較深入的研究。Baraff D和Witkin A[2]提出的仿真系統(tǒng)基于有限元方法,使用隱式積分策略,能夠在大時間步長下進行仿真;Volino P等[3]將隱式積分方法應(yīng)用于質(zhì)點彈簧模型,加快了仿真速度,但是在褶皺、折痕等細節(jié)方面的仿真效果較差;Etzmu? O等[4]提出了一種共旋轉(zhuǎn)的方法,通過將應(yīng)變張量分解為轉(zhuǎn)動矩陣與Cauchy線性張量相乘的形式解決了有限元中使用Cauchy應(yīng)變張量旋轉(zhuǎn)失真的問題,缺點是旋轉(zhuǎn)矩陣的計算比較耗時;Umetani N等[5]提出了應(yīng)用于實時交互的仿真模型,使用非線性Green-Lagrange應(yīng)變張量的有限元方法[6],取得了較好的仿真效果;Wang H等[7]提出了數(shù)據(jù)驅(qū)動的仿真方法,通過基于力學(xué)的仿真模型獲得精確的樣本進行離線學(xué)習(xí)和訓(xùn)練,在實時仿真過程中先快速仿真粗糙的服裝,再根據(jù)離線學(xué)習(xí)數(shù)據(jù)添加精細的褶皺、折痕等細節(jié)。本文提出的虛擬服裝仿真系統(tǒng),基于有限元方法,結(jié)合彎曲力模型,實現(xiàn)一種精確、穩(wěn)定、快速的仿真方法。在實現(xiàn)過程中,通過預(yù)計算對有限元方法進行了加速,并對原有的彎曲力模型進行擴展,使其能夠?qū)Ω飨虍愋苑b布料進行仿真。
2.系統(tǒng)流程
本文提出的虛擬服裝仿真系統(tǒng),以2D服裝設(shè)計樣式圖作為輸入,手動指定服裝面片之間的縫合關(guān)系,將二維空間的服裝面片映射到三維空間中,根據(jù)衣片間指定的對應(yīng)關(guān)系進行縫合,使得虛擬服裝衣片逐漸靠近并懸垂在3D虛擬人體模型上。在仿真計算的過程中,首先基于有限元方法和彎曲力模型計算出服裝布料離散化后各質(zhì)點所受到的彈性力和彎曲力,加上重力、摩擦力等外力,獲得施加在每個質(zhì)點的合力;然后根據(jù)牛頓第二定律,使用顯示積分或者隱式積分方法計算出質(zhì)點下一時刻位移;通過位移進行碰撞檢測,對發(fā)生碰撞的點進行碰撞響應(yīng),防止發(fā)生穿刺現(xiàn)象。上述計算過程會在仿真過程中不斷地迭代,最后收斂到一個穩(wěn)定狀態(tài)。本系統(tǒng)的流程圖如圖1所示。
圖1 虛擬服裝仿真系統(tǒng)流程圖
3.力學(xué)模型
基于力學(xué)的服裝仿真一般對面內(nèi)彈性力和面外彎曲力分開建模,本文對面內(nèi)彈性力使用有限元方法,使用非線性Green-Lagrange應(yīng)變張量作為應(yīng)變度量,通過預(yù)計算對有限元方法進行加速;在建模面外彎曲力方面,使用等距彎曲模型,并對其進行擴展,使其能夠?qū)Ω飨虍愋圆牧线M行彎曲力的計算。為了避免在仿真過程中彈性力引起的過度震蕩,加快仿真收斂速度,本系統(tǒng)依據(jù)布料屬性對每個質(zhì)點施加了簡單的阻尼力。
3.1 有限元模型
由彈性力學(xué)可知,布料內(nèi)部張力產(chǎn)生的形變由應(yīng)變來描述,張力由應(yīng)力來描述,假定所使用的材料滿足Hooke定律,即應(yīng)力應(yīng)變滿足線性關(guān)系,如公式(1)所示。
(1)
其中,E為楊氏模量,描述材料抵抗形變的能力,v泊松比,描述橫向應(yīng)變與縱向應(yīng)變的比例關(guān)系。本文使用x來表示2D初始材料坐標系下點的坐標,p來表示形變過程中3D世界坐標系中的坐標,在初始材料坐標系的每個三角形中,對于三角形內(nèi)的任一點x,可以由三角形的3個頂點線性表示,如公式(2)
x=a(x1-x0)+b(x2-x0) ? ? ? ? ? ? (2)
變形后的點也使用相同的權(quán)重來表示:
p(x)=a(p1-p0)+b(p2-p0)
p(x)=[p1-p0,p2-p0][x1-x0,x2-x0]-1x=px (3)
為了方便公式計算,可以假定x0=0,p0=0,后面公式中將使用x1,x2來代替x1-x0,x2-x0,使用p1,p2來代替p1-p0,p2-p0。由公式(2)(3)可將位移表示為:
u(x)=p(x)-x ? ? ? ? ? ? ? ? ? ? ?(4)
根據(jù)公式(4)可得到=P-I,由Green-Lagrange張量可得應(yīng)變?yōu)椋?/p>
(5)
對公式(5)展開后化簡可得:
(6)
其中A=[x1,x2]-1,為2x2的一個矩陣,可以提前計算得到,由此B也可以提前計算來加快仿真速度。由彈性力學(xué)理論可得單位面積能量w與應(yīng)力和應(yīng)變的關(guān)系為,假設(shè)三角形單元的整體能量為W,則三角形每個頂點處所受到的力為:
(7)
其中s為三角形的面積。將公式(1)和(6)代入到公式(7)可得:
(8)
其中C為:
由公式(8)可以看出,K為可提前計算出的常量,因此通過預(yù)計算本文對每個點受力情況的計算速度非常快。
3.2 彎曲力模型
本文假設(shè)布料在當(dāng)前彎曲狀態(tài)下產(chǎn)生的抗彎曲變形力不會導(dǎo)致布料元素產(chǎn)生非等距變換,即當(dāng)前狀態(tài)下的布料曲面為不可延展曲面,對形變能量采用等距彎曲模型[8]進行建模。該模型計算連續(xù)曲面S的形變彎曲能量為:
其中H為平均曲率,dA為微分區(qū)域,該能量與Willmore能量相似,具有剛體運動不變性。對其進行離散化可推導(dǎo)出:
其中ei為相鄰三角形的鄰接邊,Q為可預(yù)先計算出的二次型矩陣[8]。
該等距彎曲模型無法衡量各向異性彎曲力,為了使其適用于各向異性材料,本文對其進行擴展,為每個邊賦一個簡單的剛度權(quán)重。
(9)
其中ku,kv分別為u,v方向上的彎曲剛度,△u,△v分別為邊ei兩個頂點在u,v方向上的差值。
3.3 阻尼力
在服裝仿真過程中,彈性力很容易引起震蕩效果,使得仿真過程無法快速穩(wěn)定。為了解決這個問題,本文引入了一種簡單的線性阻尼力模型,該模型與質(zhì)點的速度線性相關(guān)。
Fi=-kd(vi-vj) ? ? ? ? ? ? ? ? ? ?(10)
其中kd為阻尼系數(shù)。通過引入阻尼力,使得系統(tǒng)的收斂速度大大加快,而且阻尼力減緩了質(zhì)點位移的變化率,使得系統(tǒng)變得更加穩(wěn)定。
4.系統(tǒng)實現(xiàn)
通過上述力學(xué)模型可以獲得每個質(zhì)點的受力情況,本文采用Baraff D等[2]提出的隱式積分策略來計算質(zhì)點的速度變化:
(11)
其中M為質(zhì)量矩陣,在有限元方法中,質(zhì)量分布在每個三角形單元上,本文使用質(zhì)量集中近似,將三角形的整體質(zhì)量離散化平均分配給三個頂點。公式(11)可看做求解稀疏線性方程組A△v=b,本文使用共軛梯度的方法進行求解。將2D服裝面片轉(zhuǎn)換為3D服裝需要進行面片縫合,本文采用的縫合方法為懲罰力方法,在需要縫合的邊界對應(yīng)點之間使用抗拉剛度遠大于布料材質(zhì)抗拉剛度的彈簧,該方法能夠保證系統(tǒng)的正定性,而且相對于其他方法不會降低系統(tǒng)的收斂速度。同時,本文對服裝運動過程中發(fā)生碰撞進行響應(yīng)的方法也采用的懲罰力方法,在預(yù)計算出來的碰撞點放置懲罰力彈簧,來阻止物體發(fā)生碰撞后的穿刺現(xiàn)象。本文所提出的虛擬服裝仿真系統(tǒng)的整體算法描述如下:
虛擬服裝仿真系統(tǒng)算法描述
輸入:2D服裝面片
輸出:3D服裝仿真結(jié)果
(1)//步驟1:系統(tǒng)預(yù)計算
(2)服裝面片三角網(wǎng)格化,并指定縫合關(guān)系
(3)預(yù)計算公式(8)中K,公式(9)中Q和k
(4)//步驟2:系統(tǒng)實時仿真
(5)While
(6)根據(jù)力學(xué)模型計算各質(zhì)點受力f,,
(7)使用CG方法求解方程(11)
(8)碰撞檢測及響應(yīng)
(9)更新質(zhì)點位置p和速度v
(10)End while
5.實驗結(jié)果與分析
實驗所用的計算機配置是Intel(R) Core (TM) i5 @ CPU 3.2GHz*2和RAM 8.00 GB,分別對本文提出的系統(tǒng)在仿真速度和仿真效果進行了實驗。
5.1 仿真速度
表1 不同模型的仿真時間對比
# 質(zhì)點個數(shù) 質(zhì)點彈簧模型 本文的模型
f&(ms) cg(ms) f&(ms) cg(ms)
FEM Bending
5041 12.024 10.812 7.82 5.669 26.995
10201 25.821 18.196 17.113 14.384 69.962
為了在仿真速度上進行對比,本文實現(xiàn)了一個簡單地質(zhì)點彈簧模型。通過實驗可以看出本文對有限元方法進行加速后,對f和的計算速度與質(zhì)點彈簧模型相差無幾,但是所使用的CG方法求解稀疏線性方程組(11)的收斂速度相比質(zhì)點彈簧模型較慢。
5.2 仿真效果
本系統(tǒng)對簡單結(jié)構(gòu)的服裝進行了仿真實驗,實驗效果如圖2所示。通過實驗可以得出本系統(tǒng)擁有較快的仿真速度,同時從圖中可看出系統(tǒng)對于褶皺、折痕的細節(jié)也有較好的表現(xiàn)力,從整體來看與現(xiàn)實生活中的穿衣效果極為接近。
圖2 服裝仿真效果圖
6.結(jié)束語
本文提出了一種基于有限元方法的虛擬服裝仿真系統(tǒng),通過對有限元方法進行預(yù)計算處理加快其仿真速度,結(jié)合擴展的等距彎曲模型增加仿真精度,引入簡單的阻尼力提高系統(tǒng)收斂速度和穩(wěn)定性。實驗結(jié)果表明,本文提出的系統(tǒng)用有較快的仿真速度,對褶皺、折痕等細節(jié)也有很好的表現(xiàn)力,仿真結(jié)果與現(xiàn)實中的穿戴效果非常相似。
參考文獻
[1]Liu Y J,Zhang D L,Yuen M M F.A survey on CAD methods in 3D garment design[J].Computers in Industry,2010,61(6):576-593.
[2]Baraff D,Witkin A.Large steps in cloth simulation[C].Proceedings of the 25th annual conference on Com-puter graphics and interactive techniques.ACM,1998:43-54.
[3]Volino P,Thalmann N M.Implementing fast cloth sim-ulation with collision response[C].Computer Graphics International Conference.IEEE Computer Society,2000:257-257.
[4]Etzmu? O,Keckeisen M,Stra?er W.A fast finite ele-ment solution for cloth modelling[C].Computer Graphics and Applications,2003.Proceedings.11th Pacific Conference on.IEEE,2003:244-251.
[5]Umetani N,Kaufman D M,Igarashi T,et al.Sensitive couture for interactive garment modeling and editing[J].ACM Trans.Graph.,2011,30(4):90.
[6]Volino P,Magnenat-Thalmann N,F(xiàn)aure F.A simple approach to nonlinear tensile stiffness for accurate cloth simulation[J].ACM Transactions on Graphics,2009,28(4).
[7]WANG Hua-min,Ramamoorthi R,O'Brien J.Multi-resolution isotropic strain limiting[J].ACM Transactions on Graphics (SIGGRAPH Asia),2010,29(6)1-10.
[8]Bergou M,Wardetzky M,Harmon D,et al.A quadratic bending model for inextensible surfaces[C].Sympo-sium on Geometry Processing.2006:227-230.
作者簡介:賈博(1991—),男,碩士研究生,研究方向:計算機圖形學(xué)。