基于等几何弹簧质点模型的布料动态仿真方法技术

技术编号:19778591 阅读:55 留言:0更新日期:2018-12-15 11:24
本发明专利技术公开了基于等几何弹簧质点模型的布料动态仿真方法。本发明专利技术步骤:基于弹簧‑质点模型将布料面片离散成质点,质点与质点之间用三类弹簧相连;对布料的质点进行受力分析,计算出质点下一时刻的速度和位移,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束;分别构建布料和碰撞物的AABB层次包围体结构,进行碰撞检测,检测到发生碰撞时进行碰撞响应,否则直接进入下一步,碰撞响应后进入下一步;定义布料的张量积Bézier曲面模型,将弹簧‑质点模型中质点的位置投射到张量积Bézier曲面的控制顶点上,对布料面片进行动态表达和模拟。本发明专利技术能精确表达布料模型,仿真效率高,适用于虚拟试衣等应用。

【技术实现步骤摘要】
基于等几何弹簧质点模型的布料动态仿真方法
本专利技术属于计算机图形三维动态仿真领域,具体涉及一种基于等几何弹簧质点模型的布料动态仿真方法。
技术介绍
目前,虚拟试穿正成为国内外研究的一个热点,其中核心问题是对布料的仿真模拟。本专利技术立足于这一研究热点,对布料动态仿真进行了相关的探索和研究。自上个世纪80年代以来,很多学者都投入到布料仿真的研究中,并提出了许多有效的布料仿真理论和模拟方法。目前,国内外关于布料仿真的研究主要分为三个阶段:首先,布料仿真的研究起源可以追溯到Well在1986年关于布料模型的初步探索。该方法最先提出通过拟合在悬挂点和制约点之间的悬链线来模拟布料的外形。随后,Agui等和Ng等分别采用纯几何变换模拟了一些特殊情况下的织物仿真。因为基于纯几何的方法计算简单,因此模拟速度很快,但该方法仅能模拟出悬垂的布料,却不能表现出动态布料的真实特点。随后基于物理连续介质的弹性变形模型模拟出了布料真实的物理特点,然而连续体模型仿真性能不高,从微观上看,布料并不是一种严格的连续介质,不符合连续模型中的前提,使得较为复杂的连续模型也难以准确高效地表达出织物的皱裙等变形细节。并且连续介质模型由于计算量大且复杂,导致仿真效率低,因此,并不适用于实时性要求较高的虚拟试穿等场景。Provot首次提出以质点-弹簧模型来模拟约束下的柔性织物,他将布料离散为四边形网格,网格交点为质点,质点与质点之间以弹簧形式相连,该方法不仅计算效率高,而且能真实的模拟出布料的物理属性。但是基于弹簧-质点模型表达的布料,最终都是以三角形面片的形式表达,然而三角形表现的形式使得布料的表达不够精确和灵活,同时,三角形细分次数过多会大大减低仿真的速率。
技术实现思路
本专利技术针对上述现有技术的不足,提出一种基于等几何弹簧质点模型的布料动态仿真方法,根据已有的弹簧-质点结构作为布料的物理分析模型,并采用张量积Bézier曲面作为布料面片的表达模型。本专利技术采用的技术方案如下:本专利技术包括以下步骤:步骤1、基于弹簧-质点模型将布料面片离散成一个个质点,质点与质点之间用三类弹簧相连,构建出布料的物理分析模型。其中,结构弹簧连接经向或纬向上相邻的两个质点;剪切弹簧连接位于对角线上相邻的两个质点;弯曲弹簧连接在经向或纬向上中间间隔有一个质点的两个质点。步骤2、布料动态仿真过程中,将时间离散化为td,时间间隔为Δt,时间序列下标d=0,1,2...,n,对布料的质点进行受力分析,并采用显示欧拉法求解动力学方程组,计算出质点下一时刻的速度和位移;每次计算得到各质点在时刻td+Δt的位移后,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束。步骤3、分别构建布料和碰撞物的AABB层次包围体结构,通过构建出的AABB层次包围体结构进行碰撞检测,检测到发生碰撞时进行碰撞响应,否则直接进入步骤4;碰撞响应后进入步骤4。碰撞响应过程如下:当检测到发生碰撞时,如果布料发生碰撞的质点已经穿透到碰撞物中,那么将该发生穿透的质点上一时刻的位置赋值给该发生穿透的质点,从而将该发生穿透的质点位置调整至碰撞物表面;如果布料发生碰撞的质点未穿透到碰撞物中,则该发生碰撞的质点位置不做调整。步骤4、首先,由Bernstein基函数和控制点定义布料的张量积Bézier曲面模型;然后,将质点-弹簧模型中质点的位置投射到张量积Bézier曲面的控制顶点上,布料面片便用张量积Bézier曲面进行动态表达和模拟。进一步,步骤2中,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束时,首先进行位置修正,具体为:遍历与该质点相连的所有弹簧的伸长量是否在各弹簧原长的0.95~1.05倍之间,若超过则对与该质点相连的所有弹簧中最长或者最短的那根弹簧进行调整,调整方法是将该质点沿该弹簧方向移动至该弹簧形变为原长的0.95~1.05倍之间。然后对该质点的速度进行约束,具体为:先对该质点的速度进行矢量分解,将沿弹簧形变方向的速度分量设为零,而与弹簧形变方向垂直的速度分量减小至原来的0.8倍。进一步,步骤3中,碰撞检测过程为检测布料AABB层次包围体结构与碰撞物AABB层次包围体结构是否发生相交。本专利技术的有益效果是:本专利技术使用张量积Bézier曲面来动态的表达布料的面片。张量积Bézier曲面能够很好拟合控制点,精确地表达布料的分析模型;与基于三角网格逼近的仿真方法相比,本专利技术所提出的等几何弹簧质点模型无需预先进行三角网格细分,并且能够在精确表示布料几何模型的前提下进行高精度的动态仿真求解。仿真结果表明,本专利技术所提出的方法可在较少的自由度数目下得到高精度的动态仿真效果,不仅提高了仿真效率,而且展现出了布料局部柔性的动态仿真效果,适用于虚拟试衣等工程应用领域。附图说明图1是本专利技术的流程图;图2-1、图2-2、图2-3和图2-4分别是布料与虚拟环境中桌子发生碰撞响应时,在第2秒、第3.2秒、第4.5秒和第6秒时的碰撞响应仿真效果图。图3-1、图3-2和图3-3分别是通过张量积Bézier曲面来模拟旗袍动态仿真效果时旗袍初始形态效果图、通过鼠标拽动布料下边后产生的形变动态效果图以及通过鼠标转动后布料的形变效果图。具体实施方式下面结合附图对本专利技术的具体实施方式进行进一步阐释。如图1所示,基于等几何弹簧质点模型的布料动态仿真方法,具体步骤如下:步骤1、基于已有的弹簧-质点模型将布料面片离散成一个个质点,质点与质点之间用三类弹簧相连,构建出布料的物理分析模型。其中,结构弹簧连接经向或纬向上相邻的两个质点,作用是为了防止布料在经、纬方向上产生过度的拉伸和压缩形变,起到固定布料结构的作用。剪切弹簧连接位于对角线(斜线)上相邻的两个质点,作用是为了阻止布料斜向的过度变形,模拟布料的伸展性。弯曲弹簧连接在经向或纬向上中间间隔有一个质点的两个质点,弯曲弹簧用于模拟布料在弯曲或折叠时的抗弯曲性能。步骤2、布料动态仿真过程中,将时间离散化为td,时间间隔为Δt,时间序列下标d=0,1,2...,n,进行布料受力分析,布料受力包括各质点的重力、各弹簧-质点模型的阻尼力、碰撞物的碰撞响应支持力以及各质点间弹簧的弹力,其中,各质点的运动符合牛顿第二定律。然后使用计算效率较高的显示欧拉法来求解系统动力学方程,求解质点下一个时刻的速度和位移如下:(1)式中,sij(td),vij(td),aij(td)分别为布料第i行第j列的质点在时刻td的位移、速度和加速度,而时刻td+Δt的位移和速度分别表示为sij(td+Δt)和vij(td+Δt)。根据公式(1)每次计算得到各质点在时刻td+Δt的位移后,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束。本专利技术中,首先设定各弹簧的原长,在仿真过程中,弹簧发生形变的长度范围不在弹簧原长的0.95~1.05倍之间时,就可能产生超弹性现象。超弹性现象产生的原因是由于在仿真过程中,将弹簧的伸缩量与弹力大小理想成线性的关系,但在实际中,当弹簧的长度超过一定范围后,其伸缩量和弹力之间将变成非线性关系,这就使得布料在一些受力较集中的局部区域(如布料悬挂点处)被过度拉伸或者产生过度的收缩,从而造成超弹性现象的产生,使布料呈现出不真实的形变状态。对与发生超弹性现象的弹簧相连的质点进行位置修正和速度本文档来自技高网
...

【技术保护点】
1.基于等几何弹簧质点模型的布料动态仿真方法,其特征在于:该方法包括以下步骤:步骤1、基于弹簧‑质点模型将布料面片离散成一个个质点,质点与质点之间用三类弹簧相连,构建出布料的物理分析模型;其中,结构弹簧连接经向或纬向上相邻的两个质点;剪切弹簧连接位于对角线上相邻的两个质点;弯曲弹簧连接在经向或纬向上中间间隔有一个质点的两个质点;步骤2、布料动态仿真过程中,将时间离散化为td,时间间隔为Δt,时间序列下标d=0,1,2...,n,对布料的质点进行受力分析,并采用显示欧拉法求解动力学方程组,计算出质点下一时刻的速度和位移;每次计算得到各质点在时刻td+Δt的位移后,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束;步骤3、分别构建布料和碰撞物的AABB层次包围体结构,通过构建出的AABB层次包围体结构进行碰撞检测,检测到发生碰撞时进行碰撞响应,否则直接进入步骤4;碰撞响应后进入步骤4;碰撞响应过程如下:当检测到发生碰撞时,如果布料发生碰撞的质点已经穿透到碰撞物中,那么将该发生穿透的质点上一时刻的位置赋值给该发生穿透的质点,从而将该发生穿透的质点位置调整至碰撞物表面;如果布料发生碰撞的质点未穿透到碰撞物中,则该发生碰撞的质点位置不做调整;步骤4、首先,由Bernstein基函数和控制点定义布料的张量积Bézier曲面模型;然后,将弹簧‑质点模型中质点的位置投射到张量积Bézier曲面的控制顶点上,布料面片便用张量积Bézier曲面进行动态表达和模拟。...

【技术特征摘要】
1.基于等几何弹簧质点模型的布料动态仿真方法,其特征在于:该方法包括以下步骤:步骤1、基于弹簧-质点模型将布料面片离散成一个个质点,质点与质点之间用三类弹簧相连,构建出布料的物理分析模型;其中,结构弹簧连接经向或纬向上相邻的两个质点;剪切弹簧连接位于对角线上相邻的两个质点;弯曲弹簧连接在经向或纬向上中间间隔有一个质点的两个质点;步骤2、布料动态仿真过程中,将时间离散化为td,时间间隔为Δt,时间序列下标d=0,1,2...,n,对布料的质点进行受力分析,并采用显示欧拉法求解动力学方程组,计算出质点下一时刻的速度和位移;每次计算得到各质点在时刻td+Δt的位移后,对与发生超弹性现象的弹簧相连的质点进行位置修正和速度约束;步骤3、分别构建布料和碰撞物的AABB层次包围体结构,通过构建出的AABB层次包围体结构进行碰撞检测,检测到发生碰撞时进行碰撞响应,否则直接进入步骤4;碰撞响应后进入步骤4;碰撞响应过程如下:当检测到发生碰撞时,如果布料发生碰撞的质点已经穿透到碰撞物中,那么将该发生穿透的质点上一时刻的位置赋值给该发生穿透的质点,从而将该发生穿透的质点位置调整至碰撞物表面;如果布料发生碰...

【专利技术属性】
技术研发人员:徐岗李鹏高肖周芳许金兰吴卿
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1