公开/公告号CN113191018A
专利类型发明专利
公开/公告日2021-07-30
原文格式PDF
申请/专利权人 杭州相芯科技有限公司;
申请/专利号CN202110560127.9
申请日2021-05-21
分类号G06F30/20(20200101);G06F113/12(20200101);G06F119/14(20200101);
代理机构11335 北京汇信合知识产权代理有限公司;
代理人卢亮辉
地址 310000 浙江省杭州市滨江区滨安路1197号3幢436室
入库时间 2023-06-19 12:02:28
技术领域
本发明涉及仿真技术领域,尤其涉及一种基于弹簧质点模型的各项异性材质的布料仿真方法、系统、电子设备及存储介质。
背景技术
现实世界中布料的材质属性往往是各项异性的,布料的拉伸、弯曲属性在不同方向是不一致的,增强了布料表面的褶皱等细节的多样性。
为了考虑各项异性,布料仿真往往利用有限元技术进行复杂的建模与运算,如Data-Driven Elastic Models for Cloth:Modeling and Measurement;这些方法可以精确建模布料局部的各项异性拉伸与各项异性弯曲,但是往往计算量较大并且需要布料有一个非常好的三角形网格表达。
实际工程中,考虑到计算效率、代码简单性、运行稳定性、参数可控性等因素,往往会使用弹簧质点模型:把布料建模三角形网格的每条边建模为一根弹簧,然后基于此来进行后续物理仿真。但是现有弹簧质点模型无法有效支持各项异性材质。
发明内容
针对上述问题中存在的不足之处,本发明提供一种基于弹簧质点模型的各项异性材质的布料仿真方法、系统、电子设备及存储介质。
为实现上述目的,本发明提供一种基于弹簧质点模型的各项异性材质的布料仿真方法,包括:
对初始状态下的布料进行离散化的三角形网格划分,获得所述布料上每个三角形顶点坐标;
将初始状态下的所述布料在二维纹理坐标系中展开铺平,获得每个所述三角形顶点的二维纹理坐标;
按照牛顿力学以及胡克定律,对每个所述三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个所述三角形顶点的新坐标;
根据所述三角形顶点的新坐标以及拓扑连接关系,计算出表面的法向量并进行渲染,实时仿真地绘制出动态形变可视化的效果;
其中,对每个所述三角形顶点进行质点弹簧迭代形变计算包括每个所述三角形顶点中任意两个顶点之间弹力,所述弹力的强度系数包括位于所述二维纹理坐标系中X轴和Y轴方向。
优选的是,对初始状态下的布料进行离散化的三角形网格划分,获得所述布料上每个三角形顶点坐标的步骤包括:
对所述布料的不同面分别离散化并缝合,形成由三角形面片组成的离散化表示;
采用改进误差扩散算法,在离散化曲面上按一定的密度进行初始布点;
采用基于空间距离的粒子动力松弛算法对点云进行初步均匀化;
采用基于曲面距离的k均值算法进行再次均匀化;
对均匀的点云求基于曲面距离的Voronoi图,并获得三角网格;
对三角网格进行拓扑优化;
采用弹簧质点法对三角网格进行光顺优化。
优选的是,对每个所述三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个所述三角形顶点的新坐标步骤包括:
根据弹性材质方程公式:
其中,p为所有所述三角形顶点坐标;t为当前时刻;t
优选的是,所述W(p)包括弹簧拉力E
所述弹簧拉力E
任意一个所述三角形中的两个顶点i、j形成边e
所述边u
另外,所述边u
由欧拉公式可知,沿所述边u
H
由胡克定律可知,则
其中,
则W(p)=E
优选的是,本实施例还提供了一种实现如上述所述方法的系统,包括:
划分模块,用于对初始状态下的布料进行离散化的三角形网格划分,获得所述布料上每个三角形顶点坐标;
展开模块,用于将初始状态下的所述布料在二维纹理坐标系中展开铺平,获得每个所述三角形顶点的二维纹理坐标;
计算模块,用于按照牛顿力学以及胡克定律,对每个所述三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个所述三角形顶点的新坐标;
渲染模块,用于根据所述三角形顶点的新坐标以及拓扑连接关系,计算出表面的法向量并进行渲染,实时仿真地绘制出动态形变可视化的效果。
优选的是,本实施例还提供了一种电子设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述所述的方法。
优选的是,本实施例还提供了一种存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述所述的方法。
与现有技术相比,本发明的有益效果为:
本发明在弹簧质点模型的基础上,引入了不同方向不同的弹力系数,考虑了局部材质方向,使得布料仿真可以通过调节局部材质方向二维参数控制布料的各向异性行为,使得仿真效果更加准确。
附图说明
图1为本发明中基于弹簧质点模型的各项异性材质的布料仿真方法的流程示意图;
图2为本发明输入布料以及局部放大细节三角形网格的渲染图像;
图3为本发明输入布料二维展开以及局部放大细节纹理坐标的渲染图像;
图4为本发明一种实施例的仿真图像;
图5为本发明另一种实施例的仿真图像。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图1对本发明做进一步的详细描述:
参照图1,本发明提供一种基于弹簧质点模型的各项异性材质的布料仿真方法、系统、电子设备及存储介质,方法包括:
对初始状态下的布料进行离散化的三角形网格划分,获得布料上每个三角形顶点坐标;
具体地,对布料的不同面分别离散化并缝合,形成由三角形面片组成的离散化表示;
采用改进误差扩散算法,在离散化曲面上按一定的密度进行初始布点;
采用基于空间距离的粒子动力松弛算法对点云进行初步均匀化;
采用基于曲面距离的k均值算法进行再次均匀化;
对均匀的点云求基于曲面距离的Voronoi图,并获得三角网格;
对三角网格进行拓扑优化;
采用弹簧质点法对三角网格进行光顺优化。
将初始状态下的布料在二维纹理坐标系中展开铺平,获得每个三角形顶点的二维纹理坐标;
按照牛顿力学以及胡克定律,对每个三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个三角形顶点的新坐标;
根据三角形顶点的新坐标以及拓扑连接关系,计算出表面的法向量并进行渲染,实时仿真地绘制出动态形变可视化的效果;
其中,对每个三角形顶点进行质点弹簧迭代形变计算包括每个三角形顶点中任意两个顶点之间弹力,弹力的强度系数包括位于二维纹理坐标系中X轴和Y轴方向。通过上述方法,引入了不同方向的弹力的强度系数,使得布料仿真可以通过调节局部材质方向二维参数控制布料的各向异性行为,使得仿真效果更加准确。
在本实施例中,对每个三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个三角形顶点的新坐标步骤包括:
根据弹性材质方程公式:
其中,p为所有三角形顶点坐标;t为当前时刻;t
进一步地,W(p)包括弹簧拉力E
弹簧拉力E
任意一个三角形中的两个顶点i、j形成边e
边u
另外,边u
由欧拉公式可知,沿边u
H
由胡克定律可知,则
其中,
则W(p)=E
在本实施例中,为了更快速的求解p
由W(p)=E
然后,在
其中,
上述为一个稀疏线性问题,本发明使用标准的共轭梯度法进行求解得到
参考图2,其中左图为输入布料,右图是左图局部区域放大后三角形网格的显示;
参考图3,其中左图为输入布料三角形网格的二维展开,右图是左图局部区域放大后的纹理坐标显示。
本实施例中,首先输入布料,然后用标准的Delaunay三角化方法进行离散化的三角形网格划分,得到初始状态下布料上每个三角形顶点坐标;然后用论文"Least squaresconformal maps for automatic texture atlas generation"的方法将初始状态下的布料在二维纹理坐标系中展开,获得每个三角形顶点的二维纹理坐标;之后按照牛顿力学以及胡克定律,对每个三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个三角形顶点的新坐标;最后根据新坐标计算法向量并进行渲染得到仿真结果图。
具体的,为了验证本发明各项异性拉伸系数的效果,参考图4,本发明设计场景,让输入布料沿重力方向下落到一个圆柱上;图(a)中本发明设置X,Y方向的拉伸系数
具体的,为了验证本发明各项异性弯曲系数的效果,参考图5,本发明设计场景,让输入布料沿重力方向下落到一个球上;图(a)中本发明设置X,Y方向的弯曲系数
在本实施例中,本发明还提供了一种实现如上述所述方法的系统,包括:
划分模块,用于对初始状态下的布料进行离散化的三角形网格划分,获得所述布料上每个三角形顶点坐标;
展开模块,用于将初始状态下的所述布料在二维纹理坐标系中展开铺平,获得每个所述三角形顶点的二维纹理坐标;
计算模块,用于按照牛顿力学以及胡克定律,对每个所述三角形顶点进行弹簧质点形变计算,获得每个时间节点上的每个所述三角形顶点的新坐标;
渲染模块,用于根据所述三角形顶点的新坐标以及拓扑连接关系,计算出表面的法向量并进行渲染,实时仿真地绘制出动态形变可视化的效果。
在本实施例中,,本发明还提供了一种电子设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述所述的方法。
在本实施例中,,本发明还提供了一种存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述所述的方法。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 包含至少一个模型路由器,计算机程序产品和相应存储介质的至少一个模型构造的复杂系统的仿真方法
机译: 用于硬件验证的编程语言模型生成设备,用于硬件验证的编程语言模型生成方法,计算机系统,硬件仿真方法,控制程序和计算机可读存储介质
机译: 使用晶体管模型的仿真方法,以及基于使用晶体管模型的仿真方法的包括场效应晶体管的电路的操作控制方法