合身度驱动的服装CAD版片多约束自适应调整优化方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明属于计算机辅助设计领域,具体涉及一种合身度驱动的服装CAD版片多约束自适应调整优化方法。
技术背景
如今,随着服装行业的需求增长,人们对于通过计算机辅助服装设计的需求与日俱增。一方面,现实的服装领域需要更加个性化的服装设计,这对于传统的服装设计方式带来了冲击,而虚拟服装设计能更加方便、快速的实现对每个人个性化的设计需求。另一方面,电影和游戏等虚拟角色设计也对虚拟角色的服装设计也提出了很大的需求。
服装设计是一个交互式的过程,涉及到对于CAD版片的多次修改。对于服装设计者来说,制作这些符合人体模型的服装版片是一件特别繁琐的工作,设计者需要不断的通过观察三维模拟的效果来修改版片的形状。这种修改依赖于服装设计师的经验,对于大量的设计需求,这种依赖设计师经验的方法会让设计师浪费大量的时间在合身度的匹配上面,让设计师有更少的时间进行创造性工作。
近年来许多研究都专注于版片的合身度自动调整方法。主要的方法有以下几种,其一是通过物理模拟穿着的结果来调整版片的大小和边长,根据模拟过程中每条边被拉伸的程度来判断是否需要增长对应的CAD版片长度。这种方法能够很快的得出一个满足合身度要求的CAD版片,但是没有考虑到服装的整体形变约束,导致修改后的版片和原版片相比形状变化比较大,这样生成的版片形状在迭代过程中会变成另外的形状,更加偏离设计初衷,需要重新设计。另一种方法是直接将模拟的三维网格参数化成二维网格,直接生成二维网格。这种方法好处是与三维上模拟的版片更加匹配。但是模拟时的服装网格是由二维版片网格化生成出来的,通过参数化方法生成的网格无法直接用来修改二维版片,还是需要对网格的数据进行提取和修改,这其中的转化也会造成数据的失真,导致生成的版片合身度较差。
本文提出了一种根据服装虚拟穿着效果来自适应修改版片的方法。这种方法直接使用二维版片的边长和角度作为目标参数,不需要网格到版片的转化。此方法根据采取多边形的性质作为约束条件,通过考虑模拟后网格的边长和版片原始的角度,能够使生成的新版片更加匹配人体模型的同时,保证版片的形状与设计师设计的原始版片在形状上更加一致。同时这种方法能够根据角度和边长添加对称约束,使生成的布片满足对称的要求。
发明内容
本发明的目的是针对现有服装自适应方法的不足,提出了一种基于角度和边长的服装版片自适应贴合模拟穿着人体的方法,这种方法使用服装版片的角度和边长作为优化参数,以多边形的内角和固定作为约束,生成新的版片二维边界。这种方法能够在尽可能的保持CAD版片的原始形状的情况下,使服装版片的合身度更高。根据对版片的对称性需求,还可以对其添加对称约束,使其生成的版片是对称的。
本发明提供一种合身度驱动的服装CAD版片多约束自适应调整优化方法,包括以下步骤:
步骤1、将CAD版片网格化:
所述CAD版片是由n个二维的控制点p
通过Delaulay三角网格剖分过程,将CAD版片的控制点的坐标序列转化成由若干三角形组成的网格,作为原始网格,所述原始网格包括:网格中每个点的坐标和拓扑结构,所述拓扑结构为每个三角形的坐标索引,所述原始网格中有m个质点和t个三角形;
步骤2、评估服装的合身度;
采用弹簧质点模型,将原始网格模拟运行到人体形状的碰撞模型上,输出与原始网格相同拓扑结构的模拟网格,并得到网格上每个点的坐标在运行结束后的位置坐标,作为模拟完成后的网格的坐标;
通过向量叉乘取模的方法求出原始网格和模拟网格上每个三角形的面积,分别将原始网格和模拟网格上每个三角形的面积加和,得到原始网格的表面积与模拟网格的表面积,将原始网格的表面积与模拟网格的表面积相除,得到表面积拉伸比例,并设置拉伸期望域值,根据所述表面积拉伸比例与所述拉伸期望域值的差异来判断服装的合身度,
当表面积拉伸比例小于拉伸期望域值时,进入步骤3
步骤3、处理模拟完成后的网格的数据
通过对相邻边的夹角计算与对相邻点的边长计算,将CAD版片的控制点(p
l
next(i)=(i+1)mod n
pre(i)=(i-1+n)mod n
通过(θ,l)表示每个控制点p的坐标表示为:
根据模拟完成后的网格的数据和CAD版片的角度计算出目标角度
目标角度和边长如下:
e是模拟完成后的网格上对应当前CAD版片边的每一个三角形上对应版片边缘的边长度;
对于设定成曲线的CAD边的处理,将对应曲线用控制点之间的直线代替;
对于第i条CAD边的曲线上的每个点j,将其计算为两个比例值,
曲线中每个控制节点的坐标表示为:
用p
对于曲线边的目标长度,按照直线边做相应比例的换算:
是控制点之间曲线的长度;
记录对称信息,对于含有对称信息的CAD版片,根据对称的点的信息,找到其对应的对称的角度和边长,对于对称的点p
θ
l
l
将对称信息记录为两组点和边的索引
步骤4、构建优化问题方程
4.1设置优化目标:
需要求得的目标为CAD版片点的内角集θ
根据需要优化的目标长度和角度,构建出优化目标为:
α+β=1.0,α,β≥0
通过设置归一化参数α和β的参数来决定优化目标是倾向于保持形状还是保持大小;
4.2设置约束条件:
根据多边形的内角和定理设置角度约束:
根据CAD版片的封闭特性,CAD版片第n+1个点的坐标和第一个点的坐标重合,设初始点p
对于CAD的版片的对称约束,设相等的角度对数为s,相等的边的对数为d,设置每一对的角度和边长相等的约束为:
和/>
步骤5、计算该优化问题
5.1使用拉格朗日乘数法将步骤4中构建的所述优化问题转化为增广目标函数;
5.2使用牛顿法计算上述增广目标函数,求得最优化问题的结果集,所述结果集包括:CAD版片对应多边形的角度和边长集(θ
步骤6、根据步骤5优化方程得到的CAD版片对应多边形的角度和边长,还原CAD版片每个控制点的坐标
步骤7、更新CAD版片对应的原始网格中每个点的坐标x,返回步骤2。
作为优选,所述步骤2具体包括以下子步骤:
基于八叉树方法生成所述人体碰撞模型的八叉树结构OT,其中,八叉树结构OT表示一个正方形空间是否在人体碰撞模型的内部或者外部,若无法判断,则当前八叉树结构OT继续细分为8个子八叉树结构OT,以分别表示当前正方形空间均分的8个子正方体空间,再继续判断当前空间是否在人体碰撞模型的内部或者外部;设置一个细分深度最大值OT_MAX,若细分深度达到OT_MAX的情况下无法判断,停止细分,将当前OT设置为在人体碰撞模型内部。
其中,每个八叉树结构OT包含其空间范围的最大坐标和最小坐标x
设置一个初始八叉树结构OT,其中人体碰撞模型上的所有坐标都在x
采用弹簧质点模型,输出与原始网格相同拓扑结构的模拟网格的具体步骤包括:
对于模拟网格在三维上的每个质点,计算其运动行为:
是质点的加速度,/>
定义t
运用隐式欧拉方法求出速度的变化量
将力f泰勒展开并进行一阶近似:
将位移变化量Δx用速度变化量
整理得出不依赖Δx的Δv:
用标量势能函数E(x)来描述网格上每个质点的能量,定制若干个目标量为0的局部能量函数C(x)∈R
每个质点i受到能量约束的力表示为:
设f
对于网格在三维上的每个质点x
将网格的运动行为分解为多个势能函数:
E(x)=∑
每个E
网格中每个三角形的拉伸力函数表示为:
Δx
i,j,k是三角形三个顶点的编号,u,v代表网格原始二维网格上的(u,v)坐标;
抵抗弯曲的剪切力函数为:
C(x)=w
阻尼力取决于点的速度,三角网格上点的阻尼力势能为:
ζ是阻尼系数;
自定义固定点的力势能为:
ψ
根据求出的速度
通过OT检测新的点x
从初始OT开始检索,若点所处的当前OT的isin=unknown,找到OT中x
若isin=false,跳过该步骤;
若isin=true,根据质点穿过的正方体空间面otf,计算x
施加一个反向的势能函数用于下一步迭代,所述反向的势能函数为:
每次模拟的时间步长h中记录其所包含的总能量e,当e<ε时,停止模拟过程,开始根据模拟的结果判断服装的合身性指数,其中阈值ε代表优化的精度;输出模拟网格的最终位置x;
通过向量叉乘取模的方法,计算模拟网格中每个三角形的面积,第i个三角形的面积为a
通过向量叉乘取模的方法,计算原始网格原始状态下每个三角形的面积为a′
通过所述表面积拉伸比例计算服装的合身度评价pvalue为:
/>
设置一个拉伸期望域值o,当合身度评价pvalue时小于设置阈值o时,进行步骤3,当合身度评价p时不小于设置阈值o时,输出当前CAD版片。
作为优选,所述步骤5中,所述增广目标函数为:
具体形式为:
作为优选,所述步骤6具体包括以下步骤:
6.1导入CAD版片第一个控制点的坐标p
将第一个点的坐标设置成新CAD版片结果的第一个点的坐标:
将
6.2更新剩下n-1个点的位置,更新公式为:
更新CAD版片的控制点集坐标p(u
6.3处理曲线的还原,对于每一个曲线上的每个点cp
作为优选,所述步骤7中,采用正均值坐标PMVC方法,更新CAD版片对应的原始网格中每个点的坐标。
本发明的实质性效果在于,在保证服装版片合身度的基础上,使得版片的形状更加的符合设计师设计出的初始形状,减少了设计师因为自适应版片调整导致的版片形变过大而需要重新进行手动调整的工作量,同时可以保证版片的对称效果,进一步降低了设计师自己调整版片对称性的繁琐工作。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单介绍,后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为本发明的流程图
图2为CAD版片和其对应的网格图
图3为服装网格模拟穿着效果图
图4为服装网格固定边缘后的效果图
图5为CAD版片中边长和角度定义图
图6为CAD版片上曲线的处理方法图
图7为优化前的CAD版片及其对应网格的模拟效果图
图8为CAD版片优化前后形状对比图
图9为CAD版片更新后网格更新的效果图
图10为网格更新后服装穿着的效果图
具体实施方式:
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
如图1所示,一种合身度驱动的服装CAD版片多约束自适应调整优化方法,具体步骤如下:
步骤1、将CAD板片网格化:
所述CAD板片是由二维控制点p
通过Delaulay三角网格剖分过程,将CAD版片控制点的坐标序列转化成由若干三角形组成的网格,作为原始网格,所述网格包括:网格中每个点的坐标和拓扑结构,所述拓扑结构为每个三角形的坐标索引,网格一共有m个质点和t个三角形。
CAD版片及其对应的网格如图2所示。
步骤2、评估服装的合身度。
基于八叉树方法生成人体碰撞模型八叉树结构OT,OT表示一个正方形空间是否在人体模型的内部或者外部,若无法判断,则当前OT继续细分为8个子OT分别表示当前正方形空间均分的8个子正方体空间,再继续判断当前空间是否在模型的内部或者外部。以模拟显示空间作为初始OT。设置一个细分深度最大值OT_MAX,若细分深度达到OT_MAX的情况下无法判断,停止细分,将当前OT设置为在模型内部。
每个OT包含其空间范围的最大坐标和最小坐标x
采用弹簧质点模型,将原始网格模拟运行到人体形状的碰撞模型上,输出与原始网格相同拓扑结构的模拟网格。
弹簧质点模型是指把网格作为质点和假设质点之间有很多根弹簧的结构,将网格三角形的边作为弹簧来保持整体网格的拉伸特性。人体碰撞模型是指将模拟空间用八叉树进行分割,切割出人体模型的八叉树树形结构来判断网格是否在人体内部还是在人体外部。
对于模拟网格在三维上的每个质点,计算其运动行为:
是质点的加速度,/>
定义t
运用隐式欧拉方法求出速度的变化量
将力f泰勒展开并进行一阶近似
将位移变化量Δx用速度变化量
整理得出不依赖Δx的Δv:
用标量势能函数E(x)来描述网格上每个质点的能量,定制若干个目标量为0的局部能量函数C(x)∈R
每个质点i受到能量约束的力表示为:
设f
对于网格在三维上的每个质点x
将网格的运动行为分解为多个势能函数:
E(x)=∑
每个E
网格中每个三角形的拉伸力函数表示为:
Δx
i,j,k是三角形三个顶点的编号,u,v代表网格原始二维网格上的(u,v)坐标。
抵抗弯曲的剪切力函数为:
c(x)=w
阻尼力取决于点的速度,三角网格上点的阻尼力势能为:
ζ是阻尼系数。
自定义固定点的力势能为:
ψ
根据求出的速度
通过OT检测新的点x
从初始OT开始检索,若点所处的当前OT的isin=unknown,找到OT中x
若isin=false,跳过该步骤。
若isin=true,根据质点穿过的正方体空间面otf,计算x
施加一个反向的势能函数为:
用于下一步迭代。
每次模拟的时间步长h中记录其所包含的总能量e,当e<ε时,停止模拟过程,开始根据模拟的结果判断服装的合身性指数,其中阈值ε代表优化的精度。
如图3所示,为模拟网格穿着在人体身上的效果。
如图4所示,为模拟网格固定边缘后的效果图。
计算模拟网格中每个三角形的面积,第i个三角形的面积为a
计算原始网格原始状态下每个三角形的面积为a′
计算服装的合身度评价pvalue为
设置一个服装的合身度阈值o,本实施例中,所设置的o为0.9,当合身度评价pvalue时小于设置阈值o时,进行步骤3的版片自适应修改流程,若满足合身度要求就停止优化,输出当前CAD版片。
初始o的值设为90%。调整o的值来设定对不同版片材质的伸缩性期望。
步骤3、处理模拟服装的数据
通过相邻边的夹角计算与相邻点的边长计算的方法,将CAD版片的控制点(p
l
next(i)=(i+1)mod n
pre(i)=(i-1+n)mod n
通过(θ,l)表示每个控制点p的坐标表示为:
将CAD版片转化为角度和长度,根据模拟服装网格的数据和CAD版片的角度计算出目标角度
目标角度和边长如下:
e是模拟网格上对应当前CAD板片边的每一个三角形上对应板片边缘的边长度。
如图5所示为CAD版片中边长和角度的对应关系。
对于设定成曲线的CAD边的处理,将对应曲线用控制点之间的直线代替,计算出曲线形状的相关参数保存。为了保证曲线恢复后能保持相应的形状,不受长度变化影响,将曲线信息计算为比例信息。对于第i条CAD边的曲线上的每个点j,将其计算为两个比例值,
曲线中每个控制节点的坐标表示为:
用p
对于曲线边的目标长度,要按照直线边做相应比例的换算:
是控制点之间曲线的长度。
记录对称信息,对于含有对称信息的CAD版片,根据对称的点的信息,找到其对应的对称的角度和边长,对于对称的点p
θ
l
l
将对称信息记录为两组点和边的索引
如图6所示为CAD版片上曲线的处理方法。
步骤4、构建优化问题方程
4.1设置优化目标:
需要求得的目标为CAD板片点的内角集θ
根据需要优化的目标长度和角度,构建出优化目标为:
α+β=1.0,α,β≥0
设置归一化参数α和β的参数来决定优化目标是倾向于保持形状还是保持大小。
4.2设置约束条件:
根据多边形的内角和定理设置角度约束:
根据CAD版片的封闭特性,CAD版片第n+1个点的坐标和第一个点的坐标重合,设初始点p
/>
对于CAD的版片的对称约束,设相等的角度对数为s,相等的边的对数为d,设置每一对的角度和边长相等的约束为:
和/>
步骤5、计算该优化问题
5.1使用拉格朗日乘数法将步骤4中构建的所述优化问题转化为增广目标函数
具体形式为:
5.2使用牛顿法计算上述增广目标函数,求得最优化问题的结果集,所述结果集包括:CAD版片对应多边形的角度和边长集(θ
步骤6、根据步骤5优化方程得到的CAD版片对应多边形的角度和边长,还原CAD版片每个控制点的坐标
6.1导入CAD版片第一个控制点的坐标p
将第一个点的坐标设置成新CAD版片结果的第一个点的坐标:
将
6.2更新剩下n-1个点的位置,更新公式为:
/>
更新CAD版片的控制点集坐标p(u
6.3处理曲线的还原,对于每一个曲线上的每个点cp
图7为优化前的CAD版片形状及其对应的网格模拟效果图。
图8为CAD版片优化前后形状对比图。
步骤7、采用正均值坐标PMVC方法,更新CAD版片对应的原始网格中每个点的坐标,返回步骤2。
图9为CAD版片网格更新后的效果图。
图10为网格更新后服装的穿着效果图。
以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
- 一种基于精准约束条件的圆柱齿轮传动优化设计方法及CAD优化设计系统
- 一种基于精准约束条件的圆柱齿轮传动优化设计方法及CAD优化设计系统