合身度驱动的服装CAD版片多约束自适应调整优化方法

文档序号:33933736发布日期:2023-04-22 13:46阅读:94来源:国知局
合身度驱动的服装CAD版片多约束自适应调整优化方法

本发明属于计算机辅助设计领域,具体涉及一种合身度驱动的服装cad版片多约束自适应调整优化方法。


背景技术:

0、技术背景

1、如今,随着服装行业的需求增长,人们对于通过计算机辅助服装设计的需求与日俱增。一方面,现实的服装领域需要更加个性化的服装设计,这对于传统的服装设计方式带来了冲击,而虚拟服装设计能更加方便、快速的实现对每个人个性化的设计需求。另一方面,电影和游戏等虚拟角色设计也对虚拟角色的服装设计也提出了很大的需求。

2、服装设计是一个交互式的过程,涉及到对于cad版片的多次修改。对于服装设计者来说,制作这些符合人体模型的服装版片是一件特别繁琐的工作,设计者需要不断的通过观察三维模拟的效果来修改版片的形状。这种修改依赖于服装设计师的经验,对于大量的设计需求,这种依赖设计师经验的方法会让设计师浪费大量的时间在合身度的匹配上面,让设计师有更少的时间进行创造性工作。

3、近年来许多研究都专注于版片的合身度自动调整方法。主要的方法有以下几种,其一是通过物理模拟穿着的结果来调整版片的大小和边长,根据模拟过程中每条边被拉伸的程度来判断是否需要增长对应的cad版片长度。这种方法能够很快的得出一个满足合身度要求的cad版片,但是没有考虑到服装的整体形变约束,导致修改后的版片和原版片相比形状变化比较大,这样生成的版片形状在迭代过程中会变成另外的形状,更加偏离设计初衷,需要重新设计。另一种方法是直接将模拟的三维网格参数化成二维网格,直接生成二维网格。这种方法好处是与三维上模拟的版片更加匹配。但是模拟时的服装网格是由二维版片网格化生成出来的,通过参数化方法生成的网格无法直接用来修改二维版片,还是需要对网格的数据进行提取和修改,这其中的转化也会造成数据的失真,导致生成的版片合身度较差。

4、本文提出了一种根据服装虚拟穿着效果来自适应修改版片的方法。这种方法直接使用二维版片的边长和角度作为目标参数,不需要网格到版片的转化。此方法根据采取多边形的性质作为约束条件,通过考虑模拟后网格的边长和版片原始的角度,能够使生成的新版片更加匹配人体模型的同时,保证版片的形状与设计师设计的原始版片在形状上更加一致。同时这种方法能够根据角度和边长添加对称约束,使生成的布片满足对称的要求。


技术实现思路

1、本发明的目的是针对现有服装自适应方法的不足,提出了一种基于角度和边长的服装版片自适应贴合模拟穿着人体的方法,这种方法使用服装版片的角度和边长作为优化参数,以多边形的内角和固定作为约束,生成新的版片二维边界。这种方法能够在尽可能的保持cad版片的原始形状的情况下,使服装版片的合身度更高。根据对版片的对称性需求,还可以对其添加对称约束,使其生成的版片是对称的。

2、本发明提供一种合身度驱动的服装cad版片多约束自适应调整优化方法,包括以下步骤:

3、步骤1、将cad版片网格化:

4、所述cad版片是由n个二维的控制点pi(ui,vi)和两个相邻的所述控制点之间的边组成的环形结构,其中的边包含直线边和曲线边,其中曲线边由多段线表示,所述多段线由若干曲线控制点cp(u,v)及点之间的直边组成;

5、通过delaulay三角网格剖分过程,将cad版片的控制点的坐标序列转化成由若干三角形组成的网格,作为原始网格,所述原始网格包括:网格中每个点的坐标和拓扑结构,所述拓扑结构为每个三角形的坐标索引,所述原始网格中有m个质点和t个三角形;

6、步骤2、评估服装的合身度;

7、采用弹簧质点模型,将原始网格模拟运行到人体形状的碰撞模型上,输出与原始网格相同拓扑结构的模拟网格,并得到网格上每个点的坐标在运行结束后的位置坐标,作为模拟完成后的网格的坐标;

8、通过向量叉乘取模的方法求出原始网格和模拟网格上每个三角形的面积,分别将原始网格和模拟网格上每个三角形的面积加和,得到原始网格的表面积与模拟网格的表面积,将原始网格的表面积与模拟网格的表面积相除,得到表面积拉伸比例,并设置拉伸期望域值,根据所述表面积拉伸比例与所述拉伸期望域值的差异来判断服装的合身度,

9、当表面积拉伸比例小于拉伸期望域值时,进入步骤3

10、步骤3、处理模拟完成后的网格的数据

11、通过对相邻边的夹角计算与对相邻点的边长计算,将cad版片的控制点(p1,p2…pn)转化成:由每个点相邻边之间的角度θ(θ1,θ2…θn)和每条边的边长l(l1,l2…ln)组成的集合(θ,l);;具体转化方式如下;

12、

13、li=||pipnext(i)||

14、next(i)=(i+1)mod n

15、pre(i)=(i-1+n)mod n

16、通过(θ,l)表示每个控制点p的坐标表示为:

17、

18、

19、

20、根据模拟完成后的网格的数据和cad版片的角度计算出目标角度和长度

21、目标角度和边长如下:

22、

23、

24、e是模拟完成后的网格上对应当前cad版片边的每一个三角形上对应版片边缘的边长度;

25、对于设定成曲线的cad边的处理,将对应曲线用控制点之间的直线代替;

26、对于第i条cad边的曲线上的每个点j,将其计算为两个比例值,代表从起始控制点到当前点的向量在点pi到pnrxt(i)的向量上的投影的长度与边长li的比例,代表从当前点到从pi到pnext(i)的向量的距离与边长li的长度的比例:

27、

28、

29、曲线中每个控制节点的坐标表示为:

30、

31、用pi和pnext(i)代表该曲线的首控制点坐标和末尾控制点坐标,根据控制点坐标计算出垂直于控制点线段的单位向量控制点线段的长度li;

32、对于曲线边的目标长度,按照直线边做相应比例的换算:

33、

34、是控制点之间曲线的长度;

35、记录对称信息,对于含有对称信息的cad版片,根据对称的点的信息,找到其对应的对称的角度和边长,对于对称的点pi和pj,有角度和边长约束:

36、θi=θj

37、li=lpre(j)

38、lpre(i)=lj

39、将对称信息记录为两组点和边的索引(ι1,ι2)

40、步骤4、构建优化问题方程

41、4.1设置优化目标:

42、需要求得的目标为cad版片点的内角集θres和cad版片每条边的长度集lres;

43、根据需要优化的目标长度和角度,构建出优化目标为:

44、

45、α+β=1.0,α,β≥0

46、通过设置归一化参数α和β的参数来决定优化目标是倾向于保持形状还是保持大小;

47、4.2设置约束条件:

48、根据多边形的内角和定理设置角度约束:

49、

50、根据cad版片的封闭特性,cad版片第n+1个点的坐标和第一个点的坐标重合,设初始点p1(u1,v1)的坐标为(0,0),设置坐标值约束:

51、

52、

53、

54、对于cad的版片的对称约束,设相等的角度对数为s,相等的边的对数为d,设置每一对的角度和边长相等的约束为:

55、

56、

57、和代表第i对对称的角度的索引,ι1(i)和ι2(i)代表第i对对称的边的索引;

58、步骤5、计算该优化问题

59、5.1使用拉格朗日乘数法将步骤4中构建的所述优化问题转化为增广目标函数;

60、5.2使用牛顿法计算上述增广目标函数,求得最优化问题的结果集,所述结果集包括:cad版片对应多边形的角度和边长集(θres,lres);

61、步骤6、根据步骤5优化方程得到的cad版片对应多边形的角度和边长,还原cad版片每个控制点的坐标

62、步骤7、更新cad版片对应的原始网格中每个点的坐标x,返回步骤2。

63、作为优选,所述步骤2具体包括以下子步骤:

64、基于八叉树方法生成所述人体碰撞模型的八叉树结构ot,其中,八叉树结构ot表示一个正方形空间是否在人体碰撞模型的内部或者外部,若无法判断,则当前八叉树结构ot继续细分为8个子八叉树结构ot,以分别表示当前正方形空间均分的8个子正方体空间,再继续判断当前空间是否在人体碰撞模型的内部或者外部;设置一个细分深度最大值ot_max,若细分深度达到ot_max的情况下无法判断,停止细分,将当前ot设置为在人体碰撞模型内部。

65、其中,每个八叉树结构ot包含其空间范围的最大坐标和最小坐标xmax,xmin,是否在模型内部的判断值isin∈(true,false,unknown)以及若isin=unknown时的8个子八叉树结构ot;

66、设置一个初始八叉树结构ot,其中人体碰撞模型上的所有坐标都在xmin和xmax之间;

67、采用弹簧质点模型,输出与原始网格相同拓扑结构的模拟网格的具体步骤包括:

68、对于模拟网格在三维上的每个质点,计算其运动行为:

69、

70、是质点的加速度,是每个质点的速度,x∈r3m是网格在三维上的坐标,m∈r3m×3m是质量矩阵,f∈r3m是根据每个点在的位置x和速度求出的质点的力;

71、定义t0时刻的位置和速度分别为x0=x(t0),h时刻后的位置变化量和速度变化量为δx=x(t0+h)-x(t0),

72、运用隐式欧拉方法求出速度的变化量和位置的变化量δx:

73、

74、将力f泰勒展开并进行一阶近似:

75、

76、将位移变化量δx用速度变化量表示为:

77、

78、整理得出不依赖δx的δv:

79、

80、用标量势能函数e(x)来描述网格上每个质点的能量,定制若干个目标量为0的局部能量函数c(x)∈r3n来定义其局部系统的能量ei(x),将能量函数与c(x)联系起来,其中k是刚度常数;

81、

82、每个质点i受到能量约束的力表示为:

83、

84、设fi对点j的导数为kij

85、

86、对于网格在三维上的每个质点xi∈r3,计算其运动行为;使用势能函数e(x)来描述三角形网格的运动行为,由势能产生的力为

87、

88、将网格的运动行为分解为多个势能函数:

89、e(x)=∑δeδ(x)

90、每个eδ由相关的网格点组成一个局部系统;

91、网格中每个三角形的拉伸力函数表示为:

92、

93、

94、δx1=xj-xi,δx2=xk-xi,u,x

95、i,j,k是三角形三个顶点的编号,u,v代表网格原始二维网格上的(u,v)坐标;

96、抵抗弯曲的剪切力函数为:

97、c(x)=wu(x)twv(x)

98、阻尼力取决于点的速度,三角网格上点的阻尼力势能为:

99、

100、ζ是阻尼系数;

101、自定义固定点的力势能为:

102、

103、ψi是对质点i施加力的大小,xtarget是x点被固定的坐标的位置;

104、根据求出的速度更新模拟网格每个点的位置x为

105、通过ot检测新的点xi的位置是否在人体碰撞模型内部:

106、从初始ot开始检索,若点所处的当前ot的isin=unknown,找到ot中xmin≤x≤xmax的子ot开始判断;

107、若isin=false,跳过该步骤;

108、若isin=true,根据质点穿过的正方体空间面otf,计算xi对otf面的对称点

109、施加一个反向的势能函数用于下一步迭代,所述反向的势能函数为:

110、

111、每次模拟的时间步长h中记录其所包含的总能量e,当e<ε时,停止模拟过程,开始根据模拟的结果判断服装的合身性指数,其中阈值ε代表优化的精度;输出模拟网格的最终位置x;

112、通过向量叉乘取模的方法,计算模拟网格中每个三角形的面积,第i个三角形的面积为ai,求和得到模拟网格的表面积;

113、通过向量叉乘取模的方法,计算原始网格原始状态下每个三角形的面积为a′i,求和得到原始网格的表面积;

114、通过所述表面积拉伸比例计算服装的合身度评价pvalue为:

115、

116、设置一个拉伸期望域值o,当合身度评价pvalue时小于设置阈值o时,进行步骤3,当合身度评价p时不小于设置阈值o时,输出当前cad版片。

117、作为优选,所述步骤5中,所述增广目标函数为:

118、

119、具体形式为:

120、

121、作为优选,所述步骤6具体包括以下步骤:

122、6.1导入cad版片第一个控制点的坐标p1(u1,v1),和第一条边相对于u轴的角度θstart,作为更新后的cad版片第一个点的初始位置和第一条边的初始方向;

123、将第一个点的坐标设置成新cad版片结果的第一个点的坐标:

124、

125、将的值设置成θstart;

126、6.2更新剩下n-1个点的位置,更新公式为:

127、

128、

129、

130、更新cad版片的控制点集坐标p(ures,vres);

131、6.3处理曲线的还原,对于每一个曲线上的每个点cpi,j,有更新公式:

132、

133、作为优选,所述步骤7中,采用正均值坐标pmvc方法,更新cad版片对应的原始网格中每个点的坐标。

134、本发明的实质性效果在于,在保证服装版片合身度的基础上,使得版片的形状更加的符合设计师设计出的初始形状,减少了设计师因为自适应版片调整导致的版片形变过大而需要重新进行手动调整的工作量,同时可以保证版片的对称效果,进一步降低了设计师自己调整版片对称性的繁琐工作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1