服裝三維造型是三維服裝計算機輔助設計(garment computer-aided design,GCAD)的基礎,通過三維服裝的立體裁剪和曲面展開得到相應的二維裁片。因此服裝三維建模已經引起了很多學者的關注,提出了較多的有關服裝模型的構建方法。Hinds等提出了一種在人體模型的基礎上定義一系列位移曲面片的三維服裝造型方法;Au等用分片的Bezier曲面來擬合人體模型曲面,為服裝模型的構建提供借鑒;McCartney等對三維GCAD的設計框架進行了概略性的描述;Lee等通過人體測量和選取已有的服裝款式生成個性化服裝,但用戶不能進行個性化修改;Xu等提出了用分片思想對人體半身模型用若干個Coons曲面進行擬合拼接的算法,適合于服裝大規模定制的服裝曲面構建。
參數化方法已經在機械等產品設計領域取得了豐碩的成果,如何將參數化方法引入服裝設計是目前GCAD研究的熱點,Au等通過建立服裝特征曲面間的約束,為服裝造型以曲線、曲面為幾何元素的參數化造型提供了一種可能;Wang等在他的服裝網格曲面構建中,用統一的特征網格來表征服裝與人體模型之間的特征對應,為服裝模型的參數化建立提供了有益的啟示。服裝特征線是眼裝的重要特征信息,而且參數化的特征線有尺寸和約束等參數化特征,因此基于特征線的服裝參數化造型方法受到特殊關注,徐文鵬等在服裝參數化模型的約束求解方面做了有益的探索;Chen等提出了利用衣袖特征線網絡構建參數化的衣袖模型,并對衣袖模型作多種交互編輯操作。提出將服裝特征參數化造型方法和服裝自動化可重用設計聯合起來進行服裝模型設計。
本文在對服裝模型的造型要求和特征線設計分析的基礎之上,將服裝模型分為人體定位和自定位2類,并針對自定位類進行詳細探討,首先通過對人體特征信息的處理得到服裝原始截面環,對原始截面環做一系列操作,得到服裝截面環,通過截面環的極值點提取得到服裝輪廓線;然后進行截面環調整、輪廓線調整、特征線綜合調整,得到服裝特征框架曲線網絡,對該曲線網絡施加約束,得到服裝參數化特征框架,并利用曲面插值技術,得到最終的服裝曲面參數化模型。
1 人體模型及服裝模型特征線設計
三維人體模型是三維服裝設計的基礎,可以利用創建法和重建法來構建用于服裝設計的人體模型。利用重建法能快速、準確地得到真實人體模型,已得到廣泛應用,本文針對三維真實人體或模型人體得到的掃描數據,經過去噪、三角網格連接、網格簡化、特征識別與提取、曲面光順等一系列處理,最終得到用于服裝設計的光順人體,如圖1所示。光順人體模型能為服裝設計提供豐富的特征信息。
圖1 用于三維服裝設計的人體模型
在GCAD中,合理的服裝特征線設計非常重要,它不僅直接影響到服裝造型和變形的難易程度,還會影響到用戶使用的舒適性.進行服裝特征線設計應該考慮綜合以下3個基本原則:
1)語義性,輪廓線包絡服裝曲面,反映服裝的輪廓形狀,截面線反映圍度尺寸。
2)交互性,將服裝模型投影到正視圖、側視圖和俯視圖中,可以便捷地進行交互操作,特征線在三維和二維不能自相交,特征線二維投影對交互操作有跟隨性。
3)簡潔性,特征線把服裝曲面分成若干子面片,服裝特征線采取經緯線的交叉形式,面片數目和曲線數目要適中。
通過以上分析,根據服裝部件模型的實際情況,可以將服裝部件分為2類:
1)基于模型自身中心線定位(I類部件)。這類服裝部件常常通過一條曲線和上衣衣身連接,人體為服裝提供的特征信息僅僅為一些包括長度和角度在內的尺寸參數,服裝部件空間活動范圍較大,形體的空間復雜度也較大,模型編輯較為靈活。該類服裝部件以衣袖為代表,還包括衣袖、衣領、口袋、帽子、圍巾等。
2)基于人體模型定位(II類部件)。這類服裝部件一般與人體發生曲面接觸,人體可以為服裝部件提供特征點、線、面等之類的特征信息,服裝部件編輯時需要受到人體的較多約束,該類服裝部件以上衣衣身為代表,還包括褲子、裙子,連體衣是上衣和褲子的集成,也屬于此類。
服裝部件的以上特點,使得在這2類服裝部件的特征線設計和參數化模型生成方面有所不同,限于篇幅,考慮到連體衣兼具上衣和褲子的造型特征,本文主要結合連體衣來闡述II類服裝部件的造型方法,I類服裝部件的造型方法見文獻。
2 服裝特征線框架生成
依據特征線設計原則,可以將連體衣的特征線分為截面線和輪廓線2類,截面線為服裝關鍵部位的截面環線,輪廓線為連接特征線并反映服裝輪廓的特征線。人體模型為服裝設計提供了特征線的參考信息,通過對人體曲面的相關處理,提取截面特征線和輪廓特征線,并分別調整這2類曲線;然后對截面線和輪廓線做綜合調整,得到服裝特征線框架,對服裝特征框架添加約束,對特征線框架實行參數化變形后,通過約束求解技術得到再生的服裝特征線框架,因此服裝特征線框架是服裝參數化模型建模的重點。基于特征線框架利用曲面生成技術,即可得到服裝曲面模型,如圖2所示。
圖2 服裝特征線提取流程圖
2.1 截面環初始生成
利用平面與人體曲面相交算法可得到初始服裝截面環。根據切割平面的法向量,可將切平面分為3類:
1)水平切平面。如圖3a所示,通過人體的腳踝點、膝蓋點、胯部點、臀部點、腰圍點、乳頭點、腋窩點、前頸點、腋窩點與左肩點的中間點作水平切面,該切平面與人體曲面相交后可以得到一系列的水平截面環。
2)接近水平的切平面。如圖3b所示,對于頸部下端截面線,其切平面由前頸點、左頸點和右頸點3點確定。將該切平面向上平移一段距離就可以得到頸部上端截面線的切平面。
3)豎直或接近豎直切面,如圖3c所示,襠部截面線的切平面與水平面垂直,而肩帶環切平面的法向量與X軸成一個小角度。
經過以上切割操作,可以得到截面環的按照順時針或者逆時針排列的一系列頂點{vi}n1,將環上的點稱為型值點,初始生成的型值點排列不均勻,需要做后續處理。
圖3 截面環處理
2.2 截面環的處理
截面環的處理包括:曲線凸處理、曲線重采樣、曲線與人體的間隙調整、曲線擬合。
1)曲線凸處理
由于人體曲面凹凸不平,得到的截面線就存在凹環,如衣服胸部的截面環,為了保證輪廓線的包絡性,需要將這些凹截面線變成凸曲線,步驟如下:
Step1.由于型值點{vi}n1都位于一平面上,故一定可得到一個矩形包圍盒,然后可以得到4個極值點,如圖4中的黑點所示。
Step2.連接4個極值點,確定多邊形的方向,取3個連續的極值點V1,V2和V3,取
Bool flag=sign(V1-V2,V3-V2)。
Step3.遍歷{vi}n1,取3個連續的點vi-1,vi和vi+1,若sign(vi-1-vi,vi+1-vi)的值和flag相反,則刪除vi。
Step4.重復Step3,直到完整遍歷{vi}n1一次而沒有任何一個點可刪除時停止。
通過以上凸處理步驟,截面環即可轉化為一個凸環。
2)去線重采樣
在凸處理階段刪除某些型值點后,型值點之間的距離間隔將會不均勻,需要根據4個極值點對環上的型值點重采樣,重采樣的規則是根據極值點等距離均值采樣,對于封閉環,按照凸處理中的Step1搜索環的4個極值點,分4段進行等距離均值采樣;對于非封閉的特殊環,則需搜索中間點,然后分2段進行等距離均值采樣。
3)曲線與人體的間隙調整
通過以上處理,得到一個緊貼人體截面的截面環且和人體在該處的截面環形成同心結構,如圖4所示。為方便描述,設服裝截面環為外環,人體截面環為內環。外環和內環之間存在一定的間隙,假定間隙均勻,則需要調整外環的型值點。根據內環4個極值點求取內環變形中心,由于人體是左右對稱的,根據這4個極值點即可得到變形中心O,連接某型值點A與點O,設OA與人體截面環的交點為調整基點B,A變形以后的點為A',線段AB的長度作為間隙值,要求點A只能沿著OB的射線方向滑動,通過調整間隙值就可以得到與內環具有不同間隙的外環,內環和外環的型值點越多,間隙調整就越精確,間隙調整完成以后,按照重采樣的步驟重新更新型值點。
4)曲線擬合
一般服裝截面環有20~60個型值點,可以選取包括4個極值點在內的8~12個點作為控制點,通過這些控制點生成曲線來擬合截面線的型值點,如圖4c所示,樣條線的離散點和型值點不可能完全重合,為取得統一,可以將樣條線的離散點作為型值點進行重采樣,重采樣后的型值點作為最終的型值點。
圖4 服裝截面環與人體截面環間隙調整
2.3 輪廓線初始生成
服裝曲面不是封閉曲面,因此輪廓線有2種類型,一種是由曲面邊界點擬合形成的輪廓線,如袖窿、領口;另一種是通過對網格平面投影得到的輪廓線,如衣身的左右前后輪廓線,生成輪廓線的步驟如下:
Step1.邊界輪廓線實質就是截面線,采取和界面輪廓線相同的方法生成邊界輪廓線。
Step2.連接截面環的極值點生成曲面投影輪廓線。
Step3.連接截面環的極值點作為輪廓線的控制點,并參考人體曲面適當添加和插入新的控制點,通過這些控制點即可擬合輪廓線。
2.4 輪廓線調整
服裝分為寬松和貼體2種,寬松的服裝初始生成的輪廓線需要調整。可以用2種方法來調整輪廓線:
1)根據生理特點訶整.初始的輪廓樣條線非常貼合人體,但是根據衣服設計的特點,寬松連體衣的褲腿部分輪廓線通常近似一條直線,如圖5所示,初始生成的褲子輪廓線如果緊貼人體大腿,會造成穿衣者的不適感,而調整后的輪廓線筆直挺拔而有美感。
圖5 連體衣橫截面示意圖
2)根據截面環調整,截面環具有非常強的特征語義和尺寸語義,有些截面環是不能變動的,當截面環和輪廓線的交點不是輪廓線的控制點時,需要保持截面環不變而調整輪廓線。調整的方法稱為虛擬添加控制點法,即假定截面線和輪廓線的交點為輪廓線的虛擬控制點,將該虛擬控制點插入輪廓線的控制點序列;再擬合輪廓線,該截面環處存在一個輪廓線的虛擬控制點,將有虛擬控制點的輪廓線代替原來的輪廓線。
2.5 截面線和輪廓線的綜合調整
對截面線或者輪廓線的局部調整會導致某些截面線和輪廓線的約束關系被破壞,必須對截面線和輪廓線做綜合調整,在以上步驟中,截面線調整在前,輪廓線調整在后,因此在輪廓線調整之后,需要對截面線進行微調,如圖5所示。調整的方法主要是根據輪廓線對截面環進行變形,截面環投影在XOZ平面上,以截面環的變形中心和4個極值點連線構建局部坐標系XOZ,如圖4b所示,截面環的變形以局部坐標系為參照。為保持截面環的變形相似性,極值點的變動量決定該方向上最大變動量,其他點按照該方向上的坐標分量線性比例分配。
3 服裝約束
當服裝特征線框架初始生成完成以后,必須為曲線添加約束,服裝約束比較復雜,本文將約束簡單地分為曲線自身約束和曲線之間約束。曲線自身約束主要處理曲線所有控制點之間的一些約束關系,如要求所有控制點在一個平面上,曲線在空間中關于某條直線對稱等;而曲線之間的約束主要處理曲線和曲線整體之間的關系,如曲線相切、曲線共面等。由于各種服裝部件的約束設置各不相同,而且上衣或者連體衣的特征線較多,本文以連體衣的腰部特征截面線和右輪廓線為例講述服裝約束添加,其他特征線約束添加可類似處理。
1)腰部截面線自身。空間左右自對稱約束,要求其控制點左右對稱;共面約束,所有控制點都在一個平面上;多邊形約束,要求所有控制點在一個多邊形內;單環約束,所有控制點在人體腰部截面環外;自相交約束,特征線不能白相交。
2)右輪廓線自身。自相交約束,輪廓線不能自相交;多邊形約束,輪廓控制點需要在人體輪廓線和通過其鄰近控制點的水平線構成的一個多邊形內。
3)截面線和輪廓線。共點約束,兩線保持在某點相交;相切約束,兩線保持在共點處相切。
曲線約束系統的約束復雜,可以用矩陣形式來存儲這些約束信息。設CNet是參數曲線網絡,ci是第i條曲線,CNet=(c0,c1,…,cn-1,M)。
其中,矩陣元素gij是第i條曲線和第j條曲線的約束;Eij是構成約束gij且有向排列的約束元素,即為曲線ci和cj,Cij是gij的約束類型,對于有向約束,Eij≠Eji;對于非有向約束,Eij=Eji。曲線之間可能不止一個約束,矩陣中的每個元素也可以是多個約束組成的集合,曲線之間的約束求解與傳統約束求解有諸多不同,在完備約束的情況下,傳統約束求解可以通過求解非線性方程組的形式得到一個數值剛性解,而且只要愿意,可以達到很高的數值精度,曲線約束系統無法用非線性方程組來統一表達,曲線約束系統有以下特點:
1)層次性。每個約束的求解重要性是不同的,因此約束的滿足度是分層次的。
2)驅動性。約束元素根據是否被正在編輯分為主動元素和被動元素,當編輯行為由主動元素傳遞到被動元素時,約束就存在驅動性。
3)動態性。約束因為驅動性而表現動態性,即約束在動態和靜態時其重要性不同。
正是因為曲線約束有以上特點,其約束求解只能根據一定的原則和機制確定約束重要性,再根據約束的重要性確定約束求解的順序,然后再依次求解。限于篇幅,關于曲線約束求解我們將另文撰述。
4 基于特征線框架的服裝曲面生成
服裝曲面生成是依據邊界插值生成曲面,如圖6所示。插值得到的曲面是參數曲面,對曲面進行均勻采樣即可得到網格曲面,因此重點是參數曲面的生成,特征線將服裝曲面分為多個曲面片,這些曲面片有四邊面、筒狀面和三邊面,四邊面采用給定4條邊界的雙線性插值Coons曲面的方法;筒狀面由上下環和4條輪廓線構成,在插值時,將其分為4個四邊面片即可。
以上方法要求給定的曲面邊界為三維曲線,如筒狀面,就要求其上下環和4條輪廓線都為三維曲線,但是在實際造型中,輪廓線是在二維平面上編輯的,將二維輪廓線轉化為三維輪廓線的難度較大,下面以上衣和袖子來說明這個問題。
圖6 曲面生成方法
上衣與人體緊密相關,人體模型有著和上衣類似的輪廓線,上衣輪廓線在二維編輯完后可以參照人體輪廓線恢復出三維輪廓線信息,衣袖曲面的輪廓線在二維編輯完成后,在將二維輪廓線轉化為三一維輪廓線時,無法參照其他模型,尤其是輪廓線在垂直于編輯平面的方向上縱深較大時,輪廓線不能精確地恢復為三維輪廓線,可以采取參考面生成法來得到衣袖曲面,如圖7c所示,C1和C2為衣袖的2個環線,且它們滿足共面的約束,因此利用線性插值法可得到平面Ⅱ及具有共面約束的環線C4,通過對C4的變形得到最終的環線C3,利用這種方法可以生成衣袖的最終曲面。
圖7 衣袖曲面生成
在服裝分片曲面插值生成后,需要根據它們的邊界線進行曲面拼接,從而完成整個服裝曲面生成,拼接結果應該滿足位置連續的要求.在以上曲面分片插值時,邊界線及其切向量已經生成,故得到的曲面是能夠滿足位置且向量連續的。
5 實例與結論
利用本文方法,如圖8所示,連體衣共有34條曲線,衣袖模型共有9條曲線(左或右半部分)。在服裝參數化模型建立完成以后就可以對該模型進行參數化變形.圖9所示為對圖8中的2種服裝作參數化變形,可以看出,由于用于變形的尺寸較多,尺寸只能首先對特征框架線做出變形,根據約束求解后再生成新的服裝特征線框架,進而生成服裝曲面,圖10所示為在服裝三維模型上通過立體裁剪技術制作各種三維款式的服裝,利用三維曲面交互或自動切割技術得到分片的三維服裝衣片,再利用服裝展開技術即可得到服裝二維款式裁片。
圖8 連體衣和衣袖模型圖
圖9 連體衣和衣袖參數化變形界面圖
圖10 依據服裝三維模型進行立體裁剪得到多款式服裝
本文方法采用服裝特征線作為服裝造型的基本元素,具有以下優點:
1)能較好地表征服裝尺寸特征信息.服裝尺寸信息大多是利用曲線來表達的,因此利用服裝特征線來構建服裝參數化模型是非常自然的想法,能很好地滿足服裝設計要求。
2)能較好地支撐服裝模型參數化設計,以服裝特征線作為服裝曲面生成的邊界線,以服裝特征線框架為服裝參數化的基本對象,使得服裝曲面結構和服裝特征尺寸能很好地關聯,并能為服裝提供多種驅動方式的編輯方式。
3)能較好地提高服裝模型各種處理算法性能,利用特征線來分區服裝曲面將為服裝分片處理提供方便,降低服裝三維設計的復雜度。
4)能保持較高的服裝模型精度,尺寸可以直接驅動其相關的特征線變形并能達到較高的精度,同時可以使服裝曲面的拓撲完全獨立于人體曲面的拓撲,實現服裝網格曲面拓撲的動態改變,為服裝草圖設計提供非常靈活的支撐。
本文方法具有較多優點,因此適應面廣,可以用于上衣、褲子、連體衣、袖子、領子等幾乎所有服裝部件,我們下一步工作的重點是基于特征點和特征進行服裝參數化造型。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于特征線的三維服裝部件參數化造型