CN109118561A - 一种基于位置的层次化动态模拟方法 - Google Patents
一种基于位置的层次化动态模拟方法 Download PDFInfo
- Publication number
- CN109118561A CN109118561A CN201810821225.1A CN201810821225A CN109118561A CN 109118561 A CN109118561 A CN 109118561A CN 201810821225 A CN201810821225 A CN 201810821225A CN 109118561 A CN109118561 A CN 109118561A
- Authority
- CN
- China
- Prior art keywords
- grid
- cloth
- location
- simulation
- particle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于位置的层次化动态模拟方法,涉及计算机图形学技术领域,该方法包括:创建一副布料网格,构造网格的特征信息并保存;根据网格的特征信息构造属于该网格的网格层次化系统;对布料模拟环境进行设置;根据基于位置的动态模拟方法PBD,结合网格层次化系统和布料模拟环境进行收敛加速。本发明的方法相对现有技术来说更加简单明了,不但在模拟效果上得到了提升,并且在收敛速度上也有很大提升。
Description
技术领域
本发明涉及计算机图形学技术领域,特别是涉及一种基于位置的层次化动态模拟方法,通过本发明模拟的动态布料或者动画将能更快更高效的达到收敛状态,为图形学动态模拟方面提供了一种高效的解决方案。
背景技术
在计算机动画中,布料动画模拟是重要的研究方向之一,受到了很多研究者的关注。如何让一个平面真实的反应出其自身的连贯性,拉伸性,碰撞性和收到外力的反应成为了研究的重点。目前已有的众多算法在效果、效率以及真实性上的差异性较大,所以研究一个综合性更强,效果更好,效率更高的模拟算法是当前布料模拟的重点研究方向,同时也为后续其他材质的模拟奠定基础。布料动画模拟包括了对于布料建模、数值计算与模拟方法三个方面。
对于布料模拟的建模有以下三种比较典型的方法,第一种就是根据一些经验性的几何方程来表示材质特有的物理特性,其优点是可以高效生成的良好的模拟效果。典型的模型有悬链线模型,纯几何变换形变模拟模型,基于纹理生成皱褶模型与双层几何模型(衣服层、皮肤层)。第二种是基于布料的摩擦、弹性系数等物理特征,通过构造三角网格或矩形网格的结构力学模型和能量状态模型,然后根据动力学方程进行数值求解,优点是可以更加逼真的显示布料。该方法又分为连续体模型和离散体模型,连续体模型典型的有弹性形变模型,线性应变力模型,非线性应变力模型和细分有限元模型。目前对于离散型模型研究最为深入,典型的代表有Breen等提出的粒子模型,Provot等提出的质点-弹簧模型,Kikuuwe R等提出的通用粒子模型。第三种就是综合以上两种方法的优点,即几何模型的高效性和物理模型的逼真性。除了以上几种典型的模型外,LuJia等提出了一种基于NURBS的物理模型,该模型在布料仿真程度上达到了新的高度,但是仍然存在模拟效率低和布料收敛速度慢等问题。
对于数值计算有以下4种典型的求解模型,第一种是显式Eluer积分方法,该方法相较于其他方法算法效率更高;第二种是隐式Eluer积分方法,主要应用于解决刚性材料的模拟;第三种是4阶Runge-Kutta积分框架,该方法的优点是模拟精度高,模拟效果良好,缺点是算法效率较低,不能实时显示结果;第四种是Verlet积分框架,该方法针对几种方法的缺点进行了改进,耗时少且模拟效果精度较高。
在布料模拟的过程中,力学模型中传统的方法是利用牛顿力学方程求解,通过利用加速度与质点质量对动态物体的运动轨迹进行求解,其中存在与真实相差较大的模拟误差,因此基于此方法研究的主要目的是尽可能降低误差,以此提高模拟效果。在传统的计算模型中,大量的计算问题导致了显示模拟结果时出现卡顿和逼真性下降等问题,而基于位置的方法能较好的解决这些问题。
基于位置的动态模拟(PBD)是游戏和交互式应用中变形体的实时仿真的流行方法。该方法的简单性和鲁棒性特别具有吸引力,并且最近在游戏,电影和医学模拟应用之外受到欢迎。随着知名度的提高,PBD的局限性也越来越被关注。PBD的行为取决于模拟的时间步长和迭代次数。具体而言,随着迭代次数的增加,或随着时间步长的减少,约束条件变得非常死板。当创建具有各种材料类型的场景时,参数的这种耦合是特别可能引发问题的,例如:与近乎刚体相互作用的柔体。在这种情况下,提高迭代次数来获得一个对象的刚度可能会无意中改变其他仿真对象的行为。这往往需要在整体范围内重新调整刚度系数,使得创建出重复使用的仿真资产是非常困难的。例如,在布料模型中设置拉伸和弯曲约束的相对刚度,就可以单独设置迭代次数。更糟糕的是,迭代次数的影响是非线性的,难以直观地调整参数,或者很难将重新定义的值作为迭代计数的简单函数。而基于位置的层次化动态模拟方法将(PBD)的非线Gauss-Seidel求解器转化为基于非线性多重网格的算法,从而显着增加了PBD方法的收敛速度,同时又保持了各自的特点,但是在具体的实现中,在构造多重网格(约束网格)时,约束网格的质量严重影响了收敛的速度和模拟效果,并且在多层约束网格的层次关联上存在父子粒子关系不确定的问题。在X-PBD方法中,虽然提出了新的控制布料模拟的手段,但是对于层次化模拟的不确定问题、模拟时存在的局部收敛问题并没有解决。在最近提出的基于采样的层次化模拟方法中,虽然能较好的解决层次化的网格质量问题,但是网格质量的不可控性使得其在应用中和理论上存在着很大的不确定。
发明内容
本发明实施例提供了一种基于位置的层次化动态模拟方法,用以克服上述技术缺陷。该方法结合图形处理操作和三维建模技术,首先需要设定使用简化网格矫正的总约束网格层次数,紧接着需要利用原始网格的基本网格结构构造出约束层次网格,然后利用约束层次网格实现二次加速。
本发明提供了基于位置的层次化动态模拟方法,该方法包括以下步骤:
步骤一,创建一副布料网格,构造网格的特征信息并保存;
步骤二,根据网格的特征信息构造属于该网格的网格层次化系统;
步骤三,对布料模拟环境进行设置;
步骤四,根据基于位置的动态模拟方法PBD,结合网格层次化系统和布料模拟环境进行收敛加速。
本发明实施例中的基于位置的层次化动态模拟方法,其优点在于:
(1)与现有的基于位置的动态模拟算法比较,其模拟效果进一步提升,在其中的超重力与约束过度现象都得到了全面的修复。
(2)与现有的基于位置的层次化动态模拟算法比较,首先构造方面更加简单明了,易于操作,其次在模拟效果上得到了提升,并在速度上更加高效,最后是在收敛速度上得到了质的飞跃。
(3)与现有的风场效果比较,本发明在动态风场的条件下稳定并且逼真。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中基于位置的层次化动态模拟方法流程图;
图2为本发明实施例中的质点弹簧模型示意图;
图3为本发明实施例中采样第一层的示意图;
图4为本发明实施例中采样第二层的示意图;
图5为本发明实施例中采样第三层的示意图;
图6为本发明实施例中权值关联模型的示意图;
图7为本发明实施例中层次化第一层的示意图;
图8为本发明实施例中层次化第三层的示意图;
图9为本发明实施例中层次化第五层的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明实施例提供了基于位置的层次化动态模拟方法,该方法首先设定使用简化网格矫正的总约束网格层次数,紧接着利用原始网格的基本网格结构构造出约束层次网格,最后在模拟的过程中利用层次化网格进行再加速。具体实施包括以下步骤:
步骤1:创建一副布料网格,构造网格的特征信息,使用同样图形文件obj类型保存。实现过程包括:
步骤1.1:确定布料建模模型,如本发明使用的是典型的质点-弹簧模型。如图2所示。
步骤1.2:确定布料纤维密度,确定粒子质点间的受力范围。
步骤1.3:确定布料大小,包括行列纤维数量,以及各行列上粒子的个数。
步骤2:根据步骤1中的图元信息构造属于其的网格层次化系统,过程包括:
步骤2.1:读取步骤1所确定的obj布料网格,并保存其中的位置信息以及三角形序列对。
步骤2.2:根据布料单层的模拟情况通过理论模式进行预估,确定需要层次优化的层次数,并确定约束矫正方程,在该发明中通常使用约束方程对弹簧质点间的距离进行矫正,首先通过牛顿动力学方程对质点的位置进行预测,然后使用方程对超出预期阈值的质点进行矫正,使其恢复到理论位置内,最后在将这些矫正后的质点渲染模拟。对于距离约束使用的方程如公式(1):
C(p1,p2)=|p1-p2|-d (1)
在公式(1)中,p1,p2表示要操作的两个粒子,|p1-p2|表示两粒子点间实际距离,d表示理论距离,在本文中理论值等于原始距离。当函数值不为0时,就需要利用约束方程进行矫正,首先需要计算质点间约束变化最快的方向,即距离约束函数的梯度这样就可以确保变化的方向,然后通过在该方向上矫正变化量,最后使约束中的两个粒子恢复到约束范围内。总结以上,可以得到如公式(2):
步骤2.3:首先确定采样密度,然后利用体素化方法进行逐层采样。此处的逐层采样是指当处于第一层时,需要对原始网格进行采样,当处于第2层时,需要对第1层样本进行再采样。
步骤2.4:在步骤2.3的基础上,利用PCL点云三角重建算法构建每一采样层次的三角形并逐层保存。在采样重构的过程中,体素化方法采样重构效果如图3-图5所示。
步骤2.5:在步骤2.4获取每一层采样三角形后,利用本发明提出的权值确定模型确定层次间的关联关系、层次间父子粒子关系,如图6所示,从而使得局部增速不再单一依赖约束循环迭代的次数,而是使其依赖于各层次对原始粒子的影响权重的累积。在具体的操作中,我们使用如下方法进行对权值的计算:
对于图6中的x1,x2,x3分别用a,b,c表示,并且与P均存在于三维空间,则必然存在一组一维变量w1,w2,w3,使得:
P=w1a+w2b+w3c (3)
这个式子等价于:
假如使用P表示Fine粒子的位置矩阵,A表示其父亲节点的位置矩阵,W表示其权重矩阵,则有:
P=A·W (4)
则可以推导出:
W=A-1·P (5)
求出父子权值后,便可以在模拟时使用对应权值更新子节点位置,从而避免了约束震荡问题,加快收敛速度。
步骤3:对布料模拟环境进行设置,该步骤包括:
步骤3.1:设置重力环境,其中包括超重、失重、正常等。
步骤3.2:设置风力条件。
步骤3.3:设置空气湿度,与布料湿润程度。
步骤4:根据基于位置的动态模拟方法进行模拟,并结合步骤2中的层次化系统进行收敛加速,该步骤包括:
步骤4.1:初始化模拟环境、初始化布料于初始位置,设定其运动轨迹,如本发明为自由落体。
步骤4.2:使用动力学方程对布料位置下一帧位置进行预测。
步骤4.3:使用基于位置的动态算法对预测位置进行初步矫正。
步骤4.4:使用基于位置的层次化动态算法对步骤4.3产生的结果再进行2次矫正,并将每一层次的矫正信息传递给原始布料,从而加快收敛速度。
步骤4.5:重复步骤4.3、4.4直至理想状态或者终止条件。
使用本发明的模拟方法的模拟效果如图7-9所示。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.基于位置的层次化动态模拟方法,其特征在于,该方法包括以下步骤:
步骤一,创建一副布料网格,构造网格的特征信息并保存;
步骤二,根据网格的特征信息构造属于该网格的网格层次化系统;
步骤三,对布料模拟环境进行设置;
步骤四,根据基于位置的动态模拟方法PBD,结合网格层次化系统和布料模拟环境进行收敛加速。
2.如权利要求1所述的基于位置的层次化动态模拟方法,其特征在于,步骤二中网格层次化系统的构造方法为:
读取步骤一创建的布料网格,保存其中的位置信息以及三角形序列对;
根据布料单层的模拟情况通过理论模式进行预估,确定需要层次优化的层次数,并确定约束矫正方程,通过牛顿动力学方程对质点的位置进行预测,使用约束矫正方程对超出预期阈值的质点进行矫正,使其恢复到理论位置内,最后将这些矫正后的质点渲染模拟;
确定采样密度,利用体素化方法对渲染后的质点进行逐层采样;
利用PCL点云三角重建算法构建每一采样层次的三角形并逐层保存;
利用权值确定模型确定层次间的关联关系和层次间父子粒子关系,利用层次间的关联关系和层次间父子粒子关系构造网格层次化系统。
3.如权利要求2所述的基于位置的层次化动态模拟方法,其特征在于,确定的约束矫正方程如公式(1):
C(p1,p2)=|p1-p2|-d (1)
在公式(1)中,p1,p2表示要操作的两个质点,|p1-p2|表示两质点间实际距离,d表示理论距离,当函数值不为0时,就需要利用约束矫正方程进行矫正,矫正时首先计算质点间约束变化最快的方向,即距离约束函数的梯度确保变化的方向,然后通过在该方向上矫正变化量,最后使约束中的两个质点恢复到约束范围内。
4.如权利要求1所述的基于位置的层次化动态模拟方法,其特征在于,步骤4中对布料的模拟方法包括:
初始化模拟环境、初始化布料于初始位置,设定其运动轨迹;
使用动力学方程对布料位置的下一帧位置进行预测;
使用基于位置的动态算法对预测位置进行初步矫正;
使用基于位置的层次化动态算法对上一步产生的结果再进行2次矫正,并将每一层次的矫正信息传递给原始布料,从而加快收敛速度;
重复上两步的操作直至理想状态或者终止条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810821225.1A CN109118561B (zh) | 2018-07-24 | 2018-07-24 | 一种基于位置的层次化动态模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810821225.1A CN109118561B (zh) | 2018-07-24 | 2018-07-24 | 一种基于位置的层次化动态模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109118561A true CN109118561A (zh) | 2019-01-01 |
CN109118561B CN109118561B (zh) | 2020-10-16 |
Family
ID=64863078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810821225.1A Active CN109118561B (zh) | 2018-07-24 | 2018-07-24 | 一种基于位置的层次化动态模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109118561B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925552A (zh) * | 2022-07-19 | 2022-08-19 | 武汉亘星智能技术有限公司 | 基于hpbd的布料仿真方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682473A (zh) * | 2012-05-08 | 2012-09-19 | 电子科技大学 | 一种虚拟服装的实时物理建模方法 |
US20150242546A1 (en) * | 2014-02-21 | 2015-08-27 | Inyong JEON | Method of Cloth Simulation using Constrainable Multigrid |
CN105354879A (zh) * | 2015-10-12 | 2016-02-24 | 北京服装学院 | 基于质点弹簧结构的通用服装三维模型仿真方法及系统 |
-
2018
- 2018-07-24 CN CN201810821225.1A patent/CN109118561B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682473A (zh) * | 2012-05-08 | 2012-09-19 | 电子科技大学 | 一种虚拟服装的实时物理建模方法 |
US20150242546A1 (en) * | 2014-02-21 | 2015-08-27 | Inyong JEON | Method of Cloth Simulation using Constrainable Multigrid |
CN105354879A (zh) * | 2015-10-12 | 2016-02-24 | 北京服装学院 | 基于质点弹簧结构的通用服装三维模型仿真方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925552A (zh) * | 2022-07-19 | 2022-08-19 | 武汉亘星智能技术有限公司 | 基于hpbd的布料仿真方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109118561B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9378593B2 (en) | Garment simulation using thread and data level parallelism | |
Müller et al. | Fast Simulation of Inextensible Hair and Fur. | |
Allard et al. | Volume contact constraints at arbitrary resolution | |
Selle et al. | A mass spring model for hair simulation | |
CN105302974B (zh) | 一种基于有限元和时变模态分析的柔性物体实时切割仿真方法 | |
Iben et al. | Artistic simulation of curly hair | |
CN104679958B (zh) | 基于弹簧模型的球b样条编针织物形变仿真的方法 | |
CN114662172B (zh) | 一种基于神经网络的服装布料动态仿真模拟方法 | |
JP7334125B2 (ja) | 任意座標系のメッシュにおける物理的流体のコンピュータシミュレーション | |
CN112862942B (zh) | 物理特效模拟方法、装置、电子设备和存储介质 | |
CN109360266A (zh) | 一种道路建模方法、相关装置和设备 | |
CN108828669A (zh) | 一种二维相交测线静校正处理方法、装置及系统 | |
CN109118561A (zh) | 一种基于位置的层次化动态模拟方法 | |
CN104794742B (zh) | 一种基于有限元方法的气球膨胀动画模拟方法 | |
Oliapuram et al. | Realtime forest animation in wind | |
CN104463934B (zh) | 一种“质点‑弹簧”系统驱动的点集模型动画自动生成方法 | |
Li et al. | Multi-resolution modeling of shapes in contact | |
Movania et al. | A Novel GPU‐Based Deformation Pipeline | |
CN112862957B (zh) | 一种基于约束投影的gpu并行试衣仿真方法 | |
CN110717297B (zh) | 织物仿真模型的建立方法、系统、存储介质及电子设备 | |
Yang et al. | Cloth modeling simulation based on mass spring model | |
Yang et al. | Physically-based tree animation and leaf deformation using CUDA in real-time | |
Cao et al. | Research of fast cloth simulation based on mass-spring model | |
Cetinaslan | ESPEFs: Exponential spring potential energy functions for simulating deformable objects | |
Li et al. | An object-oriented system for dynamics-based 3D cloth simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |