張 卓,嚴(yán)玉蓉,楊聲強(qiáng),任忠海,*
(1.廣州海關(guān)技術(shù)中心,廣東 廣州,510623;2.華南理工大學(xué) 材料科學(xué)與工程學(xué)院,廣東 廣州,510641;3.美國UL(深圳)安全試驗所,廣東 深圳,518047)
Matlab是Mat h wor ks公司于20世紀(jì)80年代推出的數(shù)值計算軟件,運(yùn)用以矩陣運(yùn)算為基礎(chǔ)的程序語言,它有非常強(qiáng)大的數(shù)值計算能力,數(shù)域可擴(kuò)展到復(fù)數(shù)[1]??焖偾揖_地繪制各種復(fù)雜的三維、不規(guī)則公式曲線或曲面是Matlab的長項,面向分析運(yùn)算是其廣泛應(yīng)用于工程技術(shù)的主要原因。Matlab把所有點的坐標(biāo)數(shù)據(jù)儲存在二維或三維矩陣中,因此繪制圖形時很容易就能控制圖形的精度,而且這些坐標(biāo)數(shù)據(jù)經(jīng)過處理后還可移植、擴(kuò)充到其他繪圖軟件中。
在建立復(fù)雜不規(guī)則三維模型時,Auto CAD繪制方法繁瑣且誤差很大[2];Open GL因為自身缺乏復(fù)雜三維形體函數(shù)而必須提取其他繪圖軟件建好的三維模型數(shù)據(jù)才能進(jìn)行進(jìn)一步圖形處理[3];3d Max則是通過修改堆棧命令加工得到目標(biāo)模型,是一款偏向商業(yè)影視娛樂、多媒體制作的軟件。因此,選擇了Matlab為織物結(jié)構(gòu)的三維建模軟件。
織物結(jié)構(gòu)的仿真模型研究始于20世紀(jì)20年代,逐步從二維平面建模過渡到三維空間建模及質(zhì)感模擬,目前國內(nèi)外對織物結(jié)構(gòu)仿真依據(jù)的理論主要分為Pierce模型法、分段函數(shù)法和樣條曲線法[4]。
馬維[5]使用Open GL結(jié)合VC++語言建立了平紋、斜紋等梭織物的三維模型,紗線截面假定為橢圓;谷大鵬等[6]用Matlab建立了平紋織物的三維模型,但紗線截面假設(shè)為圓形;朱生群等[4]使用Tex Gen建立了筒狀緯編針織物的結(jié)構(gòu)模型,假設(shè)紗線截面為圓形,使用B樣條擬合理論建立模型。這些研究文獻(xiàn)將織物中的紗線橫截面假設(shè)為圓形顯然有悖于真實的織物形態(tài);另外,文獻(xiàn)在建模時對紗線和織物的數(shù)學(xué)特征沒有必要的假設(shè)條件,而且僅對紗線進(jìn)行曲線擬合,缺乏對紗線曲面成型的理論推導(dǎo)。
圖1是本文建立的平紋織物三維仿真模型,圖例顯示從2個不同方向觀察同一模型。
圖1 平紋織物結(jié)構(gòu)三維仿真效果
按右手法則建立各坐標(biāo)系:
(1)以紗線長度方向的中心軸線方向為Zl軸,橫截面為XlOlYl面,建立紗線局部坐標(biāo)系(下標(biāo)l表示局部坐標(biāo)系,下同);
(2)以織物厚度方向為Z軸,織物交織平面為XOY面,建立全局坐標(biāo)系。
1.2.1 假設(shè)條件[7-8]
在Peirce改進(jìn)的梭織物模型中,假定紗線的橫截面均為橢圓形,紗線既無伸長也無壓縮變形,經(jīng)緯紗交織附近相互包覆屈曲的地方為圓弧狀,其余部分為直線段。
對于大多數(shù)織物,紗線由于擠壓產(chǎn)生形變或有部分重疊現(xiàn)象出現(xiàn)不易進(jìn)行仿真,但對于平紋類織物經(jīng)大量切片實驗研究得知,紗線的形態(tài)走勢類似于正弦曲線,且不存在重疊現(xiàn)象,故以紗線屈曲形態(tài)為空間正弦或余弦曲線為例進(jìn)行織物結(jié)構(gòu)三維仿真[9]。
(1)紗線的橫截面為橢圓形;
(2)纖維在紗線中排列緊密、均勻;
(3)紗線中所有弧線為三階連續(xù)可微曲線,參數(shù)增加的方向為曲線的正向;
(4)紗線中所有弧線為正則曲線;
(5)紗線之間彼此密實接觸,即紗線間無空隙;
(6)紗線表面光滑、平整,均沒有變形;
(7)忽略經(jīng)紗與緯紗交織點處的作用力,如摩擦、擠壓或彎曲;
(8)單層織物中,經(jīng)緯紗所在的上下2個平面互相平行;
(9)單層織物中,所有經(jīng)紗或緯紗均分別排列在同一直線上。
1.2.2 紗線表面各點的坐標(biāo)值計算
根據(jù)紗線幾何體的形成原理,紗線長度方向中心線上任意一點的法平面與紗線曲面的交線都是一個橢圓。假設(shè)該橢圓的長短軸分別為a、b,如圖2所示,紗線局部坐標(biāo)系為XlOlYl,橢圓中心是Ol。
全局坐標(biāo)系下的紗線空間模型如圖3所示。觀察方向與橢圓所在平面垂直,即與法線n的方向相反但平行。
圖3中,Γ是紗線長度方向的中心線,為一C3類空間曲線。T、N、B分別是該曲線上任意一點的切向量、主法向量和副法向量。向量n是橢圓Ol所在平面的法線,且與3個坐標(biāo)軸的歐拉角在[0,π]內(nèi)變化。
局部坐標(biāo)系下Γ應(yīng)滿足下列方程:
其中t為曲線Γ的參數(shù),δ是取值區(qū)間。點Ol的單位主法向量β(t)為[10]:
點Ol的單位副法向量γt()為:
圖2 局部坐標(biāo)系下的紗線橫截面模型
圖3 全局坐標(biāo)系下的紗線空間模型
另一方面,紗線可以看作由離散點構(gòu)成的空間曲面,則橢圓Ol上的點就是這些離散點的一個子集。令橢圓Ol在局部坐標(biāo)系XlOlYl的方程為:
φ是橢圓上任意一點逆時針方向與Xl軸的夾角。
局部坐標(biāo)系下將曲線Γ和橢圓r(φ)l進(jìn)行運(yùn)動A的變換就能得到全局坐標(biāo)系下的曲線公式[11]:
其中,A是方向余弦矩陣,ε是一空間向量,且ε∈R3。
由空間參數(shù)曲線的幾何不變性原理,經(jīng)過坐標(biāo)系的復(fù)合運(yùn)動后,曲線的各階導(dǎo)矢是不變量。所以曲線Pt()l與橢圓r(φ)l經(jīng)過位置變換后只存在坐標(biāo)變化的差別。
假定橢圓Ol的法向量n的方向向上為正,結(jié)合式(6),n的方向余弦ω,δ,ε可按下式計算:
其中,θx、θy、θz為法向量n的歐拉角。
綜合式(1)~式(9),得到全局坐標(biāo)系XYZ下的紗線表面任意點的坐標(biāo)值:
T是從局部坐標(biāo)系到全局坐標(biāo)系的變換矩陣,矩陣元素下標(biāo)y表示紗線。
至此,已經(jīng)建立了紗線的表面各點坐標(biāo)方程。
平紋織物的宏觀結(jié)構(gòu)是多條具有正弦或余弦曲線特征的紗線互相交織而成。如果將紗線表面離散成n個空間內(nèi)的點,結(jié)合式(11),則織物表面各點的坐標(biāo)可表示成如下n×(n+1)齊次矩陣:
式(12)就是織物表面的點的坐標(biāo)值,也即織物的三維結(jié)構(gòu)模型。矩陣元素下標(biāo)f表示織物。
最后,依據(jù)織物實際的規(guī)格,輸入紗線的直徑、屈曲角度、紗線間隔距離、經(jīng)緯密度等參數(shù),就能得到大小、形態(tài)可控的結(jié)構(gòu)模型。
平紋織物仿真模型的編程流程如圖4所示。
圖4 平紋織物三維仿真模型的流程
當(dāng)?shù)玫娇椢锉砻嫠须x散點的坐標(biāo)值后,通過調(diào)用Matlab中的mesh或者surf函數(shù),繪制織物表面曲面,即可實現(xiàn)織物的三維模型可視化,如圖5所示。
圖5 紗線及織物三維仿真模型
其中圖5(a)是調(diào)用不同的函數(shù)繪制的紗線模型,圖5(b)是平紋織物三維仿真模型,圖5(c)是進(jìn)行光照處理后得到的模型。
(1)平紋織物三維仿真模型真實反映了紗線的形狀、大小和在織物結(jié)構(gòu)中的相對位置,不僅是分析研究平紋織物結(jié)構(gòu)的基礎(chǔ),而且也為研究平紋織物的力學(xué)過程、應(yīng)力應(yīng)變關(guān)系以及紗線間的相互作用機(jī)理打下了良好基礎(chǔ)。
(2)在Matlab環(huán)境下的可視化編程,具有很大的優(yōu)越性。計算效率高,數(shù)據(jù)可視化簡單,為將來擴(kuò)展不同結(jié)構(gòu)的織物性能預(yù)測和檢驗?zāi)P偷恼_性提供了數(shù)學(xué)保證,也為后續(xù)其他類型的織物宏觀物理性能的仿真研究提供了可靠的示范。
(3)使用Matlab建立織物三維仿真模型涉及數(shù)學(xué)、物理、計算機(jī)圖形學(xué)和向量幾何等多學(xué)科知識,因此覆蓋面廣、解決途徑復(fù)雜。也正因為此,每一位研究者使用的方法都不盡相同,所以最終得到的模型精度、可擴(kuò)展性差異較大。