楊曉波
(浙江財(cái)經(jīng)大學(xué)東方學(xué)院,浙江 杭州 310012)
四點(diǎn)插值法在柔性織物曲面模擬中的應(yīng)用
楊曉波
(浙江財(cái)經(jīng)大學(xué)東方學(xué)院,浙江 杭州 310012)
為進(jìn)一步提高柔性織物的仿真度,提出一種基于四點(diǎn)插值法的柔性織物曲面模擬方法。具體研究過(guò)程是:首先分析了基于四點(diǎn)插值法的織物曲面模型,利用四點(diǎn)插值法細(xì)分柔性織物的曲線和曲面,最后通過(guò)四點(diǎn)插值法進(jìn)行曲面的拼接和局部修改,并采用對(duì)比實(shí)驗(yàn)驗(yàn)證四點(diǎn)插值法的可行性。研究結(jié)果表明,所提出的基于四點(diǎn)插值法的柔性織物實(shí)體模擬方法,模擬準(zhǔn)確度達(dá)到95%以上,從而驗(yàn)證了該方法的可行性。
四點(diǎn)插值法;柔性織物;曲面模型;實(shí)體模擬
對(duì)于變形曲面重建方法的研究是近年來(lái)計(jì)算機(jī)仿真領(lǐng)域的研究熱點(diǎn)。傳統(tǒng)的模擬仿真方法由于沒有將變形物體的材料屬性因素考慮在內(nèi),因而難以獲得真實(shí)的變形效果。為此,相關(guān)學(xué)者已在此領(lǐng)域進(jìn)行了深入研究。Terzopoulos[1]提出了一種較通用的曲面彈性變形模型,該模型可形象地描述各種柔性材料變形過(guò)程,但也存在著一些缺陷,如計(jì)算效率較低,計(jì)算穩(wěn)定性較差,不能完全表述曲面實(shí)際變形等;Breen等[2]已成功將粒子模型運(yùn)用于柔性織物仿真之中,取得了十分逼真的模擬效果,但采用粒子模型方法同樣存在一定缺陷,主要表現(xiàn)在計(jì)算耗時(shí)較大且計(jì)算效率較低,仍不能精確地反映變形曲面的真實(shí)變形過(guò)程,無(wú)法對(duì)復(fù)雜的曲面進(jìn)行處理等;1994年,Terzopoulos等又提出了基于能量模型的動(dòng)態(tài)NURBS曲面[3],該方法保留了NURBS曲面模型的基本信息,具有良好的整體柔順性,但由于該模型對(duì)物體曲面的要求較高,要求曲面形態(tài)盡可能光滑,而真實(shí)材料的曲面受表面紋理和光照條件等因素影響,較難達(dá)到模型要求,因而仿真準(zhǔn)確度較低,另外模型本身較復(fù)雜,計(jì)算時(shí)間較長(zhǎng),實(shí)時(shí)性仿真效果較差;半剛性樣條模型在NURBS曲面模型基礎(chǔ)上進(jìn)行了改進(jìn)[4],該模型能夠在保證長(zhǎng)度不變的前提下進(jìn)行彎曲變形,符合織物保持長(zhǎng)度的物理特性,計(jì)算也較為簡(jiǎn)化,能產(chǎn)生懸垂織物變形時(shí)特有的褶皺等效果,但也存在一定缺陷,如交互的選擇物理參數(shù)仍有待研究,如何在提高計(jì)算效率的同時(shí)保證曲面質(zhì)量的平衡等。
柔性織物是一種典型的變形曲面,選用何種模型構(gòu)造柔性織物曲面是織物仿真模擬的關(guān)鍵問(wèn)題。本文擬根據(jù)織物自身和仿真要求,利用四點(diǎn)插值法進(jìn)行織物曲面模擬研究,以期獲得較為滿意的效果。
織物曲面模擬研究領(lǐng)域一直都受到各國(guó)學(xué)者的廣泛關(guān)注。Fugerson首先在飛機(jī)設(shè)計(jì)中提出,將曲線、曲面表示為參數(shù)向量的函數(shù)形式[5];Coons提出由4條邊界曲線確定參數(shù)曲面,進(jìn)而表示完整曲面的方法[6];Versprille[7]等研究出非均勻有理 B 樣條的一整套理論和方法,并使之成為行業(yè)標(biāo)準(zhǔn)。上述方法均是定義在矩形參數(shù)域上,無(wú)法有效地表示任意拓?fù)湫螤畹那?。?dāng)表示復(fù)雜物體表面時(shí),通常采用逐片構(gòu)造的方法,必須對(duì)曲面片進(jìn)行裁剪,還需考慮片間的光滑拼接,處理起來(lái)相當(dāng)困難且耗時(shí)。為滿足織物快速真實(shí)模擬和復(fù)雜曲面造型的需要,本文提出利用四點(diǎn)插值法進(jìn)行三維柔性織物曲面表示的方法。
四點(diǎn)插值法是由四點(diǎn)插值曲線張量積形式生成的,是基于四邊域網(wǎng)格的插值型細(xì)分方法,選擇此方法的主要原因是:采用四邊域網(wǎng)格特性,能夠自然地反映織物經(jīng)向、緯向編制結(jié)構(gòu),且可通過(guò)構(gòu)造合適的邊界條件,解決不同曲面間光滑拼接的問(wèn)題。
在分析織物物理模型的基礎(chǔ)上,本文構(gòu)造出基于四點(diǎn)插值法的織物變形曲面模型。構(gòu)造過(guò)程如圖1所示。從圖可知,織物變形曲面的構(gòu)造過(guò)程包括4個(gè)步驟。首先將織物離散成四邊域網(wǎng)格,如圖1(a)所示,圖中每根經(jīng)紗和緯紗的交叉點(diǎn)被看作為質(zhì)點(diǎn),這些質(zhì)點(diǎn)聚合在一起形成質(zhì)點(diǎn)集,反映了鄰近矩形區(qū)域的質(zhì)量分布,當(dāng)織物在外力作用下發(fā)生形變時(shí),質(zhì)點(diǎn)間的相互位置也在發(fā)生變化,主要表現(xiàn)為3種形式,分別為伸縮、彎曲和剪切,如圖1(b)、(c)、(d)所示。為表示3種形變的外作用力,可利用DeRose等[8]提出的能量函數(shù)模型來(lái)表示,本文將在此基礎(chǔ)上,利用四邊域網(wǎng)格分析織物產(chǎn)生的形變情況。
圖1 基于四點(diǎn)插值的織物變形曲面構(gòu)造過(guò)程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]首先提出了四點(diǎn)插值細(xì)分算法,并對(duì)算法進(jìn)行了驗(yàn)證,該算法的關(guān)鍵是如何求出控制頂點(diǎn)的值,由于控制頂點(diǎn)受多種因素影響,使得生成的曲線連續(xù)性和收斂性難以保證,另外,該算法要求控制點(diǎn)分布均勻,對(duì)非均勻分布的控制點(diǎn)擬合效果較差,故本文對(duì)該算法做了進(jìn)一步改進(jìn)。
從初始控制點(diǎn)列{Pi}出發(fā),計(jì)算產(chǎn)生出新的插值點(diǎn),如式(1)所示:
式中:Pi+1表示新插入的點(diǎn),位于頂點(diǎn)Pi之后;s表示算法的收斂性系數(shù)。從式(1)可知,如果在Pi和Pi+1之間插入新頂點(diǎn),需要由它的相鄰結(jié)點(diǎn),即Pi-1,Pi,Pi+1和 Pi+24 個(gè)點(diǎn)決定。
下面定義第v次細(xì)分后的頂點(diǎn)集,記為{Pvi},則第v+1步細(xì)分后所得頂點(diǎn)為:
當(dāng)v=0時(shí),初始值為P0i=Pi。當(dāng)v趨于無(wú)窮時(shí),將得到一個(gè)無(wú)窮點(diǎn)列。另外,經(jīng)過(guò)計(jì)算,當(dāng),或0<s<時(shí),所獲得的極限曲線是連續(xù)的。
利用曲線張量積可以計(jì)算四點(diǎn)插值細(xì)分曲面,初始值可記P0i,j,其中 i= -2,…,m+2,j=-2,…,n+2,由第v步網(wǎng)格點(diǎn)集計(jì)算獲得第v+1步的網(wǎng)格集合,具體方法是:先從i下標(biāo)出發(fā),利用式(2),在點(diǎn)Pvi,j與 Pvi+1,j間插入新點(diǎn);再?gòu)?j下標(biāo)出發(fā),在點(diǎn)Pvi-1,j與 Pvi+2,j間插入新點(diǎn),這樣便生成k+1層的網(wǎng)格點(diǎn)集,如式(3)所示。
圖2 四點(diǎn)細(xì)分曲面構(gòu)造過(guò)程Fig.2 Fourpoint subdivision surface construction processes
從圖可知,利用四點(diǎn)插值法細(xì)分曲面,一般情況下經(jīng)過(guò)2步迭代后,可獲得較為理想的曲面。
三維服裝的基本單元是復(fù)雜的二維織物(衣片),因而在進(jìn)行織物曲面模擬時(shí),需要考慮衣片間的約束關(guān)系和相對(duì)位置,在此基礎(chǔ)上形成初始控制網(wǎng)格,初始網(wǎng)格拼接時(shí)需保證衣片間的光滑拼接。本文利用四點(diǎn)細(xì)分造型方法,通過(guò)構(gòu)造合適的邊界條件,實(shí)現(xiàn)曲面間的光滑拼接。本文以2個(gè)曲面片S1、S2為例,討論曲面拼接的構(gòu)造方法。
采用傳統(tǒng)方法構(gòu)造邊界點(diǎn)運(yùn)算量較大[10-11]。本文在傳統(tǒng)方法基礎(chǔ)上進(jìn)行了改進(jìn)。首先利用中垂線定理求出4個(gè)插值點(diǎn),再利用四點(diǎn)插值法對(duì)初始插值點(diǎn)進(jìn)行均勻分布,改進(jìn)方法只需簡(jiǎn)單地線性運(yùn)算即可構(gòu)造邊界點(diǎn),且系統(tǒng)開銷較小,這樣可大大減少計(jì)算耗費(fèi)。采用改進(jìn)后的方法可求得點(diǎn)列另一端的Pn+1,再利用已求出的 P-l,Pn+1,用同樣方法可求出 P-2,Pn+2。
根據(jù)四點(diǎn)插值曲線邊界點(diǎn)的構(gòu)造方法,可類似進(jìn)行四點(diǎn)細(xì)分曲面邊界點(diǎn)的構(gòu)造。首先構(gòu)造初始網(wǎng)格控制點(diǎn)陣中各行、列的邊界點(diǎn),再由已產(chǎn)生的邊界點(diǎn)和初始控制網(wǎng)格上的點(diǎn),用同樣的構(gòu)造方法求出其余4個(gè)角點(diǎn)上的邊界點(diǎn)。在求4個(gè)角的邊界點(diǎn)時(shí),對(duì)于同一位置,按照行或列方向求出的結(jié)果并不相同,一般做法是對(duì)2種構(gòu)造結(jié)果值進(jìn)行平均。
構(gòu)造了曲面的邊界點(diǎn)后,再分析2個(gè)曲面片間的光滑拼接條件。曲面片S1由初始插值點(diǎn)陣列{pi,j,i=0,…,n1,j=0,…,m1}給出,曲面片 S2由初始插值點(diǎn)陣列 {qi,j,i=0,…,n2,j=0,…,m2}給出,其中 pi,m1=qi,0。為使 S1、S2在 pi,m1或 qi,0所確定的四點(diǎn)法曲線處實(shí)現(xiàn)C1連接,曲面片應(yīng)取如下邊界條件。
曲面片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 的值,并由上述提到的邊界點(diǎn)構(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)造的邊界條件對(duì)曲面片S1、S2進(jìn)行細(xì)分,曲面片S1、S2將實(shí)現(xiàn)Gl連續(xù)拼接,如圖3所示。
圖3 曲面片間光滑拼接過(guò)程Fig.3 Smooth splicing process between patches.(a)Initial stitching patches;(b)Stitching patches after subdivision once;(c)Final stitching smooth surface
圖3示出曲面片間光滑拼接的過(guò)程,結(jié)合上述方法,可實(shí)現(xiàn)多個(gè)曲面片間的拼接,最終形成整個(gè)三維服裝初始控制網(wǎng)格。
局部修改在改進(jìn)三維服裝曲面過(guò)程中非常重要,下面將利用本文提出的方法對(duì)服裝曲面的局部特性進(jìn)行修改。
服裝曲面的初始控制點(diǎn)列為P0i,j,當(dāng)點(diǎn)列當(dāng)中的某點(diǎn) Pi,j發(fā)生改變,改動(dòng)后的值記為 P'i,j,則其變化量為 △P=Pi,j-P'i,j,這一局部特性的改變將影響整個(gè)細(xì)分曲面。
從前述可知,通過(guò)計(jì)算曲線張量積可得到四點(diǎn)細(xì)分曲面,因此,可先從曲線的局部修改做起,進(jìn)而覆蓋到整個(gè)細(xì)分曲面。
首先,初始網(wǎng)格點(diǎn)集被第1次細(xì)分,利用四點(diǎn)細(xì)分算法,可以生成4個(gè)新的點(diǎn),計(jì)算過(guò)程見式(4)。
當(dāng)點(diǎn) Pi,j被改動(dòng)為 P'i,j時(shí),產(chǎn)生的變化對(duì) Pi,j之后的影響如下:
結(jié)合式(4)和式(5),可得:
由式(6)可知,點(diǎn) Pi,j的變化對(duì) Pi,j和 P(i+1),j的影響較大,曲線在 Pi,j到 Pi+2,j之間的變化情況為:
由式(7)可知,由于受到△Pi,j的影響,曲線在Pi,j到 Pi+2,j之間的部分會(huì)有較大變化。
當(dāng)初始網(wǎng)格點(diǎn)集被細(xì)分2次后,Pi,j的變化將對(duì)曲線在 Pi+2,j和 Pi+3,j之間產(chǎn)生影響,如式(8)所示。
由于在實(shí)際應(yīng)用過(guò)程中,s一般取值為1/12,因此點(diǎn) Pi,j的改動(dòng)對(duì)曲線段 [Pi+2,j,Pi+3,j]和[Pi-3,j,Pi-2,j]的影響非常小,在實(shí)際應(yīng)用中常常可忽略。
上述對(duì)四點(diǎn)細(xì)分曲線局部性質(zhì)的討論,可很容易推廣到整個(gè)四點(diǎn)細(xì)分曲面,即當(dāng)改變控制點(diǎn)列中的點(diǎn)Pi,j時(shí),對(duì)整個(gè)四點(diǎn)細(xì)分曲面有顯著影響的區(qū)間為 [Pi-2,j,Pi+2,j] × [pi,j-2,Pi,j+2]。
為驗(yàn)證四點(diǎn)插值法的可行性,本文以單色女裙作為樣本進(jìn)行實(shí)際模擬。首先確定女裙衣片與三維人體模型,通過(guò)光滑拼接條件和細(xì)分方法對(duì)衣片進(jìn)行拼接,構(gòu)造三維服裝模擬初始網(wǎng)格,在此基礎(chǔ)上通過(guò)局部修改對(duì)服裝進(jìn)行真實(shí)感模擬,模擬效果見圖4??椢锬M準(zhǔn)確度的評(píng)價(jià)標(biāo)準(zhǔn)是通過(guò)最終模擬效果與織物實(shí)體懸垂外觀進(jìn)行對(duì)比,模擬效果越接近織物實(shí)體外觀,模擬準(zhǔn)確度越高。
另外,實(shí)驗(yàn)過(guò)程中還采用Terzopoulos曲面彈性變形模型進(jìn)行模擬,實(shí)驗(yàn)樣本同樣采用單色女裙,并將模擬結(jié)果與本文方法進(jìn)行對(duì)比,模擬準(zhǔn)確度通過(guò)模擬圖像與織物實(shí)體懸垂外觀圖像進(jìn)行對(duì)比得到,結(jié)果如表1所示。
從表1可知,在相同織物質(zhì)點(diǎn)數(shù)的條件下,不論是模擬時(shí)間和模擬準(zhǔn)確度,本文方法都優(yōu)于Terzopoulos法。
圖4 三維服裝模擬過(guò)程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 實(shí)驗(yàn)結(jié)果對(duì)比Tab.1 Comparison of two experimental results
本文采用四點(diǎn)插值方法對(duì)柔性織物曲面進(jìn)行模擬,通過(guò)分析研究并結(jié)合對(duì)比實(shí)驗(yàn),得出如下結(jié)論。
1)利用四點(diǎn)插值法進(jìn)行三維織物模擬仿真,不但可方便融合織物的物理特性,而且可利用細(xì)分網(wǎng)格的迭代加細(xì)特性,動(dòng)態(tài)改變模擬初始網(wǎng)格密度,提高了模擬的真實(shí)感。
2)采用四點(diǎn)插值法構(gòu)造邊界點(diǎn),分析曲面間的光滑拼接條件,實(shí)現(xiàn)了不同曲面間的光滑拼接,較好地解決了三維服裝模擬中復(fù)雜衣片間的縫合問(wè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] 梁景鴻.離散的曲線曲面造型方法的應(yīng)用研究[D].廣州:華南理工大學(xué),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
浙江省自然科學(xué)基金資助項(xiàng)目(Y1110023)
楊曉波(1971—),男,副教授,博士。研究方向?yàn)榧徔棽牧系挠?jì)算機(jī)視覺分析與模式識(shí)別。E-mail:yxb71520@163.com。