王 旭, 儲長流, 倪慶清, 劉新華,2
(1. 安徽工程大學 紡織服裝學院, 安徽 蕪湖 241000; 2. 安徽工程大學 紡織科技公共服務平臺,安徽 蕪湖 241000; 3. 信州大學 纖維學部, 日本 長野 3868567)
機織物結構三維建模研究對掌握紗線空間形態、織物形成規律及結構設計具有重要意義。機織物結構三維建模的任務是建立紗線及機織物結構的三維模型并借助計算機進行立體化的表現。機織物模擬分為紗線模擬和結構模擬兩部分,前者從微觀層面模擬紗線截面形態、捻度、紋理等效果,后者從宏觀層面模擬紗線相互交織形成的機織物結構。
在紗線模擬方面,文獻[1]以NURBS曲面模擬紗線的三維實體,并結合紋理映射模擬出紗線表面的紋理效果。文獻[2-3]以NURBS曲線構造圓形、橢圓形、跑道形等不同形式的紗線截面,結合B樣條曲面進行分段裝配形成紗線的三維模型,并通過對紗線截面控制點的隨機擾動實現紗線的捻度效果。文獻[4-6]采用變截面方式建立了紗線三維模型,并運用VC++和Open GL軟件對平紋織物進行了三維模擬。在結構模擬方面,以分段連續三次B樣條曲線描述紗線的屈曲形態,建立了不同結構參數條件下的機織物三維模型。張瑞林等[7]以Peirce模型為基礎,采用Beizer曲線模擬紗線路徑,并運用VC++和Open GL軟件建立了機織物的三維結構。顧平等[8]采用3ds Max軟件的交互式操作,逐個建立紗線軸線,并以圓形截面放樣建模產生紗線的三維模型。谷大鵬等[9]通過將經緯紗按照交叉情況分為8個基本組元,根據織物交織規律確定組元位置信息,并借助MatLab軟件編程以組元結合的方法,建立了機織物的三維模型。傳統的機織物結構三維建模,過多的依賴人機交互,建模過程復雜且效率不高。
由于機織物結構在空間變化上具有周期性,即經、緯紗線的空間屈曲狀態隨完全組織經緯紗數呈現周期性分布的規律,為采用計算機程序設計機織物結構三維模型提供了方便,因此,本文根據機織物結構相理論確定紗線軸線屈曲形態的型值點的數量及坐標,運用3ds Max軟件內嵌的Maxscript語言實現紗線和機織物結構三維模型的快速建立。
紗線是構成機織物的基本單元。紗線的實際結構非常復雜,以環錠紗為例,若干根纖維經加捻形成紗體,暴露在紗體外的纖維頭端形成毛羽,同時紗線材質、直徑、織物組織和受力變形等因素的不同,導致織物的幾何結構非常復雜。機織物幾何結構相理論是定量描述機織物中經、緯紗空間彎曲狀態及其相互配置關系的理論。為簡化描述,一般將紗線作為整體,紗線截面用圓形、橢圓形、跑道形等近似。通常定義經、緯紗屈曲波高之比或屈曲波高與經緯紗直徑和之比,作為機織物幾何結構相的量化標準。
機織物幾何結構相理論有以下5種:1)利用經緯紗屈曲波高的比值描述。2)9個狀態結構相理論,利用經、緯紗直徑dj、dw和經、緯紗屈曲波高hj、hw的關系構成的9個狀態,即規定hj、hw每變動(dj+dw)/8形成一個狀態,其中經紗伸直(hj=0),緯紗最大屈曲(hw=dj+dw)為第1結構相,hj、hw分別遞增、遞減(dj+dw)/8,依次得第2,3,…,直到經紗最大屈曲(hj=dj+dw),緯紗伸直(hw=0)為第9結構相。3)11個狀態結構相理論,利用hj、hw每變動(dj+dw)/10形成的11個狀態。4)21個狀態結構相理論,在11個狀態結構相理論基礎上每2個結構相之間再劃分出1個結構相,即第1,1.5,2,…,10.5,11,共形成21個狀態。5)運用相對屈曲波高修正的結構相理論,以紗線絕對屈曲波高與1個組織循環中紗線所占的寬度的比值,即經紗(或緯紗)的絕對屈曲波高與組織循環的緯紗(或經紗)所占寬度的比值作為經紗(或緯紗)相對屈曲波高[10]。


圖1 平紋組織第5結構相示意圖Fig.1 Scheme of fifth structure phase of plain weave

圖2 斜紋組織第5結構相示意圖Fig.2 Scheme of fifth structure phase of twill weave
機織物結構三維建模思路是運用插值由型值點坐標產生紗線軸線曲線,并按照紗線交織規律組合形成織物。型值點是描述曲線幾何形狀的代表性數據點。由型值點坐標通過函數插值是曲線建模的常用方法。其中分段連續B樣條函數和非均勻有理B樣條(non-uniform rational B-splines,NURBS)函數是自由曲線曲面設計中應用最廣泛的方法[11]。分段連續三次B樣條曲線是通過將紗線屈曲形態作為分段連續的三次樣條曲線來對待[6],而本文選擇NURBS曲線具有的非均勻性使得曲線一個控制頂點的影響力范圍可變,即曲線在局部調整上具有靈活性,更加適合表達紗線復雜的屈曲形態。
機織物結構三維建模分3個步驟:
1)根據織物組織確定紗線軸線的型值點數量,并建立型值點坐標與織物結構參數的關系。
2)通過3ds Max軟件內嵌的MAXScript語言,根據型值點坐標運用樣條插值函數產生紗線軸線。
3)根據經、緯紗空間位置關系實現機織物結構的三維建模。
上述建模過程中,型值點的數量及其坐標的確定是建模過程的關鍵。
由于織物交織規律具有周期性,故只需建立1個完全組織內紗線軸線的各型值點坐標,即可沿經緯向延拓,產生整個織物紗線軸線的型值點坐標。由圖1、2可知,結構相確定后紗線的屈曲狀態主要受紗線直徑和織物組織影響。經浮點處,經紗屈曲波達最高點,而其下方緯紗屈曲波達最低點。同理,緯浮點處,緯紗屈曲波達最高點,而其下方經紗屈曲波達最低點。完全組織內每根紗線的型值點數量和完全組織經緯紗數有關。為實現參數化設計,型值點按以下原則布置,紗線上每個組織點的中點及相鄰組織點的中點均布置1個型值點。為區別令前者為型值點I,后者為型值點II,分別如圖3中“●”、“○”的位置。每根紗線型值點數量按式(1)計算:
(1)
式中:Rj、Rw分別表示完全組織經、緯紗數。Nj、Nw分別表示完全組織內各根經紗、緯紗上型值點的數量。如圖3所示2上1下右斜紋,Nj、Nw均為7,即每根經紗或緯紗上均有7個型值點,其中3個型值點I,4個型值點II。

圖3 紗線軸線型值點分布示意圖Fig.3 Scheme of data points position of yarn axis


圖4 平紋組織紗線軸線型值點示意圖Fig.4 Scheme of data points of yarn axis of plain weave.(a)Perspective; (b)Top view; (c)Left view
由圖4(b)頂視圖,各根紗線型值點的x,y坐標在xoy面上按等間距網格狀分布,而z坐標則可能取0.5、0或-0.5。型值點坐標和織物結構參數間滿足如下規律:




5)經紗軸線型值點I的z坐標取值,經組織點處z取0.5,緯組織點處z取-0.5。型值點II的z坐標取值,根據該點前后組織點性質存在3種可能,如前后均為經組織點則z取0.5,前后均為緯組織點則z取-0.5,前后組織點性質不同則z取0;
6)緯紗軸線型值點I的z坐標取值,緯組織點處z取0.5,經組織點處z取-0.5。型值點II的z坐標取值,根據該點前后組織點關系存在3種可能,如前后均為緯組織點則z取0.5,前后均為經組織點則z取-0.5,前后組織點性質不同則z取0。
以圖4所示的單起平紋為例,令第i根經紗的第j個型值點三維坐標為(xi,j,yi,j,zi,j),經紗型值點坐標與紗線直徑d滿足關系式(2)。
(2)
式中:i=1,2;j=1,2,3,4,5。
同理,緯紗型值點坐標滿足關系式(3)。
(3)
式中:i=1,2;j=1,2,3,4,5。
根據式(2)、(3),取d=1時,單起平紋完全組織內的經、緯紗型值點坐標,分別如表1、2所示。

表1 平紋組織經紗型值點坐標Tab.1 Coordinate of data point of warp of plain weave

表2 平紋組織緯紗型值點坐標Tab.2 Coordinate of data point of weft of plain weave
采用類似上述方法,可以建立不同組織的經緯紗型值點坐標與織物組織參數的關系式。為運用MAXScript語言進行機織物結構的程序化三維建模提供可能。
MAXScript是Autodesk公司為3ds Max軟件開發的腳本語言,具有語法簡單、功能強大的特點,可用于開發相應的程序實現建模、動畫、渲染及場景動態控制等操作。針對結構上具有規律性的機織物結構建模,運用MAXScript編程比傳統的交互式操作效率更高,具體過程包括兩部分:1)由型值點坐標與織物結構參數的關系,計算各型值點三維坐標。2)創建自定義樣條插值函數,由型值點坐標生成紗線軸線,并調整相關參數形成機織物結構三維模型。圖5為MAXScript語言開發的機織物建模程序流程圖。

圖5 程序流程圖Fig.5 Flow diagram of program
程序執行過程如下,首先定義初始參數,包括織物組織矩陣、完全組織經、緯紗數、完全組織循環次數、紗線直徑等。然后計算機織物結構所需要的型值點坐標,并構建SplineShape類對象。一個SplineShape類對象等價于機織物中每根經、緯紗。采用圖5所示的二重循環,建立全部經、緯紗所需要的SplineShape類對象。以經紗為例,n1表示經紗根數,n2表示1根經紗的型值點數,j表示內循環次數變量,即逐個讀入1根經紗的全部型值點坐標,構造出1根經紗的SplineShape對象,并設置其屬性及更新操作,即完成1根經紗的三維模型。i表示外循環次數變量,即根據經紗根數和經紗間距產生全部經紗三維模型。同理,產生全部緯紗三維模型。
MAXScript語言可直接構造SplineShape類對象,實現由型值點生成NURBS曲線。NURBS曲線由分段有理B樣條基函數定義,n+1個控制點Pi(i=0, 1,…,n)的k+1階曲線,如式(4)。
(4)
式中:k為冪次;Wi為控制頂點Pi相對應的權值;Ni,k(u) 為k次樣條基函數。需要注意的是,型值點和NUBRS曲線控制點不同,前者通過曲線,后者一般不通過曲線,而是構成控制多邊形對曲線進行形態控制。
MAXScript語言構造SplineShape類對象的方法[12]包括構造新的SplineShape類對象的addNewspline方法、向SplineShape對象添加型值點的addKnot方法及更新SplineShape對象的updateShape方法。其中addNewSpline和updateShape語法均為:方法名 <對象名>。addKnot語法為addKnot <對象名> <參數1> <參數2> <參數3> <參數4>,其中,參數1為型值點序號,參數2為定義型值點類型,如光滑形smooth,角形corner等,參數3為線段在該型值點的離開類型,如線形line,曲線形curve等,參數4為型值點坐標。例如,addKnot s 1 #smooth #curve [0,20,5],向樣條曲線對象s增加一個坐標為(0,20,5)的光滑形型值點,線段在該型值點的離開類型為曲線形。
SplineShape類對象的基本屬性包括5個[12],其中thickness和sides屬性均為數值型變量。thickness屬性值越大,則樣條線截面直徑越粗。sides屬性值越大,樣條線截面越接近圓形。通過對thickness和sides屬性的調整可表現不同的模型效果。圖6示出不同sides屬性值平紋結構單元的效果。當sides從8提高到36后,可發現模型的光滑性明顯提高。wirecolor屬性反映對象的顏色,采用RGB顏色模型表達不同的色彩,其中R、G、B三色分量值均為0~255范圍內的整數。圖中經紗的R、G、B顏色分量為80、125、220。render_renderable和render_displayRenderMesh屬性分別為對象的可渲染及渲染后的可顯示屬性,均為布爾型變量,用True和False分別表示打開或關閉該屬性。

圖6 紗線不同截面邊數的三維模型Fig.6 3-D model with different section sides. (a) Polygon with 8 sides; (b) Polygon with 36 sides
此外,運用MAXScript語言提供的卷展欄(Rollout)功能,通過用戶界面控件如按鈕(Button)、文本框(Edittext)、下拉列表(Dropdownlist)等[12],設計出機織物組織參數的輸入界面,通過消息驅動(Message Driven)機制,如鼠標單擊等,觸發相應的三維建模代碼模塊的執行,從而能更加方便、快速地實現機織物結構的參數化三維建模。圖7為機織物組織參數輸入界面。用戶可根據模型需要輸入相應的參數,并生成對應的機織物結構三維模型。

圖7 機織物組織參數輸入界面Fig.7 Parameter input interface of woven fabric
3ds MAX的模型顯示窗口,默認由4部分組成,其中左上角為頂視圖,右上角為前視圖,左下角為左視圖,右下角為透視圖。針對大多數普通機織物,由模型的透視圖和頂視圖可觀察機織物的整體交織情況。此外,通過左視圖、前視圖分別可觀察第一經、第一緯的交織情況。圖8示出運用卷展欄功能開發的如圖7所示的機織物組織參數輸入界面。選擇“循環次數”為5,點擊“平紋”按鈕,得到的具有10根經、緯紗的平紋組織三維模型。圖9為分別輸入“交織規律-分子”“交織規律-分母”為2、1,選擇“循環次數”為1,點擊“斜紋”按鈕,得到的斜紋組織三維模型圖。通過調整交織規律、循環次數等參數,還可得到不同的斜紋組織。

圖8 平紋組織三維模型示意圖Fig.8 Scheme of 3-D model of plain weave. (a) Top view; (b) Front view; (c) Left view; (d) Perspective

圖9 斜紋組織三維模型示意圖Fig.9 Scheme of 3-D model of twill weave. (a) Top view; (b) Front view; (c) Left view; (d) Perspective
除了三原組織外,還可根據需要對其他組織進行建模。只要建立型值點坐標和交織規律的關系,就能通過計算機程序生成各型值點的三維坐標,進而實現機織物結構三維模型的構建。圖10為菱形斜紋三維模型。基礎組織311/121,分別輸入“交織規律-分子”“交織規律-分母”為311、121,選擇“循環次數”為2,從斜紋變化下拉列表選擇“菱形斜紋”選項,則產生由32根經紗和32根緯紗的菱形斜紋組織模型。

圖10 菱形斜紋組織三維模型示意圖Fig.10 Scheme of 3-D model of diamond twill weave
上述實例表明,在原理上,運用MAXScript語言構造SplineShape類對象實現機織物結構三維建模和應用Open GL在Visual C++條件下編制程序實現紗線三維模擬[4]及變截面紗線模擬機織物的方式,都是基于織物幾何結構相關系建立紗線和織物的三維模型。應用Open GL以Visual C++編程方式,可通過構建的變截面的紗線三維模型[5]增加真實感,而MAXScript語言可通過對SplineShape對象屬性的調整來實現這個過程。此外,MAXScript語言的卷展欄功能在參數輸入界面設計及機織物結構的參數化三維建模方面更為方便。
1)運用機織物結構相理論,提出按組織點及相鄰組織點的中點布置紗線軸線型值點的原則,并建立了型值點數量和完全組織經緯紗數的關系。
2)以第5結構相理論,建立了紗線軸線型值點坐標與紗線直徑及紗線間距等機織物幾何參數的關系,其中型值點的x,y坐標在xoy面上按等間距網格狀分布,而z坐標則根據型值點對應紗線軸線位置取值。
3)開發了相應的MAXScript程序,實現各根經緯紗線型值點三維坐標的自動計算,并通過構造SplineShape類對象并調整其屬性,實現了機織物結構的三維建模。
4)本文方法主要針對單層機織物結構的三維建模,對于多層接結、正交及角聯鎖等三維機織物結構三維建模方面的應用有待進一步拓展。
FZXB