常辰玉,卢致文,2,刘 锋,古皎霞,宋文芯
(1.太原理工大学 轻纺工程学院,山西 晋中 030600; 2.安徽省天助纺织科技集团股份有限公司,安徽 阜阳 236000)
纬编针织物的三维仿真对降低生产成本、加快生产效率和提高生产质量等均具有重要的现实研究意义,建立合理通用的纬编针织物三维结构模型是进行织物实体仿真的基础[1]。纬编针织物从二维走向三维线圈建模的进程中构建了许多的仿真模型,主要分为基于皮尔斯(Pierce)模型、基于分段函数和基于样条曲线3种方法[2]。
Pierce线圈模型使用最早且应用广泛,是较经典和基础的模型,其使用圆柱表示的圈柱连接半圆环表示的针编弧和沉降弧,结构较理想化,为后续模型的研究与建立提供了基础[3];利夫(Leaf)模型得到了线圈长度和线圈密度之间的关系[4];芒登(Munden)模型得到了线圈长度和织物尺寸之间的关系[5]。基于Pierce模型的线圈建模方法简单有效,但其本质还是二维线圈模型,三维立体效果较弱。
为了增强线圈结构模型的三维立体效果,基于分段函数的建模方法开始被提出。Kurbak等[6]将线圈根据不同部位进行分割,每段都有其对应函数。为了贴近织物几何结构的真实形态,分段函数往往比较复杂。基于分段函数建立的线圈模型在一定程度上能够体现线圈的三维立体效果,但控制线圈弯曲变形部位时比较复杂困难,而且不能灵活地控制线圈走向,无法很好地适应纬编针织物线圈变形的需求。
贝塞尔(Bezier)曲线具有数据点控制曲线和灵活调整曲线等很多优点,但是当改变其中某一个控制点时,整条曲线都会发生变化,不利于对线圈结构的控制[7];B样条曲线是由任意数量的曲线段组成的、分段定义的整条曲线,具有多种优良性质,并且改变一个控制点并不影响其他曲线段的形状,完全有效地控制了Bezier曲线存在的弊端;非均匀有理B样条(NURBS)曲线在保留了B样条曲线描述自由型形状的优点上,统一了Bezier曲线和B样条曲线表达曲线弧的能力,而且还引入权因子用于调整曲线形状[8]。样条曲线提供统一的表达形式且计算稳定,模拟精确且控制灵活,更加适于针织物中线圈结构的控制。丛洪莲等[9]、张丽哲等[10]和沙莎等[11]都基于NURBS曲线原理采用型值点中间添加辅助点共同代替控制点的方法控制针织物空间路径;蒙冉菊等[12]、汝欣等[13]和杨恩惠等[14]利用NURBS曲线、采用弦长参数化法确定节点矢量、使用型值点反算控制点拟合曲线建立针织物结构形态。
本文在分析了纬平针织物几何结构的基础上,简化并进行合理假设,使用改进的成圈线圈模型组成纬平针组织三维结构模型。基于NURBS曲线原理,采用均匀参数化法、弦长参数化法和向心参数化法分别确定节点矢量,使用切矢边界条件,取定合适的权因子,反算控制点,然后拟合曲线模拟线圈中心线路径;探究使用不同节点矢量计算方法时,线圈中心线结构的模拟效果,以期当使用线圈中心线型值点反算控制点时,采用合适的计算方法确定节点矢量,对线圈中心线进行三维仿真。最后使用NURBS曲面模拟纬平针组织纱线表面,通过加入光照与材质增强织物的立体感,实现纬平针组织的三维仿真。
线圈是针织物的基本结构单元,要建立纬平针组织的三维结构模型,首先需要得到纬平针组织线圈的三维立体模型,通过线圈组合与连接形成纬平针组织三维结构模型。
成圈线圈的几何结构是左右对称的,其左半部分又关于中心对称,因此可以对成圈线圈进行分解,成圈线圈分解如图1中点段式虚线所示。
图1 成圈线圈三维模型三视图Fig.1 Knit loop 3D model. (a)Vertical view; (b)Left view; (c)Front View
根据成圈线圈的结构特点,通过纬平针织物中成圈线圈纱线走向,以及交织点和型值点表示位置,得到如图1所示的成圈线圈三维模型三视图。在线圈的相互嵌套处设置交织点[15],如图1中圆点B1和B2标识处所示,线圈的上下部分各有1个交织点,分别表示该线圈与上下1行相应线圈相互嵌套的位置;在线圈中心线上设置型值点表示线圈结构,如图1中三角点标识处所示,T0和T8分别表示该线圈与左右侧线圈连接处,即沉降弧最低处,T1和T7表示沉降弧与圈柱连接处,T2和T6表示圈柱中点,T3和T5表示针编弧和圈柱连接处,T4表示针编弧最高处。
对纬平针织物进行实物观察、测量与分析,简化纬平针组织结构并做出相应假设,通过基本单元线圈的组合与连接得到如图2所示的纬平针组织三维模型三视图。图2中设置线圈半径用r表示,线圈宽度用D表示,线圈高度用H表示。从图2的结构分析和数据标识可以得出,线圈宽度D为4个线圈直径,即8r;线圈高度H由针编弧、沉降弧和圈柱的高度构成,针编弧和沉降弧的高度都为2个线圈直径,即4r,圈柱的高度可以移植为2个交织点之间的高度,而2个交织点之间的水平空间包含上1行线圈的沉降弧和下1行线圈的针编弧,由于上1行线圈的沉降弧和下1行线圈的针编弧在水平空间上存在1个线圈半径r的重叠,所以2个交织点之间的高度为3r+r+3r,得到线圈高度H=4r+3r+r+3r+4r=15r;线圈相互嵌套时在纬平针组织厚度上为2个线圈直径,且存在1个线圈半径r的弯曲弧度缝隙,则其厚度为4r+r=5r。
图2 纬平针组织三维模型三视图Fig.2 Weft plain stitch 3D model. (a)Vertical view; (b)Left view; (c)Front View
NURBS曲线有统一表达形式,且具有改变任意1个控制点而不影响其他曲线段形状结构的优点,且其计算更加方便稳定、控制更加灵活明显。
一条k次NURBS曲线可以表示为分段有理多项式矢函数:
(1)
式中:
(2)
式(1)(2)中:Ni,k(u)是由节点矢量U=[u0,u1,…,un+k+1]计算确定的k次规范B样条基函数;wi是权因子,分别与控制点Pi相联系,i=0,1,…,n,n表示数据点数量[16]。
NURBS曲线在实际的应用过程中可以分为2种情况:一种是正算问题,即已知控制点求解曲线上的型值点并生成曲线;另一种情况是反算问题,即已知曲线上的型值点求解曲线的控制点,拟合通过已知型值点的曲线[17]。
通过建立纬平针组织三维模型,设定交织点B1的三维坐标为(x,y,z),则交织点B2的三维坐标为(x,y+7r,z),可以给出线圈中心线上的1组型值点坐标如表1所示。
表1 成圈线圈中心线型值点坐标表Tab.1 Coordinate table of knit loop center line data point
构造通过该组型值点的曲线,需要反算出控制点并拟合NURBS曲线使其完全通过线圈中心线型值点,这个过程称为曲线的反算,一般包括如图3中3个步骤。
图3 NURBS曲线反算步骤图Fig.3 NURBS curve reverse calculation steps
2.2.1 计算节点矢量
NURBS曲线使用型值点反算控制点时,一般令曲线的首末端点分别与首末型值点保持一致,并且n+1个型值点Ti(i=0,1,…,n)依次与NURBS曲线定义域内的节点ui+k(i=0,1,…,n)一一对应。因此NURBS曲线将由n+1+2个控制点Pi(i=0,1,…,n+2)定义,由于首末节点重复度为k+1,且节点数量比控制点数量多重复度k+1个,本文使用3次NURBS曲线,k取值为3,则由n+3+4个节点组成的相应节点矢量为U=[u0,u1,…,un+6]。
为了确定与n+1个型值点Ti(i=0,1,…,n)对应的节点值ui+3(i=0,1,…,n),需要对型值点进行参数化处理[18]。
均匀参数化法使节点呈现等距离分布,适用于给定型值点的多边形各弦长基本相等的情况,具有一定的局限性,本文选取的线圈中心线型值点的分布已知符合该情况,其公式为:
(3)
弦长参数化法解决了均匀参数化法存在的弊端,可以真实地反映出型值点的多边形各弦长的分布情况,得到顺滑性较好的曲线形态,其公式为:
(4)
式中:L是中间变量。
向心参数化法可以真实地反映型值点的多边形相邻弦线的折拐情况,其公式为:
(5)
式中:L是中间变量。
2.2.2 计算边界条件
未知控制点Pi(i=0,1,…,n+2)个数n+3比给出的1组型值点Ti(i=0,1,…,n)个数n+1多2个,因此在求解方程组时需要增加2个适当的边界条件,常用的边界条件有切矢条件、开曲线条件和闭曲线条件。根据线圈中心线的特点,本文边界条件使用切矢条件。切矢条件要求首末端点的切线方向固定,其关系式为:
(6)
式中:T0′和Tn′是型值点的首末端点切矢;Δi是中间变量。
2.2.3 反算控制点
三次NURBS曲线首末两端点的重复度取4,首末控制点就是其首末型值点,即有P0=T0、Pn+2=Tn。边界条件使用切矢条件,取权因子wi=1(i=0,1,…,n+2),应用矩阵的形式得到三次NURBS曲线控制点反算的线性方程组表达式为:
(7)
式中:Pi(i=1,2,…,n+1)是控制点,共同构成了控制点列向量;令Δi=ui+1-ui(i=0,1,…,n+5),有
(8)
共同构成了系数矩阵;有
(9)
共同构成了列向量。式(8)和式(9)中i=2,3,…,n。
求解上述线性方程组,即可获得去除首末控制点P0和Pn+2的其余控制点。
在操作系统为Windows10 64位、CPU为AMD Ryzen 7 5800H with Radeon Graphics 3.20GHz、内存为16G、显示器分辨率为2 560像素×1 600像素的实验环境中,使用Code::Blocks集成开发环境、C++语言和OpenGL函数库,借助计算机实现的程序流程图如图4所示。通过输入给定任意1个交织点的三维坐标以及给定线圈半径,并给出想要绘制线圈中心线的行数与列数,以及给出想要使用的节点矢量计算方法;根据纬平针组织三维模型计算得到线圈中心线型值点的坐标;分别使用均匀参数化法、弦长参数化法和向心参数化法3种方法进行计算节点矢量;采用切矢条件计算边界条件;取权因子wi=1(i=0,1,…,n+2)反算控制点;最后输出使用控制点拟合NURBS曲线模拟的线圈中心线,以及计时器记录的从输入结束到此刻所使用的时间。
图4 程序流程图Fig.4 Program flow
使用3种参数化法计算节点矢量,最终得到的线圈中心线模拟效果三视图如图5所示。图中方块点标识处是型值点的位置,其中图5(d)是图5(a)、图5(b)和图5(c)的重叠效果图,图5(e)是使用3种节点矢量计算方法模拟的纬平针组织3×3线圈中心线重叠效果图。
图5 线圈中心线模拟效果三视图Fig.5 Loop center line simulation. (a)Uniform parameterization method; (b)Chord parameterization method; (c)Centripetal parameterization method; (d)Single loopcenter line overlap; (e)3×3 loop center line overlap
分析图5得知,采用均匀参数化法、弦长参数化法和向心参数化法3种方法分别计算节点矢量,得到的线圈中心线都通过型值点,得到的模拟效果图重叠时线圈中心线路径走向高度重合,并且模拟效果与纬平针组织三维模型线圈中心线结构一致。
分别使用3种节点矢量计算方法模拟绘制20次50×50的线圈中心线,得到平均每次所用时间,3组实验的结果如表2所示。
表2 绘制时间结果表Tab.2 Drawing time result s
分析表2可知:实验1中平均每次绘制时间最短的是使用向心参数化法,为0.306 9 s;实验2中平均每次绘制时间最短的是使用弦长参数化法,为0.303 9 s;实验3中平均每次绘制时间最短的是使用均匀参数化法,为0.307 3 s;采用3种方法进行计算节点矢量,模拟绘制的线圈中心线速度快速且没有明显的时间差异。
基于以上模拟效果和实验数据进行相应分析,得知使用的3种节点矢量计算方法,通过已知线圈中心线上的型值点反算控制点,拟合NURBS曲线模拟线圈中心线具有合理通用的效果。考虑到各节点矢量计算方法的特性,建议当选取型值点的多边形弦长基本相等时,为简便计算可选用均匀参数化法确定节点矢量;当选取型值点的多边形弦长相差较大时,为体现各弦长的分布情况可选用弦长参数化法确定节点矢量;当选取型值点相邻弦线折拐较大时,为反映其折拐情况可选用向心参数化法确定节点矢量。
本文设定纬平针织物纱线是具有圆形截面的均匀管状,纬平针组织的三维实体仿真通过NURBS曲面进行模拟。采用NURBS曲面模拟线圈的立体结构时,NURBS曲面2个方向的参数分别由线圈截面圆和线圈中心线决定;得到线圈截面圆和线圈中心线2个方向的控制点,2个方向相对应的节点矢量都采用均匀参数化法进行确定。通过NURBS曲面的相关函数绘制曲面模拟纬平针组织纱线表面,运用光照与材质相关函数增强纬平针组织三维实体仿真的效果。
纬平针组织三维仿真模拟图如图6所示,从三维线框图中可以看出,黑色虚线的线圈中心线位于线框图的中心位置;从三维实体图中可以看出,其结构形态与纬平针组织三维结构模型一致,且具有良好的模拟效果。
图6 纬平针组织三维仿真模拟图Fig.6 Weft plain stitch 3D simulation. (a)3D wireframe; (b)3D entity
通过深入研究针织物成圈线圈几何结构模型并进行改进,获得了纬平针组织线圈的三维立体模型,然后通过线圈组合与连接形成了纬平针组织三维结构模型。根据纬平针组织三维结构模型合理设定交织点位置,得出线圈中心线上型值点坐标,基于非均匀有理B样条(NURBS)曲线反算原理采用均匀参数化法、弦长参数化法和向心参数化法3种不同的节点矢量计算方法,对纬平针组织线圈中心线进行三维建模仿真,最后得到了合理通用的仿真效果,并考虑各节点矢量计算方法的特性,根据型值点的选取情况做出了相应方法的选取建议。基于NURBS曲面原理,增加光照与材质效果,对纬平针组织进行三维实体仿真,得到了结构上贴近实际纬平针织物的模拟效果。为NURBS曲线曲面实现纬编针织物的仿真模拟提供了对比验证与数据参考。