温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
提花
鞋面
展开
算法
应用
吴妙缘
2023年2月第1期经编提花鞋面是一种被广泛应用于运动鞋的针织面料。一只运动鞋的鞋面在空间中是三维曲面,而在织造时是一块完整的平面织物。生产实践中,为实现提花图案的精确定位,面料企业有将运动鞋三维曲面模型展开为二维鞋面图的需求。曲面展开技术多应用于产品设计领域,许多产品实物结构复杂,直接展开的可操作性较低,通常是数学理论上的不可展曲面,展开结果与预期相差较大。复杂曲面展开算法的研究起始较早,1980年Manning1提出了一种基于等距树算法的曲面展开的方法并通过计算机将其应用于制鞋工业中。随后,Wang2、Li3等众多领域的学者都对不可展曲面的展开技术进行了深入的研究,这个研究方向受到了多个领域的学者青睐,陆续研究出了多种不可展曲面的展开方法。毛昕等4讨论了复杂曲面采用分治思想展开时,初始展开三角形的选择影响着曲面的展开结果;Sheffer等5提出了一种曲面参数化展开算法,他认为展开角度不变可以大大提高曲面的展开质量,结果证明,该方法可以有效减少展开结果中三角形的折叠或翻转现象,但该算法易积攒较大的误差且时间复杂度较高。陈动人等6提出了一种分片展开的方法,但这种方法的使用有一定的局限性,并不适用于无法进行切割的复杂曲面。Olga等7则提出了搜索中心三角形,随后迭代地展开邻域三角形,并蔓延式地将曲面完全展开,这种方法对于曲率较大的部位展开结果会存在断裂或折叠的现象,可以通过约束展开,约束展开优化等方式对结果进行调整,以达到预期的展开结果。研究鞋面的初始展开与优化算法,将展开的鞋面进行织物组织的设计与仿真,最后将鞋面仿真结果映射到三维模型,对于鞋面产品的开发具有一定的实际意义。1初始化展开算法研究为了进行展开算法的研究,将三维鞋面模型进行三角网格化,如图1所示。图1三角网格化后的鞋面1.1中心三角形的选择将起始展开的三角形定义为整个鞋面的中心三角形。选择的中心三角形应尽可能使展开轮数最少,所以将鞋面起伏较为平缓的区域作为目标搜索区域,给出了中心三角形的搜索方法。首先将整个鞋面垂直映射到二维平面,搜索鞋面上所有点中x坐标的最小值xmin所在的点PA与最大值xmax所在的点PB,计算出它们的平均值xmid,接着选取穿过直线x=xmid的外边界边与内边界边,分别求取直线x=xmid与这些边的交点坐标,会得到图2中的四个交点。根据鞋面模型的坐标轴示意,将4个交点的y轴坐标从大到小进行排序,取排序结果中的前两个值所经编提花鞋面的展开算法及应用吴妙缘,张爱军(江南大学 纺织科学与工程学院,江苏 无锡214000)摘要:文章研究了一种针对经编提花鞋面的展开算法,给出了单个三角形展开的详细计算方法以及展开过程中针对不同类型的三角形的计算方法,并基于质点弹簧模型对初始展开结果进行优化,得到了三角网格分布较为均匀的鞋面展开结果。在展开的三角网格鞋面轮廓内进行经编贾卡花型设计并仿真,将结果映射到三维鞋面模型中,验证了展开算法的有效性。关键词:经编织物;展开算法;质点弹簧;鞋面设计Doi:10.3969/j.issn.2095-0101.2023.01.008中图分类号:TS941.26文献标识码:A文章编号:2095-0101(2023)01-0024-04收稿日期:2022-10-15基金项目:中央高校基本科研业务费专项资金资助(JUSRP122003)第一作者:吴妙缘(1998),女,湖北十堰人,硕士研究生,研究方向为纺织装备的数字化与智能化。通信作者:张爱军(1982),男,江苏姜堰人,副研究员,硕士生导师,研究方向为纺织数字化技术。分析与探讨242023年2月第1期属的交点即为图2的点PC与PD,它们的y轴坐标即为ymax与ymin的值,求这两个坐标的平均值得到直线y=ymid,那么鞋面上坐标(xmid,ymid)就定为整个鞋面的中心点P(如图2所示)。中心点所在的三角形即为中心三角形,其将作为展开的初始三角形。图2鞋面中心点P位置示意1.2单个三角形的展开算法鞋面初始化展开算法是基于欧氏距离来实现的,三维空间中两个点之间的实际距离作为这两点从三维曲面映射到二维平面上位置关系确定的重要依据。鞋面状三角网格曲面初始化展开的思路是由若干展开轮数共同完成的,每一轮向边界层层浪式地迭代推进。为了方便后续算法的描述,给定一个基三角形的概念:当每一轮的三角形全部展开后,已经展开的三角形为基三角形,与基三角形共边但尚未展开的为待展三角形。展开可以转化为一个平面几何问题,即已知三角形三边长度和其中两点的坐标信息,求出第三个点的坐标信息。这一问题通常会有两个结果,从代数理论上讲两个结果均正确,但是在鞋面展开的过程中,需要实际考虑第三点与基三角形的位置关系。某三角形自由展开的流程如下。step1得到待展三角形curTriangle、它的基三角形baseTriangle与待求顶点v3。step2获取curTriangle的两个已知二维坐标信息的顶点记为v1、v2,待求二维坐标信息的顶点为v3。v1、v2、v3展开前在三维模型上的坐标分别为(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3);v1、v2展开后在二维平面上的坐标分别为(x12,y12)、(x22,y22)。将属于baseTriangle但不属于curTriangle的顶点记为vbase,它的二维坐标为(xbase,ybase)。step3分别计算v3到v1和v3到v2的欧氏距离d1与d2。step4求解过程中如果待求三角形不为中心三角形,那么该三角形与它的基三角形呈现出三种位置关系:(1)x12x22且y12y22;(2)x12=x22;(3)y12=y22。分为三种情况讨论不同位置关系的具体展开。情况(1):根据d1、d2列出求解方程组。(1)解公式(1)得到两个二维临时顶点v3和v3,坐标分别为(x32a,y32a)与(x32b,y32b)。如果curTriangle为中心三角形,将它垂直映射到平面即x12=x1、y12=y1、x22=x2、y22=y2,根据平面直线v1v2的方程可得:(2)分别将(x3,y3)与(x32a,y32a)代入公式(2)中得到结果r3与r32a,计算r3与r32a的乘积,如果大于0,那么x32=x32a、y32=y32a;否则,x32=x32b、y32=y32b。如果curTriangle为非中心三角形,临时顶点与vbase分别构成的直线作为实际位置判断的依据,展开的三角形的位置大致情况如图3所示。图3临时顶点与vbase位置关系示意图从图3中得知,v3的正确位置应与顶点vbase分布在直线v1v2的两侧,分别判断vbase与v3、v3是否为异侧关系:将(x32a,y32a)、(x32b,y32b)代入公式(2)得出对应的值r32a与r32b后,再将vbase二维坐标代入公式(2)得到rbase。(3)(4)如果公式(3)成立,那么x32=x32a,y32=y32a;如果公式(4)成立,那么x32=x32b,y32=y32b。情况(2):当x12=x22时,根据欧氏距离求出公式(5)和公式(6)。(5)(6)如果curTriangle是中心三角形,根据x12=x22,将x32a与x32b分别代入公式(7)中的x32,取s1大于0的代入值作为x32的解。s1=(x32-x1)(x3-x1)(7)分析与探讨252023年2月第1期如果curTriangle是非中心三角形,由图4可知,v1v2平行于y轴,将x32a与x32b分别代入公式(8)中的x32,取s2小于0的代入值作为x32的解。图4临时平面顶点与vbase位置关系示意图s2=(x12-x32)(x12-xbase)(8)情况(3):当y12=y22时,如图5所示,待求点的求解方式与情况(2)的思路相似,区别在于计算公式中的x坐标与y坐标互换。情况(3)同样分为中心三角形与非中心三角形两种情况进行计算,得到待求点相应的二维坐标。图5临时平面顶点与vbase位置关系示意图1.3单个三角形的约束展开与优化约束展开方法适用于三维空间上某点同时作为两个及以上三角形的待求点,在不同三角形展开的结果中,空间点与其二维平面点的映射关系并不是一一对应的,即同一空间点的平面坐标可能存在多种解的情况。处理这类待约束点的方法是将点的多个结果求出平均值作为该点的解。鞋面在初始化展开过程中待约束点普遍存在,在更新它们的过程中由于误差的不断累加,可能会出现待约束点作为某三角形展开的已知点时无法与该三角形的另一已知点构成三角形的情况(如图6所示),即d1+d2d的情况。(a)d1+d2d图6无法构成三角形的两种情况本文采用常见的方式处理这一情况:如果d1d2则直接将d2的值赋给d;如果d1d2则将d1的值赋给d。赋值并不是真正改变P1与P2在平面上的位置或者是它的实际边长,而是在不构成三角形的情况下,暂时给d安排一个合理的值从而使它构成三角形以便于计算。这样求出的平面点坐标,一定能和P1、P2构成平面上的三角形。2基于物理模型的展开结果优化2.1质点弹簧模型的建立根据三角化网格二维平面可以建立质点-弹簧的应变能模型。该模型将网格上构成单个三角形的点作为质点,构成单个三角形的边作为弹簧。质点的质量由它所属的三角形面积来决定,弹簧是拉伸或压缩的状态则是由鞋面初始化展开结果中边的实际长度与三维鞋面的空间边原始长度进行比较,如果前者比后者长则弹簧处于拉伸状态,前者比后者短弹簧就属于压缩的状态,前者等于后者时弹簧则处于不受力的状态。建立该模型的意义就是将处于拉伸或压缩的弹簧沿着与受力方向相反的方向进行弹簧能量的释放,通过不断迭代地释放弹簧的能量最终得到一个趋于平衡状态的质点-弹簧模型,此时就认为鞋面的初始化展开结果得到了理想的优化结果。弹簧在初始化展开过程中产生的应变能表示为:(9)在初始化展开中某点的受力情况可以表示为:(10)式中,K为弹性变形系数,d为弹簧联结的两点在初始化展开结果中的距离(平面),d为弹簧联结的两点在空间上的真实距离(空间),AVpVq为点Vp指向点Vq的矢量,表示两点构成的边的指向。2.2质点-弹簧模型的数值求解计算平面三角化网格中某质点V在一个确定时间点的加速度、速度和位置。质点V运动的终止条件一般设置为两个,满足其中一个,质点V的运动就终止。第一个终止条件为质点V位置改变的次数限制,第二个终止条件为整体平面网格的误差小于设定误差允许的阈值。质点的加速度在前一时刻的加速度上不停地进行迭代,当鞋面状三角化网格曲面接近终止条件二时,质点V在t+t时刻的速度vp会达到峰值。当在t+t时刻的加速度ap开始递减时,质点V仍然按照原来的方向进行运动,有造成发散的风险,质点不稳定就难以得到理想的结果。本文将t时刻到t+t时刻这段时间的速度设置为相同,这样可以保证质点V的运动方向永远与加速度ap的方向一致。当质点弹簧模型整体趋于平衡时,ap与vp都会逐渐递减,具有良好的收敛性且收敛速度较快。可以得到如下公式:vp(t+t)=tap(t)(11)LP(t+t)=LP+tvp(t)(12)式中,vp为质点V在t+t时刻的速度,ap为质点分析与探讨262023年2月第1期分析与探讨V在t+t时刻的加速度,Lp为质点V在t+t时刻的位置。如果单位时间增量t取值较大会直接影响最终优化结果的精度,但如果取值较小又会大大增加算法的时间复杂度。为了保证质点弹簧模型优化初始展开结果的效率,本文使用单位时间增量动态调整方法。t=DlastDcurt(13)式中,t为本次迭代优化中的单位时间增量,t为下次迭代优化中的单位时间增量,Dlast为上一次迭代优化后的综合误差,Dcur为当前迭代优化中的综合误差。综合误差是指三角化网格中边长误差的平均值,当每一轮迭代结束后,如果DcurDlast则说明三角化网格曲面的误差在变大,此时应该适当降低单位时间增量。这种动态改变单位时间增量的方法,在每一次优化过程中,计算当前情况中最优的单位时间增量值,在一定程度上减少了单位时间增量取值的试错成本。3结果展示与分析3.1展开结果展示对比初始化展开结果(如