楊曉波
(浙江財經(jīng)大學東方學院,浙江 杭州 310012)
四點插值法在柔性織物曲面模擬中的應用
楊曉波
(浙江財經(jīng)大學東方學院,浙江 杭州 310012)
為進一步提高柔性織物的仿真度,提出一種基于四點插值法的柔性織物曲面模擬方法。具體研究過程是:首先分析了基于四點插值法的織物曲面模型,利用四點插值法細分柔性織物的曲線和曲面,最后通過四點插值法進行曲面的拼接和局部修改,并采用對比實驗驗證四點插值法的可行性。研究結(jié)果表明,所提出的基于四點插值法的柔性織物實體模擬方法,模擬準確度達到95%以上,從而驗證了該方法的可行性。
四點插值法;柔性織物;曲面模型;實體模擬
對于變形曲面重建方法的研究是近年來計算機仿真領域的研究熱點。傳統(tǒng)的模擬仿真方法由于沒有將變形物體的材料屬性因素考慮在內(nèi),因而難以獲得真實的變形效果。為此,相關學者已在此領域進行了深入研究。Terzopoulos[1]提出了一種較通用的曲面彈性變形模型,該模型可形象地描述各種柔性材料變形過程,但也存在著一些缺陷,如計算效率較低,計算穩(wěn)定性較差,不能完全表述曲面實際變形等;Breen等[2]已成功將粒子模型運用于柔性織物仿真之中,取得了十分逼真的模擬效果,但采用粒子模型方法同樣存在一定缺陷,主要表現(xiàn)在計算耗時較大且計算效率較低,仍不能精確地反映變形曲面的真實變形過程,無法對復雜的曲面進行處理等;1994年,Terzopoulos等又提出了基于能量模型的動態(tài)NURBS曲面[3],該方法保留了NURBS曲面模型的基本信息,具有良好的整體柔順性,但由于該模型對物體曲面的要求較高,要求曲面形態(tài)盡可能光滑,而真實材料的曲面受表面紋理和光照條件等因素影響,較難達到模型要求,因而仿真準確度較低,另外模型本身較復雜,計算時間較長,實時性仿真效果較差;半剛性樣條模型在NURBS曲面模型基礎上進行了改進[4],該模型能夠在保證長度不變的前提下進行彎曲變形,符合織物保持長度的物理特性,計算也較為簡化,能產(chǎn)生懸垂織物變形時特有的褶皺等效果,但也存在一定缺陷,如交互的選擇物理參數(shù)仍有待研究,如何在提高計算效率的同時保證曲面質(zhì)量的平衡等。
柔性織物是一種典型的變形曲面,選用何種模型構(gòu)造柔性織物曲面是織物仿真模擬的關鍵問題。本文擬根據(jù)織物自身和仿真要求,利用四點插值法進行織物曲面模擬研究,以期獲得較為滿意的效果。
織物曲面模擬研究領域一直都受到各國學者的廣泛關注。Fugerson首先在飛機設計中提出,將曲線、曲面表示為參數(shù)向量的函數(shù)形式[5];Coons提出由4條邊界曲線確定參數(shù)曲面,進而表示完整曲面的方法[6];Versprille[7]等研究出非均勻有理 B 樣條的一整套理論和方法,并使之成為行業(yè)標準。上述方法均是定義在矩形參數(shù)域上,無法有效地表示任意拓撲形狀的曲面。當表示復雜物體表面時,通常采用逐片構(gòu)造的方法,必須對曲面片進行裁剪,還需考慮片間的光滑拼接,處理起來相當困難且耗時。為滿足織物快速真實模擬和復雜曲面造型的需要,本文提出利用四點插值法進行三維柔性織物曲面表示的方法。
四點插值法是由四點插值曲線張量積形式生成的,是基于四邊域網(wǎng)格的插值型細分方法,選擇此方法的主要原因是:采用四邊域網(wǎng)格特性,能夠自然地反映織物經(jīng)向、緯向編制結(jié)構(gòu),且可通過構(gòu)造合適的邊界條件,解決不同曲面間光滑拼接的問題。
在分析織物物理模型的基礎上,本文構(gòu)造出基于四點插值法的織物變形曲面模型。構(gòu)造過程如圖1所示。從圖可知,織物變形曲面的構(gòu)造過程包括4個步驟。首先將織物離散成四邊域網(wǎng)格,如圖1(a)所示,圖中每根經(jīng)紗和緯紗的交叉點被看作為質(zhì)點,這些質(zhì)點聚合在一起形成質(zhì)點集,反映了鄰近矩形區(qū)域的質(zhì)量分布,當織物在外力作用下發(fā)生形變時,質(zhì)點間的相互位置也在發(fā)生變化,主要表現(xiàn)為3種形式,分別為伸縮、彎曲和剪切,如圖1(b)、(c)、(d)所示。為表示3種形變的外作用力,可利用DeRose等[8]提出的能量函數(shù)模型來表示,本文將在此基礎上,利用四邊域網(wǎng)格分析織物產(chǎn)生的形變情況。
圖1 基于四點插值的織物變形曲面構(gòu)造過程Fig.1 Surface construction process of fabric deformation based on four point interpolation.(a)Particle structure of fabric;(b)Extension and compression of fabric;(c)Curving fabric;(d)Shearing fabric
Dyn等[9]首先提出了四點插值細分算法,并對算法進行了驗證,該算法的關鍵是如何求出控制頂點的值,由于控制頂點受多種因素影響,使得生成的曲線連續(xù)性和收斂性難以保證,另外,該算法要求控制點分布均勻,對非均勻分布的控制點擬合效果較差,故本文對該算法做了進一步改進。
從初始控制點列{Pi}出發(fā),計算產(chǎn)生出新的插值點,如式(1)所示:
式中:Pi+1表示新插入的點,位于頂點Pi之后;s表示算法的收斂性系數(shù)。從式(1)可知,如果在Pi和Pi+1之間插入新頂點,需要由它的相鄰結(jié)點,即Pi-1,Pi,Pi+1和 Pi+24 個點決定。
下面定義第v次細分后的頂點集,記為{Pvi},則第v+1步細分后所得頂點為:
當v=0時,初始值為P0i=Pi。當v趨于無窮時,將得到一個無窮點列。另外,經(jīng)過計算,當,或0<s<時,所獲得的極限曲線是連續(xù)的。
利用曲線張量積可以計算四點插值細分曲面,初始值可記P0i,j,其中 i= -2,…,m+2,j=-2,…,n+2,由第v步網(wǎng)格點集計算獲得第v+1步的網(wǎng)格集合,具體方法是:先從i下標出發(fā),利用式(2),在點Pvi,j與 Pvi+1,j間插入新點;再從 j下標出發(fā),在點Pvi-1,j與 Pvi+2,j間插入新點,這樣便生成k+1層的網(wǎng)格點集,如式(3)所示。
圖2 四點細分曲面構(gòu)造過程Fig.2 Fourpoint subdivision surface construction processes
從圖可知,利用四點插值法細分曲面,一般情況下經(jīng)過2步迭代后,可獲得較為理想的曲面。
三維服裝的基本單元是復雜的二維織物(衣片),因而在進行織物曲面模擬時,需要考慮衣片間的約束關系和相對位置,在此基礎上形成初始控制網(wǎng)格,初始網(wǎng)格拼接時需保證衣片間的光滑拼接。本文利用四點細分造型方法,通過構(gòu)造合適的邊界條件,實現(xiàn)曲面間的光滑拼接。本文以2個曲面片S1、S2為例,討論曲面拼接的構(gòu)造方法。
采用傳統(tǒng)方法構(gòu)造邊界點運算量較大[10-11]。本文在傳統(tǒng)方法基礎上進行了改進。首先利用中垂線定理求出4個插值點,再利用四點插值法對初始插值點進行均勻分布,改進方法只需簡單地線性運算即可構(gòu)造邊界點,且系統(tǒng)開銷較小,這樣可大大減少計算耗費。采用改進后的方法可求得點列另一端的Pn+1,再利用已求出的 P-l,Pn+1,用同樣方法可求出 P-2,Pn+2。
根據(jù)四點插值曲線邊界點的構(gòu)造方法,可類似進行四點細分曲面邊界點的構(gòu)造。首先構(gòu)造初始網(wǎng)格控制點陣中各行、列的邊界點,再由已產(chǎn)生的邊界點和初始控制網(wǎng)格上的點,用同樣的構(gòu)造方法求出其余4個角點上的邊界點。在求4個角的邊界點時,對于同一位置,按照行或列方向求出的結(jié)果并不相同,一般做法是對2種構(gòu)造結(jié)果值進行平均。
構(gòu)造了曲面的邊界點后,再分析2個曲面片間的光滑拼接條件。曲面片S1由初始插值點陣列{pi,j,i=0,…,n1,j=0,…,m1}給出,曲面片 S2由初始插值點陣列 {qi,j,i=0,…,n2,j=0,…,m2}給出,其中 pi,m1=qi,0。為使 S1、S2在 pi,m1或 qi,0所確定的四點法曲線處實現(xiàn)C1連接,曲面片應取如下邊界條件。
曲面片S1的邊界條件為:
1)由 pi,m1,i=0,…,n 構(gòu)成的曲線邊界一側(cè),取pi,m1-1=qi,1,pi,m1-2=qi,2,其中 i=-2,…,n+2;
2)再由 pi,0,i=0,…,n 構(gòu)成的曲線邊界一側(cè),取 pi,-2,pi,-1,i=-2,…,n+2 的值,并由上述提到的邊界點構(gòu)造方法給出。
曲面片S2的邊界條件為:
1)由 qi,0,i=0,…,n 構(gòu)成的曲線邊界一側(cè),取qi,-2=pi,m1-2,qi,-1=pi,m1-1,其中 i=-2,…,n+2;
2)再由 qi,m-2,i=0,…,n 構(gòu)成的曲線邊界一側(cè),取 qi,m2-2=qi,m2-1,其中 i=-2,…,n+2 的值。
按照上述方法構(gòu)造的邊界條件對曲面片S1、S2進行細分,曲面片S1、S2將實現(xiàn)Gl連續(xù)拼接,如圖3所示。
圖3 曲面片間光滑拼接過程Fig.3 Smooth splicing process between patches.(a)Initial stitching patches;(b)Stitching patches after subdivision once;(c)Final stitching smooth surface
圖3示出曲面片間光滑拼接的過程,結(jié)合上述方法,可實現(xiàn)多個曲面片間的拼接,最終形成整個三維服裝初始控制網(wǎng)格。
局部修改在改進三維服裝曲面過程中非常重要,下面將利用本文提出的方法對服裝曲面的局部特性進行修改。
服裝曲面的初始控制點列為P0i,j,當點列當中的某點 Pi,j發(fā)生改變,改動后的值記為 P'i,j,則其變化量為 △P=Pi,j-P'i,j,這一局部特性的改變將影響整個細分曲面。
從前述可知,通過計算曲線張量積可得到四點細分曲面,因此,可先從曲線的局部修改做起,進而覆蓋到整個細分曲面。
首先,初始網(wǎng)格點集被第1次細分,利用四點細分算法,可以生成4個新的點,計算過程見式(4)。
當點 Pi,j被改動為 P'i,j時,產(chǎn)生的變化對 Pi,j之后的影響如下:
結(jié)合式(4)和式(5),可得:
由式(6)可知,點 Pi,j的變化對 Pi,j和 P(i+1),j的影響較大,曲線在 Pi,j到 Pi+2,j之間的變化情況為:
由式(7)可知,由于受到△Pi,j的影響,曲線在Pi,j到 Pi+2,j之間的部分會有較大變化。
當初始網(wǎng)格點集被細分2次后,Pi,j的變化將對曲線在 Pi+2,j和 Pi+3,j之間產(chǎn)生影響,如式(8)所示。
由于在實際應用過程中,s一般取值為1/12,因此點 Pi,j的改動對曲線段 [Pi+2,j,Pi+3,j]和[Pi-3,j,Pi-2,j]的影響非常小,在實際應用中常??珊雎浴?/p>
上述對四點細分曲線局部性質(zhì)的討論,可很容易推廣到整個四點細分曲面,即當改變控制點列中的點Pi,j時,對整個四點細分曲面有顯著影響的區(qū)間為 [Pi-2,j,Pi+2,j] × [pi,j-2,Pi,j+2]。
為驗證四點插值法的可行性,本文以單色女裙作為樣本進行實際模擬。首先確定女裙衣片與三維人體模型,通過光滑拼接條件和細分方法對衣片進行拼接,構(gòu)造三維服裝模擬初始網(wǎng)格,在此基礎上通過局部修改對服裝進行真實感模擬,模擬效果見圖4??椢锬M準確度的評價標準是通過最終模擬效果與織物實體懸垂外觀進行對比,模擬效果越接近織物實體外觀,模擬準確度越高。
另外,實驗過程中還采用Terzopoulos曲面彈性變形模型進行模擬,實驗樣本同樣采用單色女裙,并將模擬結(jié)果與本文方法進行對比,模擬準確度通過模擬圖像與織物實體懸垂外觀圖像進行對比得到,結(jié)果如表1所示。
從表1可知,在相同織物質(zhì)點數(shù)的條件下,不論是模擬時間和模擬準確度,本文方法都優(yōu)于Terzopoulos法。
圖4 三維服裝模擬過程Fig.4 3-D garment simulation process.(a)Skirt front patch and rear patch;(b)Initial mesh of skirt stitching;(c)Formation of 3-D garment surface;(d)Final simulation results
表1 實驗結(jié)果對比Tab.1 Comparison of two experimental results
本文采用四點插值方法對柔性織物曲面進行模擬,通過分析研究并結(jié)合對比實驗,得出如下結(jié)論。
1)利用四點插值法進行三維織物模擬仿真,不但可方便融合織物的物理特性,而且可利用細分網(wǎng)格的迭代加細特性,動態(tài)改變模擬初始網(wǎng)格密度,提高了模擬的真實感。
2)采用四點插值法構(gòu)造邊界點,分析曲面間的光滑拼接條件,實現(xiàn)了不同曲面間的光滑拼接,較好地解決了三維服裝模擬中復雜衣片間的縫合問題。
[1] TERZOPOULOS D, FLEISCHER K. Deformable Models[J].The Visual Computer,1988,4(6):306 -331.
[2] BREEN D E,HOUSE D H,WOZNY M J.A Particlebased model for simulating the draping behavior of woven cloth[J].Textile Research Journal,1994,64(11):663-685.
[3] TERZOPOULOS D,HONG Q.Dynamic NURBS with geometric constraints for interactive scalpting[J].ACM Transcations on Graphics,1994,13(2):103 -136.
[4] CHENG C Y,SHI J Y,XU Y Q,et al.Physically based model for real-time animation of curtain movement[J].Journal of Software,2000,11(9):1228 -1236.
[5] FERGUSON J C.Multivariable curve interpolation[J].Journal of the Association for Computing Machinery,1964,11(2):221-228.
[6] COONS S A.Surfaces for Computer-aided Design of Space Figures[M].M I T MAC-M-255,1964:38 -55.
[7] VERSPRILLE K J.Computer-aided design applications of the rationalb-spline approximation form[D].Syracuse N Y:Syracuse Uni,1975:65 -78.
[8] DOROSE T, KASSM, TRUONG T. Subdivision surfaces in character animation[C]//Computer Graphics Proceedings,Annual Conference Series.Orlando:ACM SIGGRAPH,1998:85-96.
[9] DYN N,LEVIN D,GREGORY J A.A 4-point interpolatory subdivision scheme for curve design[J].Computer Aided Design,1987,4:257-268.
[10] KOBBELT L, Interpolatory subdivision on open quadrilateral nets with arbitrary topology[J].Computer Graphics Forum,1996,5(3):409-420.
[11] 梁景鴻.離散的曲線曲面造型方法的應用研究[D].廣州:華南理工大學,2002:35-76 LIANG Jinghong.Research on application of discrete curve and surface modeling method[D].Guangzhou:South China University of Technology,2002:35-76.
Study on simulation of flexible fabric bend surface based on four-point interpolation method
YANG Xiaobo
(Dongfang College,Zhejiang University of Finance & Economics,Hangzhou,Zhejiang 310012,China)
In order to further improve the simulation of flexible fabric,a method for simulation of flexible fabric surface based on four-point interpolation is proposed in this paper.The specific research process is as follows.Firstly,analyzing the fabric surface model based on four-point interpolation method,then,using four-point interpolation method to subdivide the curves and surfaces of flexible fabric,finally,performing surface splicing and local modification by the four-point interpolation method,and using comparative experiments to verify the feasibility of the four-point interpolation method.The result shows that the method based on four-point interpolation to simulate true flexible fabric is proposed in this paper,has the simulation accuracy up to above 95%,thereby verifying the feasibility of the method.
four-point interpolation method;flexible fabric;bend surface model;physical simulation
TP 311.131
A
10.13475/j.fzxb.20140404605
2014-04-16
2014-12-04
浙江省自然科學基金資助項目(Y1110023)
楊曉波(1971—),男,副教授,博士。研究方向為紡織材料的計算機視覺分析與模式識別。E-mail:yxb71520@163.com。