一种布料仿真中消除嵌入的方法及系统与流程

文档序号:18553884发布日期:2019-08-30 22:19阅读:212来源:国知局
一种布料仿真中消除嵌入的方法及系统与流程

本发明涉及布料仿真消除嵌入方法和系统领域,尤其是一种布料仿真中消除嵌入的方法及系统。



背景技术:

布料仿真在服装设计、电子商务、服装定制等很多领域都有广泛的应用,而布料仿真中的关键就是接触仿真和消除嵌入。布料仿真指根据布料所受到的内力和外力,代入力学方程求解布料的运动轨迹。

现实中的布料因为接触力的存在不会相互嵌入,但是在动力学仿真中,两块没有嵌入的布是不可能产生相互的接触力。因此普遍的做法是先允许布产生相互嵌入的假设下进行一次动力学仿真,然后再根据嵌入情况引入接触力,最后在接触力的作用下进行下一次动力学仿真,不断重复以上流程,在此循环过程中通过接触力将相互嵌入消除。

有效的嵌入消除是布料仿真中重要的一个环节。传统的接触力学将接触力的方向设为接触面的法向,这种方法在消除嵌入时效率较低,因为接触面的法向不是嵌入消除最快捷的方向。因此,需要一种消除嵌入的方法能克服以上问题。



技术实现要素:

本发明的目的在于:本发明提供了一种布料仿真中消除嵌入的方法及系统,解决现有采用传统的接触力学模型消除嵌入存在消除嵌入效率低的问题。

本发明采用的技术方案如下:

一种布料仿真中消除嵌入的方法,包括如下步骤:

根据仿真对象建立计算模型后计算相互嵌入的三角形对和三角形对的嵌入面积;

计算嵌入面积对移动方向的梯度向量,并以所述梯度向量作为接触力的方向;

施加上述方向的接触力驱使布料发生位移消除嵌入。

优选地,所述计算嵌入面积对移动方向的梯度向量包括如下步骤:

步骤a:计算嵌入对应的交叉线段长度l和方向r:

r=(pi+1-pi)/l(2)

其中,pi=[xi,yi,zi]和pi+1=[xi+1,yi+1,zi+1]分别表示三角网格中有两个三角形相互穿插时两个交点的坐标;

步骤b:计算交叉线段长度的梯度g:

其中,n和n′分别表示两三角形的法向向量;a和a′表示第二个三角形两个相交边的方向向量;式(3)表示一个三角形插入另一个三角形内部时交叉线段长度的梯度g;式(4)表示两个三角形互相插入时交叉线段长度的梯度g;

步骤c:计算嵌入面积对移动方向的梯度向量h:

其中,o′表示相交区域内的任意一点的坐标,ω表示向量叉乘算子,ω(a)b=a×b。

一种布料仿真中消除嵌入的系统,包括

计算机建模模块:用于建立仿真物体的网络模型,所述网络模型包括几何形状单元,所述几何形状单元包括三角形和/或四边形;

嵌入消除模块:用于识别网络模型对应的嵌入区域后计算嵌入面积,并计算嵌入面积对移动方向的梯度向量后获取接触力方向;

力学仿真模块:用于根据力学方程计算仿真物体在特定内外力下的运动轨迹,所述特定内外力包括接触力。

优选地,所述嵌入消除模块包括交叉线段长度和方向计算模块、交叉线段长度的梯度计算模块和嵌入面积对移动方向的梯度向量计算模块,所述嵌入面积对移动方向的梯度向量计算模块根据交叉线段长度和方向计算模块、交叉线段长度的梯度计算模块的计算结果计算嵌入面积对移动方向的梯度向量。

优选地,所述嵌入消除模块还包括相交计算单元,用于判断任意两个三角形是否相交以及相交点的坐标。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明计算嵌入面积对移动方向的梯度向量,并以所述梯度向量作为接触力的方向,避免现有采用传统的接触力学消除嵌入存在的效率低的问题,达到了快速消除布料仿真中的相互嵌入,更高效地仿真多层布的接触现象的效果;

2.本发明的原理:当三角形i和三角形ii有嵌入面积f的时候,假设三角形i作为参照物,三角形ii移动距离[u,v,w],则向量[df/du,df/dv,df/dw]就是嵌入面积对移动距离的梯度,三角形ii对i施加一个方向为梯度向量的力(同时i对ii会产生一个相反方向的力),则ii会相对于i向梯度相反的方向移动,使得嵌入面积f以最高效的方式被消除;

3.本发明提供一种消除嵌入的系统,通过嵌入消除模块网络模型对应的嵌入区域后计算嵌入面积,并计算嵌入面积对移动方向的梯度向量后获取接触力方向后,力学仿真模块根据力学方程计算仿真物体在特定内外力下的运动轨迹,从而消除布料仿真中的嵌入,将梯度向量方向作为接触力进行力学仿真,实现快速消除嵌入。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的效果示意图;

图2为本发明的计算模块示意图;

图3为本发明的两个三角形嵌入示意图;

图4为本发明的布落在球上的仿真效果示意图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以下结合实施例对本发明的特征和性能作进一步的详细描述。

实施例1

有效的嵌入消除是布料仿真中重要的一个环节。传统的接触力学将接触力的方向设为接触面的法向,这种方法在消除嵌入时效率较低,因为接触面的法向不是嵌入消除最快捷的方向。因此本申请提出一种消除嵌入的方法,包括如下步骤:

第一步:将需要仿真的布料和球建立计算模型,用离散的三角形网络模拟现实中的物体,如图2所示。

第二步:通过遍历,循环对模型内的任意两个三角形进行如下操作:

第三步:相交判断,如果没有相交则不存在接触力,则运算结束;如果有相交则进行第四至第七步计算;

第四步:获取两个三角形的法向量n和n′,两个交点的坐标pi=[xi,yi,zi]和pi+1=[xi+1,yi+1,zi+1],第二个三角形两个相交边的方向向量a和a′,如图3所示:

计算交叉线段长度l和方向r:

r=(pi+1-pi)/l

第五步:根据嵌入方式计算交叉线段长度对移动方向的梯度向量g:

情况i,

情况ii,

第六步:计算嵌入面积对移动方向的梯度向量h:

其中,o′表示相交区域内的任意一点的坐标,ω表示向量叉乘算子,ω(a)b=a×b。

第七步:在仿真模型中施加方向为h接触力,布料在接触力的驱使下运动,发生位移,实现消除嵌入。

如图1所示,根据消除嵌入前后的对比,可直观看出本申请的消除嵌入效果极佳,腰带部分的嵌入消除,布料仿真效果佳;如图4所示,仿真布料落在球体上,随着时间的推移,布料落在球体上并产生褶皱,每个时间增量布料内产生的嵌入被消除,从而整个过程没有嵌入,呈现了真实的仿真结果;本申请计算嵌入面积对移动方向的梯度向量,并所述梯度向量作为接触力的方向,避免现有传统的接触力学模型消除嵌入存在消除嵌入效率低的问题,达到了快速消除布料仿真中的相互嵌入,更高效地仿真多层布的接触现象的效果;原理为:当三角形i和三角形ii有嵌入面积f的时候,假设三角形i作为参照物,三角形ii移动距离[u,v,w],则向量[df/du,df/dv,df/dw]就是嵌入面积对移动距离的梯度,三角形ii对i施加一个方向为梯度向量的力(同时i对ii会产生一个相反方向的力),则ii会相对于i向梯度相反的方向移动,使得嵌入面积f以最高效的方式被消除;梯度方向代表变化率最快的方向,通过计算嵌入面积对移动方向的梯度向量,并所述梯度向量作为接触力的方向,布在接触力的驱使下运动,快速消除布料仿真中的相互嵌入,更高效地仿真多层布的接触现象。

实施例2

基于实施例1,提供一种布料仿真中消除嵌入的系统;所述系统包括处理器、存储器和存储在所述存储器中并可在处理器上运行的计算机程序,例如“根据仿真对象建立计算模型后计算相互嵌入的三角形对和三角形对的嵌入面积;计算嵌入面积对移动方向的梯度向量,并以所述梯度向量作为接触力的方向;施加上述方向的接触力驱使布料发生位移消除嵌入。”程序,计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在系统中的执行过程。例如,所述计算机程序可以被分割成计算机建模模块、嵌入消除模块和力学仿真模块,计算机建模模块:用于建立仿真物体的网络模型,所述网络模型包括几何形状单元,所述几何形状单元包括三角形和/或四边形;嵌入消除模块:用于识别网络模型对应的嵌入区域后计算嵌入面积,并计算嵌入面积对移动方向的梯度向量后获取接触力方向;力学仿真模块:用于根据力学方程计算仿真物体在特定内外力下的运动轨迹,所述特定内外力包括接触力。所述系统可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是所述系统的示例,并不构成对所述系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述系统设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述分辨率提升系统的控制中心,利用各种接口和线路连接整个分辨率提升系统的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述分辨率提升系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

综上,嵌入消除模块包括交叉线段长度和方向计算模块、交叉线段长度的梯度计算模块和嵌入面积对移动方向的梯度向量计算模块,所述嵌入面积对移动方向的梯度向量计算模块根据交叉线段长度和方向计算模块、交叉线段长度的梯度计算模块的计算结果计算嵌入面积对移动方向的梯度向量,嵌入消除模块还包括相交计算单元,用于判断任意两个三角形是否相交以及相交点的坐标;将所述梯度作为接触力的方向,在仿真模型中施加方向为上述方向的接触力,布在接触力的驱使下运动,避免现有传统的接触力学模型消除嵌入存在消除嵌入效率低的问题,达到了快速消除布料仿真中的相互嵌入,更高效地仿真多层布的接触现象的效果。

附图中为区别不同的三角形,对其进行填充,特此说明;效果图和示意图中为充分表达/显示消除嵌入效果,因此保留填充,特此说明。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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