賈博 吳壯志
【摘要】基于有限元方法設計并實現(xiàn)了一種虛擬服裝仿真系統(tǒng)。首先基于有限元方法對服裝布料所受拉伸力和彎曲力進行建模;然后將組成服裝的多塊布料根據(jù)對應關系進行縫合;最后在布料縫合過程中,檢測布料與人體模型之間發(fā)生的碰撞并進行碰撞響應。實驗結果表明,本系統(tǒng)具有仿真速度快和穩(wěn)定性高的特點,在褶皺及折痕等細節(jié)方面也有較好的表現(xiàn)。
【關鍵詞】服裝仿真;有限元;褶皺
1.引言
隨著計算機硬件的發(fā)展和計算機圖形學的進步,服裝仿真技術日漸成熟,廣泛應用于3D電影制作、游戲制作、虛擬試衣、服裝CAD等領域。服裝仿真技術,使用力學模型將現(xiàn)實生活中的服裝通過計算機進行仿真重現(xiàn),無需試穿便能看到真實的服裝穿戴效果。由于服裝屬于低抗彎剛度的軟物質[1],與一般力學仿真中的剛性體、彈性體和塑性體等都有一定的區(qū)別,而且服裝布料的屬性多樣,所以如何保證在較快仿真速度下獲得折痕、褶皺等細節(jié)精度一直是服裝仿真上的難點和重點。
服裝仿真的關鍵部分是力學模型,國內外學者對此進行了比較深入的研究。Baraff D和Witkin A[2]提出的仿真系統(tǒng)基于有限元方法,使用隱式積分策略,能夠在大時間步長下進行仿真;Volino P等[3]將隱式積分方法應用于質點彈簧模型,加快了仿真速度,但是在褶皺、折痕等細節(jié)方面的仿真效果較差;Etzmu? O等[4]提出了一種共旋轉的方法,通過將應變張量分解為轉動矩陣與Cauchy線性張量相乘的形式解決了有限元中使用Cauchy應變張量旋轉失真的問題,缺點是旋轉矩陣的計算比較耗時;Umetani N等[5]提出了應用于實時交互的仿真模型,使用非線性Green-Lagrange應變張量的有限元方法[6],取得了較好的仿真效果;Wang H等[7]提出了數(shù)據(jù)驅動的仿真方法,通過基于力學的仿真模型獲得精確的樣本進行離線學習和訓練,在實時仿真過程中先快速仿真粗糙的服裝,再根據(jù)離線學習數(shù)據(jù)添加精細的褶皺、折痕等細節(jié)。本文提出的虛擬服裝仿真系統(tǒng),基于有限元方法,結合彎曲力模型,實現(xiàn)一種精確、穩(wěn)定、快速的仿真方法。在實現(xiàn)過程中,通過預計算對有限元方法進行了加速,并對原有的彎曲力模型進行擴展,使其能夠對各向異性服裝布料進行仿真。
2.系統(tǒng)流程
本文提出的虛擬服裝仿真系統(tǒng),以2D服裝設計樣式圖作為輸入,手動指定服裝面片之間的縫合關系,將二維空間的服裝面片映射到三維空間中,根據(jù)衣片間指定的對應關系進行縫合,使得虛擬服裝衣片逐漸靠近并懸垂在3D虛擬人體模型上。在仿真計算的過程中,首先基于有限元方法和彎曲力模型計算出服裝布料離散化后各質點所受到的彈性力和彎曲力,加上重力、摩擦力等外力,獲得施加在每個質點的合力;然后根據(jù)牛頓第二定律,使用顯示積分或者隱式積分方法計算出質點下一時刻位移;通過位移進行碰撞檢測,對發(fā)生碰撞的點進行碰撞響應,防止發(fā)生穿刺現(xiàn)象。上述計算過程會在仿真過程中不斷地迭代,最后收斂到一個穩(wěn)定狀態(tài)。本系統(tǒng)的流程圖如圖1所示。
圖1 虛擬服裝仿真系統(tǒng)流程圖
3.力學模型
基于力學的服裝仿真一般對面內彈性力和面外彎曲力分開建模,本文對面內彈性力使用有限元方法,使用非線性Green-Lagrange應變張量作為應變度量,通過預計算對有限元方法進行加速;在建模面外彎曲力方面,使用等距彎曲模型,并對其進行擴展,使其能夠對各向異性材料進行彎曲力的計算。為了避免在仿真過程中彈性力引起的過度震蕩,加快仿真收斂速度,本系統(tǒng)依據(jù)布料屬性對每個質點施加了簡單的阻尼力。
3.1 有限元模型
由彈性力學可知,布料內部張力產生的形變由應變來描述,張力由應力來描述,假定所使用的材料滿足Hooke定律,即應力應變滿足線性關系,如公式(1)所示。
(1)
其中,E為楊氏模量,描述材料抵抗形變的能力,v泊松比,描述橫向應變與縱向應變的比例關系。本文使用x來表示2D初始材料坐標系下點的坐標,p來表示形變過程中3D世界坐標系中的坐標,在初始材料坐標系的每個三角形中,對于三角形內的任一點x,可以由三角形的3個頂點線性表示,如公式(2)
x=a(x1-x0)+b(x2-x0) ? ? ? ? ? ? (2)
變形后的點也使用相同的權重來表示:
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ōu)椋?/p>
(5)
對公式(5)展開后化簡可得:
(6)
其中A=[x1,x2]-1,為2x2的一個矩陣,可以提前計算得到,由此B也可以提前計算來加快仿真速度。由彈性力學理論可得單位面積能量w與應力和應變的關系為,假設三角形單元的整體能量為W,則三角形每個頂點處所受到的力為:
(7)
其中s為三角形的面積。將公式(1)和(6)代入到公式(7)可得:
(8)
其中C為:
由公式(8)可以看出,K為可提前計算出的常量,因此通過預計算本文對每個點受力情況的計算速度非??臁?/p>
3.2 彎曲力模型
本文假設布料在當前彎曲狀態(tài)下產生的抗彎曲變形力不會導致布料元素產生非等距變換,即當前狀態(tài)下的布料曲面為不可延展曲面,對形變能量采用等距彎曲模型[8]進行建模。該模型計算連續(xù)曲面S的形變彎曲能量為:
其中H為平均曲率,dA為微分區(qū)域,該能量與Willmore能量相似,具有剛體運動不變性。對其進行離散化可推導出:
其中ei為相鄰三角形的鄰接邊,Q為可預先計算出的二次型矩陣[8]。
該等距彎曲模型無法衡量各向異性彎曲力,為了使其適用于各向異性材料,本文對其進行擴展,為每個邊賦一個簡單的剛度權重。
(9)
其中ku,kv分別為u,v方向上的彎曲剛度,△u,△v分別為邊ei兩個頂點在u,v方向上的差值。
3.3 阻尼力
在服裝仿真過程中,彈性力很容易引起震蕩效果,使得仿真過程無法快速穩(wěn)定。為了解決這個問題,本文引入了一種簡單的線性阻尼力模型,該模型與質點的速度線性相關。
Fi=-kd(vi-vj) ? ? ? ? ? ? ? ? ? ?(10)
其中kd為阻尼系數(shù)。通過引入阻尼力,使得系統(tǒng)的收斂速度大大加快,而且阻尼力減緩了質點位移的變化率,使得系統(tǒng)變得更加穩(wěn)定。
4.系統(tǒng)實現(xiàn)
通過上述力學模型可以獲得每個質點的受力情況,本文采用Baraff D等[2]提出的隱式積分策略來計算質點的速度變化:
(11)
其中M為質量矩陣,在有限元方法中,質量分布在每個三角形單元上,本文使用質量集中近似,將三角形的整體質量離散化平均分配給三個頂點。公式(11)可看做求解稀疏線性方程組A△v=b,本文使用共軛梯度的方法進行求解。將2D服裝面片轉換為3D服裝需要進行面片縫合,本文采用的縫合方法為懲罰力方法,在需要縫合的邊界對應點之間使用抗拉剛度遠大于布料材質抗拉剛度的彈簧,該方法能夠保證系統(tǒng)的正定性,而且相對于其他方法不會降低系統(tǒng)的收斂速度。同時,本文對服裝運動過程中發(fā)生碰撞進行響應的方法也采用的懲罰力方法,在預計算出來的碰撞點放置懲罰力彈簧,來阻止物體發(fā)生碰撞后的穿刺現(xiàn)象。本文所提出的虛擬服裝仿真系統(tǒng)的整體算法描述如下:
虛擬服裝仿真系統(tǒng)算法描述
輸入:2D服裝面片
輸出:3D服裝仿真結果
(1)//步驟1:系統(tǒng)預計算
(2)服裝面片三角網(wǎng)格化,并指定縫合關系
(3)預計算公式(8)中K,公式(9)中Q和k
(4)//步驟2:系統(tǒng)實時仿真
(5)While
(6)根據(jù)力學模型計算各質點受力f,,
(7)使用CG方法求解方程(11)
(8)碰撞檢測及響應
(9)更新質點位置p和速度v
(10)End while
5.實驗結果與分析
實驗所用的計算機配置是Intel(R) Core (TM) i5 @ CPU 3.2GHz*2和RAM 8.00 GB,分別對本文提出的系統(tǒng)在仿真速度和仿真效果進行了實驗。
5.1 仿真速度
表1 不同模型的仿真時間對比
# 質點個數(shù) 質點彈簧模型 本文的模型
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)了一個簡單地質點彈簧模型。通過實驗可以看出本文對有限元方法進行加速后,對f和的計算速度與質點彈簧模型相差無幾,但是所使用的CG方法求解稀疏線性方程組(11)的收斂速度相比質點彈簧模型較慢。
5.2 仿真效果
本系統(tǒng)對簡單結構的服裝進行了仿真實驗,實驗效果如圖2所示。通過實驗可以得出本系統(tǒng)擁有較快的仿真速度,同時從圖中可看出系統(tǒng)對于褶皺、折痕的細節(jié)也有較好的表現(xiàn)力,從整體來看與現(xiàn)實生活中的穿衣效果極為接近。
圖2 服裝仿真效果圖
6.結束語
本文提出了一種基于有限元方法的虛擬服裝仿真系統(tǒng),通過對有限元方法進行預計算處理加快其仿真速度,結合擴展的等距彎曲模型增加仿真精度,引入簡單的阻尼力提高系統(tǒng)收斂速度和穩(wěn)定性。實驗結果表明,本文提出的系統(tǒng)用有較快的仿真速度,對褶皺、折痕等細節(jié)也有很好的表現(xiàn)力,仿真結果與現(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—),男,碩士研究生,研究方向:計算機圖形學。