本發(fā)明涉及一種三維服裝模擬方法,特別涉及一種面向三維服裝模擬的紙樣縫合信息自動設(shè)置方法。
背景技術(shù):
三維服裝模擬在服裝設(shè)計、虛擬試衣、計算機(jī)動畫和游戲等方面有廣泛的應(yīng)用。真實感的三維服裝模擬既可供服裝設(shè)計師評價服裝的設(shè)計效果,又能使消費(fèi)者無需試穿即可了解著裝效果。三維服裝模擬技術(shù)通過模擬服裝的制作過程減少服裝的設(shè)計時間,大大縮短服裝的設(shè)計周期。隨著服裝電子商務(wù)的發(fā)展,網(wǎng)上虛擬試衣技術(shù)的出現(xiàn)成為必然。它可將用戶選中的衣服在虛擬模特身上進(jìn)行試穿,實現(xiàn)遠(yuǎn)程的虛擬試衣,可以提高用戶體驗,增加服裝的銷售量,并降低服裝的退貨率。
三維服裝模擬的流程一般是這樣的:首先,讀入一個三維的人體模型與二維的服裝紙樣,然后設(shè)置二維服裝紙樣的縫合信息,再將二維服裝紙樣放置到三維人體的周圍,最后,采用基于物理的方法進(jìn)行三維服裝紙樣的縫合模擬,形成三維服裝模型。這里,服裝紙樣(Pattern)是指根據(jù)服裝設(shè)計的款式和尺寸要求,通過專業(yè)的計算設(shè)計出的服裝裁片,它是立體服裝的平面表達(dá)。從幾何角度來說,二維服裝紙樣是一個由直線和曲線組成的封閉多邊形。服裝紙樣縫合信息的設(shè)置,即指定紙樣的邊界是怎樣縫合在一起的,是三維服裝模擬的重要步驟之一,它影響到服裝模擬的效率和用戶體驗。這里。服裝紙樣的縫合信息設(shè)置既包括二維服裝紙樣的縫合信息,也包括三維服裝紙樣的縫合信息。其中,二維服裝紙樣和三維服裝紙樣是對應(yīng)的,是同一紙樣在平面和空間中形狀的不同表示方式,目前,在大多數(shù)服裝模擬系統(tǒng)中,服裝紙樣縫合信息的設(shè)置是通過交互的方法依次選擇兩根紙樣的邊界將它們設(shè)置為一組縫合對應(yīng)邊。例如,文獻(xiàn)Pascal Volino and Nadia Magnenat Thalmann,Developing simulation techniques for an interactive clothing system.In Proc.of Virtual Systems and Multi-Media,1997(Pascal Volino and Nadia Magnenat Thalmann,面向一個交互試衣系統(tǒng)的模擬技術(shù)研發(fā),虛擬系統(tǒng)和多媒體會議論文集,1997)就采用交互的方法。這種手工交互的方式,存在操作復(fù)雜、不直觀和速度慢的缺點(diǎn)。文獻(xiàn)Floraine Berthouzoz,Akash Garg,Danny M.Kaufman,Eitan Grinspun,Maneesh Agrawala,Parsing Sewing Patterns into 3D Garments,SIGGRAPH,2013(Floraine Berthouzoz,Akash Garg,Danny M.Kaufman,Eitan Grinspun,Maneesh Agrawala,面向三維服裝的縫合紙樣分析,SIGGRAPH會議,2013)提出了一種自動設(shè)置縫合邊的方法。該方法采用機(jī)器學(xué)習(xí)和整數(shù)規(guī)劃推測紙樣的縫合關(guān)系,具有較高的準(zhǔn)確率。但是,該方法依賴于詳細(xì)的紙樣幾何信息和描述信息,如紙樣的名稱、位置、相鄰關(guān)系、邊界匹配關(guān)系等,對紙樣設(shè)計師的工作具有很高的要求,而且該方法只適合于對稱的服裝。因此,該方法在實際中的應(yīng)用具有一定的難度。為了解決該問題,本發(fā)明提出一種基于紙樣幾何信息的縫合信息自動設(shè)置方法,利用三維服裝紙樣的空間位置關(guān)系與紙樣縫合邊界的特征,實現(xiàn)智能、準(zhǔn)確的紙樣縫合信息設(shè)置,從而提高三維服裝模擬的速度并提升用戶體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種用于三維服裝紙模擬的紙樣縫合信息自動設(shè)置方法,快速、準(zhǔn)確地設(shè)置服裝紙樣邊界的縫合關(guān)系,以便進(jìn)行三維服裝的縫合模擬。
為解決該技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種面向三維服裝模擬的紙樣縫合信息自動設(shè)置方法,其特征在于包括下列步驟:
1)讀入一個三維人體模型;
2)讀入二維服裝紙樣;
3)將二維服裝紙樣擺放到三維人體模型周圍;
4)自動識別服裝紙樣的縫合信息;
5)交互修改不正確的縫合信息,獲得完整的服裝紙樣縫合信息。
在步驟1)中,三維人體模型可用三角形網(wǎng)格曲面或四邊形網(wǎng)格曲面表示。三維人體模型可以是全身的人體模型,也可以是用于服裝立體裁剪的2/3或半身人體模特的數(shù)字化模型。人體的姿勢應(yīng)該直立并且手臂是向兩側(cè)張開的,便于三維服裝的縫制模擬。
在步驟2)中,二維服裝紙樣的邊界是由直線與曲線組成的,二維服裝紙樣可以通過二維設(shè)計的方法直接設(shè)計得到,也可以通過三維曲面展開的方法設(shè)計得到。曲面展開的方法參見發(fā)明專利(授權(quán)號:20110312749.6一種基于立體裁剪的三維服裝造型與紙樣設(shè)計方法)中的方法。
在步驟3)中,將二維紙樣放置到三維人體模型周圍合適的位置,用于紙樣縫合信息的識別與服裝的縫合模擬??梢圆捎媒换サ姆椒?,即用鼠標(biāo)與手勢等交互工具,將二維紙樣進(jìn)行旋轉(zhuǎn)與移動,放置到三維人體模型表面附近的位置。三維紙樣的空間位置應(yīng)該與人體的部位對應(yīng),比如,前身紙樣應(yīng)該放置到人體上半身的前面,袖子應(yīng)該放置到手臂的周圍。紙樣空間位置的放置也可以采用自動的方法,如發(fā)明專利(申請?zhí)枺?01510583218.9:一種三維服裝紙樣的空間位置自動設(shè)置方法)中的方法。該方法通過二維平面中二維紙樣與人體輪廓的相對位置確定服裝三維紙樣在三維人體上的相對位置。
在步驟4)中,我們利用三維服裝紙樣的空間位置關(guān)系與紙樣縫合邊界的特征,自動識別紙樣的縫合信息。二維服裝紙樣的縫合信息用于標(biāo)明紙樣的哪些邊界是縫合在一起的。這樣,在縫合三維服裝時,分離的紙樣將被縫合到一起成為三維服裝。在三維服裝縫合前,如果將所有已經(jīng)設(shè)置好縫合信息的三維紙樣擺放到三維人體模型的周圍,可以觀察到三維紙樣的縫合邊具有以下的特征與屬性:
a)邊長相似性:兩根縫合的紙樣邊界線具有類似的長度;
b)曲率相似性:一般情況下,兩根縫合邊界線的曲率大小往往是類似的。在服裝設(shè)計中,曲率相似性可以避免三維紙樣縫合后發(fā)生較大的變形。
c)距離最短:對于兩根具有縫合關(guān)系的三維紙樣邊界線中的任意一根,找出所有長度與它相似的三維紙樣邊界線,這兩根邊界線的距離往往是最短的。不過,距離最短不是必要的條件。
d)法向相對性:在正常情況下,兩根縫合邊界具有相對的法向。我們用三維紙樣邊界中點(diǎn)的法向表示紙樣邊界的法向,法向的方向是朝外的。在多層縫合的情況下,兩根縫合邊的法向是一致的。
e)非干涉性:一般情況下,連接兩根三維紙樣邊界的縫合線不與人體模型相交,也不與其它三維紙樣相交。
f)自身不縫合性:除了省道和皺褶的邊界線與環(huán)狀的紙樣邊界,一般情況下,同一片紙樣中的兩根邊界線是不縫合到一起的。
g)非縫合邊界:由于人體的拓?fù)浣Y(jié)構(gòu),為了讓衣服穿在人體身上,服裝上必須存在一些非縫合邊界,即不與其它邊界進(jìn)行縫合的邊界。服裝款式與類型的不同,非縫合邊界也會有所變化。對于上衣來說,典型的非縫合邊界包括領(lǐng)口線,袖口線和下擺線;對于無袖上衣來說,它不存在袖口線,這時袖籠線屬于非縫合線;對于褲子來說,非縫合邊界包括褲腰線和褲腳線。
h)縫合約束:根據(jù)服裝與人體的結(jié)構(gòu)關(guān)系,紙樣的縫合關(guān)系存在一些規(guī)則與約束。比如,前片紙樣的肩線一般與后片紙樣的肩線縫合在一起,身體紙樣的袖籠線只能與袖子紙樣的袖籠線縫合在一起,袖子紙樣的邊界線(不包括袖籠線邊界)不能與身體紙樣的邊界縫合等。
基于以上縫合邊界的特征與屬性,我們可以根據(jù)三維紙樣邊界之間距離優(yōu)先的原則,檢查縫合線的合理性,自動識別紙樣的縫合邊界信息。具體來說,對于每一根三維紙樣邊界,我們根據(jù)其長度和曲率相似性首先找出可能縫合的所有邊界,再根據(jù)法向相對性、自身不縫合性和非干涉性等特性進(jìn)行合理性檢查,從所有潛在合理的縫合邊界中找出最短距離的一根邊界性,將其設(shè)置為縫合邊界。
紙樣邊界縫合信息自動識別的算法用偽代碼表示如下:
在以上的算法中,一些符號的表示意義如下:
·PNi表示第i片紙樣,其中,i=0,1,,,M,M為紙樣的數(shù)量。
·LNi,j表示紙樣PNi的邊界,其中,i=0,1,…,M,j=0,1,…,Ni,M為紙樣的數(shù)量,Ni為紙樣PNi上的邊界線數(shù)量。
·SLi,j表示紙樣邊界LNi,j的縫合線。SLi,j={m,n}表示第i片紙樣的第j根邊界線與第m片紙樣的第n根邊界線縫合;SLi,j={-1,-1}表示邊界線LNi,j沒有縫合邊。
在算法Line 1~3中,在自動識別縫合信息之前,我們需要對所有紙樣的邊界做預(yù)處理,包括:(a)計算紙樣邊界的長度;(b)計算紙樣邊界的曲率;(c)計算紙樣邊界的法向矢量;(d)人工設(shè)定或自動識別非縫合邊界線與特殊邊界線,包括衣領(lǐng)線、肩線、袖籠線、中心線等等。
非縫合邊界線與特殊的邊界線可以通過人工交互的方式進(jìn)行設(shè)定,也可以根據(jù)紙樣的特點(diǎn)以及它們與人體部位的相對關(guān)系自動識別。比如,對于帶有下擺線的上衣紙樣,它的下方不存在其它紙樣,下擺線是該紙樣最底部的一根邊界線。對于衣領(lǐng)上的非縫合線,其所在的衣領(lǐng)紙樣位于人體頸部附近最高的位置,紙樣頂部的邊界線屬于非縫合線。
在算法Line 5~26中,對于每一根紙樣邊界,我們根據(jù)其長度和曲率相似性首先找出可能縫合的所有邊界,再進(jìn)行合理性檢查,從所有潛在合理的縫合邊界中找出最短距離的一根邊界線,將其設(shè)置為縫合邊界。在算法中,如果兩根紙樣邊界線的長度和曲率差小于一定的閥值,我們就認(rèn)為它們的長度與曲率是相似的。
在算法Line 21中,檢查兩根紙樣邊界縫合線的合理性主要是檢查法向相對性、自身不縫合性、非干涉性和縫合約束。它們的檢查方法如下:
1)法向相對性檢查:假設(shè)兩根邊界線LNi,j和LNm,n,它們的中點(diǎn)分別為Pi,j和Pm,n,它們的法向分別為Ni,j和Nm,n,矢量Vi,j=Pm,n-Pi,j,Vm,n=Pi,j-Pm,n,法向相對性要求矢量Vi,j和Ni,j的夾角以及矢量Vm,n和Nm,n的夾角都小于90度。這里,中點(diǎn)和法向都是根據(jù)三維紙樣進(jìn)行計算的。
1)自身不縫合性檢查:除了省道和環(huán)狀的紙樣邊界,一般情況下,同一片紙樣中的兩根縫合線是不能縫合到一起的。因此,當(dāng)一根縫合線連接同一片紙樣上的兩根邊界時,需要檢查它們是否屬于省道線或者環(huán)狀的紙樣邊界,否則它們會被認(rèn)為是無效的縫合線。圖6、(a)為一片上衣前片,其中,邊界A和B組成一個省道。省道的特點(diǎn)是兩根邊界線相連,邊界線長度類似,并且它們之間的夾角比較小。圖6、(b)是袖子的紙樣,它為環(huán)狀的紙樣,即邊界A和B是縫合在一起的。在三維空間中,環(huán)狀縫合的邊界線也符合法向相對性的原則。環(huán)狀縫合線的另一個特點(diǎn)是,在二維平面中,將縫合線向兩端延伸,它不會與該紙樣上的其它邊界相交。如圖6、(a)中的邊界C和D,雖然它們的長度類似,也滿足法向相對性,但是如果連接它們的中點(diǎn),并且向兩端延伸,則延長線會與其它邊界線相交,因此,它們被認(rèn)為是無效的縫合線。
2)非干涉性檢查:一般情況下,縫合線不與人體模型相交,也不與其它三維紙樣相交。如圖7、(a)中,紙樣邊界A和B的連線與人體模型沒有相交,它們之間的縫合線可能是合理的;紙樣邊界C和D的連線與人體模型相交,它們之間的縫合線被認(rèn)為是不合理的。在圖7、(b)中,紙樣邊界A和B的連線與另外一片紙樣相交,則它們之間的縫合線會被認(rèn)為是不合理的。干涉性的檢查也是在三維空間中進(jìn)行的。
3)縫合約束檢查:通過縫合約束可以排除一些不合理的縫合線。首先要判斷一根縫合線對應(yīng)的紙樣邊界是否屬于特定的邊界線,如肩線、袖籠線、頸線、衣領(lǐng)線、中心線等。如果是的話,檢查縫合線是否符合縫合的規(guī)則與約束,包括前片紙樣的肩線必須與后片紙樣的肩線縫合在一起,身體紙樣的袖籠線只能與袖子紙樣的袖籠線縫合在一起,袖子紙樣的邊界線(不包括袖籠線邊界)不能與身體紙樣的邊界縫合等。
在自動識別紙樣的縫合信息中,可能存在一些不正確或矛盾的縫合信息。假設(shè)三根邊界線A、B、C,其中A與B之間的距離大于B與C之間的距離。如果A對應(yīng)的縫合邊界為B,而B對應(yīng)的縫合邊界為C。這時,如果A、B和C不屬于多重縫合的關(guān)系,由于縫合線A與B的距離大于B與C的距離,我們認(rèn)為B與C的縫合關(guān)系是有效的,而A與B之間的縫合關(guān)系是無效的。對于邊界A,我們需要重新搜索其對應(yīng)的縫合邊界線。
在步驟5中,檢查自動識別的縫合信息,修正不正確的縫合關(guān)系。在步驟4中,自動識別縫合邊界后,可能存在少量不正確的縫合關(guān)系。因此,需要對錯誤的縫合關(guān)系進(jìn)行修正。紙樣邊界縫合信息的修改可采用交互的方法:即交互地選擇兩根紙樣的邊界,增加或刪除它們之間的縫合關(guān)系。
采用上述技術(shù)方案,設(shè)計師只要將二維服裝紙樣放置到三維人體周圍合適的位置,就能自動計算出二維服裝紙樣的縫合對應(yīng)關(guān)系。建立紙樣的縫合關(guān)系后,需要對紙樣的邊界進(jìn)行離散化,再對二維服裝紙樣進(jìn)行網(wǎng)格化,用于進(jìn)一步的三維服裝縫合模擬。
該發(fā)明可以應(yīng)用于服裝設(shè)計相關(guān)的領(lǐng)域,可以提高三維服裝設(shè)計的效率。相對手工交互或半自動的方法,該方法設(shè)置紙樣縫合關(guān)系的速度快,自動化程度高;另外,該方法操作方便,設(shè)計師只要在三維人體模型周圍擺放好三維紙樣的位置就可以自動設(shè)置二維服裝紙樣的縫合對應(yīng)關(guān)系。采用該技術(shù)方案降低了三維服裝設(shè)計操作的復(fù)雜度,可以被專業(yè)的服裝設(shè)計師和普通用戶使用。
附圖說明
圖1:本發(fā)明總體流程圖
圖2:三維人體模型
圖3:二維服裝紙樣
圖4:三維服裝紙樣擺放在人體模型周圍
圖5:縫合關(guān)系示意圖
圖6:自身不縫合性
圖7:縫合線的非干涉性
圖8:三維服裝紙樣的縫合關(guān)系圖
圖9:二維服裝紙樣的縫合關(guān)系圖
圖10:縫合后的三維服裝模型
具體實施方式
本實施例涉及一種服裝紙樣的縫合信息自動設(shè)置方法,它的總體步驟參見圖1。
步驟1:在計算機(jī)中讀入一個三維人體模型。三維人體模型可用三角形網(wǎng)格曲面或四邊形網(wǎng)格曲面表示。圖2顯示的是一個用于服裝設(shè)計的全身人體模型。該專利涉及的三維人體不僅包括全身人體,還包括各種用于服裝立體裁剪的2/3身或半身的人體模型。人體的姿勢應(yīng)該直立并且手臂是向兩側(cè)張開的,便于三維服裝的縫制模擬。
步驟2:讀入二維服裝紙樣。二維服裝紙樣的邊界是由直線與曲線組成的,如圖3所示。二維服裝紙樣可以通過二維設(shè)計的方法直接設(shè)計得到,也可以通過三維曲面展開的方法設(shè)計得到。曲面展開的方法采用發(fā)明專利:一種基于立體裁剪的三維服裝造型與紙樣設(shè)計方法,2011年,專利授權(quán)號:20110312749.6中的方法。
步驟3:將二維服裝紙樣擺放到三維人體模型周圍,如圖4所示。其目的是便于紙樣的縫合信息識別與服裝的縫合模擬。三維紙樣空間位置的放置可通過交互或自動方法實現(xiàn)。交互的方法采用鼠標(biāo)與手勢等交互工具,將二維紙樣進(jìn)行旋轉(zhuǎn)與移動,放置到三維人體模型表面的周圍。三維紙樣的空間位置應(yīng)該與人體的部位對應(yīng),比如,前身紙樣應(yīng)該放置到人體上半身的前面,袖子應(yīng)該放置到手臂的周圍。自動放置方法可采用發(fā)明專利(申請?zhí)枺?01510583218.9:一種三維服裝紙樣的空間位置自動設(shè)置方法)中的方法,通過二維平面中二維紙樣與人體輪廓的相對位置確定三維服裝紙樣在三維人體上的相對位置。在將二維紙樣放置到三維人體之前,需要將二維紙樣進(jìn)行網(wǎng)格化,使得將二維服裝放置到三維空間后,三維紙樣的形狀會發(fā)生改變,能更貼近三維人體的表面,從而提高縫合信息識別的準(zhǔn)確度和服裝模擬的速度和質(zhì)量。二維紙樣網(wǎng)格化的方法參見文章Triangle:A two-dimensional quality mesh generator and Delauney triangulator.Jonathan Richard Shewchuk,University of California of Berkeley(三角形:一個高質(zhì)量的二維網(wǎng)格生成器和Delauney三角化生成器,Jonathan Richard Shewchuk,加州大學(xué)伯克利分校)中的方法。
步驟4:利用三維服裝紙樣的空間位置關(guān)系與紙樣縫合邊界的特征,自動識別紙樣的縫合信息。紙樣的縫合信息通過縫合線表達(dá)出來。為了表示兩根邊界線具有縫合關(guān)系,我們用一根虛線連接兩根紙樣邊界的中點(diǎn),如圖5、(a)所示。該虛線即為縫合線。在一般情況下,一根邊界線僅對應(yīng)另外一根邊界線,我們稱之為單一縫合。有時,一根紙樣的邊界線會與多根邊界線縫合,我們稱之為多重縫合。如圖5、(b)所示,邊界線A與邊界線B和C縫合在一起。為了處理多重縫合的情況,我們在邊界線A上按長度比例插入一個虛擬分割點(diǎn)將該邊界線虛擬地分為兩段,從而使得每一段邊界線都對應(yīng)一根邊界線。這樣,多重縫合的情況可以被轉(zhuǎn)化為單一縫合的情況進(jìn)行處理。因此,在自動識別紙樣的縫合信息前,針對多重縫合的情況,我們需要交互地在一些二維紙樣邊界線上插入虛擬分割點(diǎn)。多重縫合還存在另外一種情況,就是多層布料縫合,如一根邊界線與另外兩根具有類似長度的邊界線縫合在一起,而這兩根邊界線分別屬于兩片重疊的紙樣。對于這種情況,我們可以按正常的縫合線進(jìn)行處理。
我們采用的紙樣縫合信息識別方法是:根據(jù)縫合邊界的特征與屬性,包括邊長相似性、曲率相似性、距離最短、法向相對性、非干涉性、非縫合邊界和縫合約束等,采用三維紙樣邊界距離優(yōu)先的原則,檢查縫合線的合理性,自動識別出紙樣的縫合邊界信息。具體來說,對于每一根紙樣邊界,我們根據(jù)其長度和曲率相似性首先找出可能縫合的所有邊界,再根據(jù)法向相對性、自身不縫合性、非干涉性和縫合約束等特性進(jìn)行合理性檢查,從所有潛在合理的縫合邊界中找出最短距離的一根邊界性,將其設(shè)置為縫合邊界。
紙樣邊界縫合信息自動識別的算法用偽代碼表示如下:
在以上的算法中,一些符號的表示意義如下:
·PNi表示第i片紙樣,其中,i=0,1,,,M,M為紙樣的數(shù)量。
·LNi,j表示紙樣PNi的邊界,其中,i=0,1,…,M,j=0,1,…,Ni,M為紙樣的數(shù)量,Ni為紙樣PNi上的邊界線數(shù)量。
·SLi,j表示紙樣邊界LNi,j的縫合線。SLi,j={m,n}表示第i片紙樣的第j根邊界線與第m片紙樣的第n根邊界線縫合;SLi,j={-1,-1}表示邊界線LNi,j沒有縫合邊。
在算法Line 1~3中,在自動識別縫合信息之前,我們需要對所有紙樣的邊界做預(yù)處理,包括:(a)計算紙樣邊界的長度;(b)計算紙樣邊界的曲率;(c)計算紙樣邊界的法向矢量;(d)人工設(shè)定或自動識別非縫合邊界線與特殊邊界線,包括衣領(lǐng)線、肩線、袖籠線、中心線等等。
非縫合邊界線與特殊的邊界線可以通過人工交互的方式進(jìn)行設(shè)定,也可以根據(jù)紙樣的特點(diǎn)以及它們與人體部位的相對關(guān)系自動識別。比如,對于帶有下擺線的上衣紙樣,它的下方不存在其它紙樣,下擺線是該紙樣最底部的一根邊界線。對于衣領(lǐng)上的非縫合線,其所在的衣領(lǐng)紙樣位于人體頸部附近最高的位置,紙樣頂部的邊界線屬于非縫合線。
在算法Line 5~26中,對于每一根紙樣邊界,我們根據(jù)其長度和曲率相似性首先找出可能縫合的所有邊界,再進(jìn)行合理性檢查,從所有潛在合理的縫合邊界中找出最短距離的一根邊界線,將其設(shè)置為縫合邊界。在算法中,如果兩根紙樣邊界線的長度和曲率差小于一定的閥值,我們就認(rèn)為它們的長度與曲率是相似的。
在算法Line 21中,檢查兩根紙樣邊界縫合線的合理性主要是檢查法向相對性、自身不縫合性、非干涉性和縫合約束。它們的檢查方法如下:
2)法向相對性檢查:假設(shè)兩根邊界線LNi,j和LNm,n,它們的中點(diǎn)分別為Pi,j和Pm,n,它們的法向分別為Ni,j和Nm,n,矢量Vi,j=Pm,n-Pi,j,Vm,n=Pi,j-Pm,n,法向相對性要求矢量Vi,j和Ni,j的夾角以及矢量Vm,n和Nm,n的夾角都小于90度。這里,中點(diǎn)和法向都是根據(jù)三維紙樣進(jìn)行計算的。
3)自身不縫合性檢查:除了省道和環(huán)狀的紙樣邊界,一般情況下,同一片紙樣中的兩根縫合線是不能縫合到一起的。因此,當(dāng)一根縫合線連接同一片紙樣上的兩根邊界時,需要檢查它們是否屬于省道線或者環(huán)狀的紙樣邊界,否則它們會被認(rèn)為是無效的縫合線。圖6、(a)為一片上衣前片,其中,邊界A和B組成一個省道。省道的特點(diǎn)是兩根邊界線相連,邊界線長度類似,并且它們之間的夾角比較小。圖6、(b)是袖子的紙樣,它為環(huán)狀的紙樣,即邊界A和B是縫合在一起的。在三維空間中,環(huán)狀縫合的邊界線也符合法向相對性的原則。環(huán)狀縫合線的另一個特點(diǎn)是,在二維平面中,將縫合線向兩端延伸,它不會與該紙樣上的其它邊界相交。如圖6、(a)中的邊界C和D,雖然它們的長度類似,也滿足法向相對性,但是如果連接它們的中點(diǎn),并且向兩端延伸,則延長線會與其它邊界線相交,因此,它們被認(rèn)為是無效的縫合線。
4)非干涉性檢查:一般情況下,縫合線不與人體模型相交,也不與其它三維紙樣相交。如圖7、(a)中,紙樣邊界A和B的連線與人體模型沒有相交,它們之間的縫合線可能是合理的;紙樣邊界C和D的連線與人體模型相交,它們之間的縫合線被認(rèn)為是不合理的。在圖7、(b)中,紙樣邊界A和B的連線與另外一片紙樣相交,則它們之間的縫合線會被認(rèn)為是不合理的。干涉性的檢查也是在三維空間中進(jìn)行的。
5)縫合約束檢查:通過縫合約束可以排除一些不合理的縫合線。首先要判斷一根縫合線對應(yīng)的紙樣邊界是否屬于特定的邊界線,如肩線、袖籠線、頸線、衣領(lǐng)線、中心線等。如果是的話,檢查縫合線是否符合縫合的規(guī)則與約束,包括前片紙樣的肩線必須與后片紙樣的肩線縫合在一起,身體紙樣的袖籠線只能與袖子紙樣的袖籠線縫合在一起,袖子紙樣的邊界線(不包括袖籠線邊界)不能與身體紙樣的邊界縫合等。
在自動識別紙樣的縫合信息中,可能存在一些不正確或矛盾的縫合信息。假設(shè)三根邊界線A、B、C,其中A與B之間的距離大于B與C之間的距離。如果A對應(yīng)的縫合邊界為B,而B對應(yīng)的縫合邊界為C。這時,如果A、B和C不屬于多重縫合的關(guān)系,由于縫合線A與B的距離大于B與C的距離,我們認(rèn)為B與C的縫合關(guān)系是有效的,而A與B之間的縫合關(guān)系是無效的。對于邊界A,我們需要重新搜索其對應(yīng)的縫合邊界線。
步驟5:檢查自動識別的縫合信息,并修正不正確的縫合關(guān)系。采用步驟4的算法自動識別縫合信息后,可能存在少量不正確的紙樣縫合關(guān)系。因此,需要對錯誤的縫合關(guān)系進(jìn)行修正。紙樣縫合信息的修改可采用交互的方法:即用鼠標(biāo)等工具交互地選擇兩根紙樣的邊界,增加或刪除它們之間的縫合關(guān)系,直到所有的縫合信息正確為止。圖8顯示三維的服裝紙樣及其縫合信息,其中,紙樣邊界上每對具有縫合關(guān)系的點(diǎn)用一根線連接起來,表示它們將被縫合到一起。圖9顯示二維紙樣的縫合信息,其中,每兩根具有縫合對應(yīng)關(guān)系的紙樣邊界用一根虛線連接起來。該虛線就是縫合線,表示這兩根邊界具有縫合線關(guān)系。
建立紙樣的縫合關(guān)系后,需要根據(jù)縫合對應(yīng)關(guān)系重新將全部二維紙樣進(jìn)行網(wǎng)格化。在網(wǎng)格化之前,需要將二維紙樣邊界進(jìn)行離散化。邊界的離散化要求每兩根縫合對應(yīng)邊界的離散點(diǎn)數(shù)量相同,以保證它們能被正確地縫合在一起。圖9也顯示了網(wǎng)格模型下的三維紙樣網(wǎng)格。二維紙樣網(wǎng)格化的方法與步驟3中的方法相同。在服裝縫合模擬時,根據(jù)二維服裝紙樣在人體周圍空間中的位置,采用物理模型,在縫合邊上的每對網(wǎng)格頂點(diǎn)上施加拉力,就可以將二維服裝紙樣縫合為三維服裝模型,如圖10所示。
該實施例利用三維服裝紙樣的空間位置關(guān)系與紙樣縫合邊界的特征,通過自動識別的方法建立紙樣縫合對應(yīng)關(guān)系,為下一步的三維服裝的縫合模擬做好準(zhǔn)備。該方法具有速度快、準(zhǔn)確度高、操作簡單的特點(diǎn)。