一种基于位置动力学的角度弯曲模型的仿真方法

文档序号:6622137阅读:710来源:国知局
一种基于位置动力学的角度弯曲模型的仿真方法
【专利摘要】本发明涉及一种基于位置动力学的角度弯曲模型的仿真方法,其包括以下步骤:1、制作需要仿真的可变形体的网格模型文件,将网格模型文件的数据导入到可变形体仿真系统中;2、定义可变形体的网格模型文件的变量;3、根据牛顿第二定律和质点的运动定理,计算可变形体网格模型在受外力fext作用了时间步长Δt之后的节点预测位置pi;4、在可变形体网格模型的节点之间构建角度弯曲模型;5、输出可变形体网格模型在节点准确位置xi处的图像,同时把节点准确位置xi作为下一个时间步长的节点初始位置;6、重复步骤3~5,依次输出可变形体网格模型的每一帧图像,直到得到可变形体弯曲变形的仿真动画为止。本发明的方法降低了计算过程的复杂度,减少了计算代价。
【专利说明】一种基于位置动力学的角度弯曲模型的仿真方法

【技术领域】
[0001]本发明属于图形学中基于物理的动态仿真领域,具体涉及一种基于位置动力学的 角度弯曲模型的仿真方法。

【背景技术】
[0002] 计算机图形学中对如何构建弯曲模型已经做了很多的研究,尤其是在布料仿真领 域。传统方法是在规则网格中相互间隔的两个节点间建立弹簧来抵抗弯。PR0V0T X.等 人在 "Deformation constraints in a mass-springmodel to describe rigid cloth behavior"中就是采用了这种弯曲弹簧的模型来仿真弯曲行为,他们用一块矩形网格来仿 真布料,网格中的节点有质量,即弹簧质点模型。对网格中垂直,水平以及对角线方向的两 个质点建立弹簧,弹簧的两个质点间隔了一个节点,这种弹簧可以用来模拟布料的弯曲力, 根据胡克定律,弯曲弹簧力的大小与弹簧的长度变化成正比。这种弯曲弹簧后来也被运用 到仿真头发的弯曲行为中,并且取得了较好的仿真效果。
[0003] 虽然这种基于力的方法被广泛的运用到图形学中来仿真动态系统,但是在仿真过 程中要根据牛顿第二定律由弹簧力计算出加速度,再通过数值积分方法由加速度计算出速 度最后得到节点的位移,过程复杂。而且,简单快速的数值积分方法虽然能满足实时交互系 统的快速性,但是会出现不稳定的现象影响仿真的逼真度,有较好仿真效果的无条件稳定 的数值积分方法计算过程又非常复杂耗时,不能很好的运用到实时交互系统中。
[0004] 除了上述利用弯曲弹簧力来表现可变形体的弯曲行为外,依靠能量方程驱动弯曲 也是一种表现弯曲行为的方法。但是这种方法也是把与弯曲力相关的能量通过数学方法转 化为力,由于计算代价大,过程复杂,该方法并没有很好的用于交互应用中。
[0005] 为了满足实时交互应用的快速性,同时又能取得较好的视觉仿真效果,MiiLLHhl 等人在"Position based dynamics"中提出了一种新的基于位置动力学的仿真方法,该方 法用弯曲约束方程的形式表现弯曲力,通过直接控制可变形体的位移来满足约束方程从而 得到很好地弯曲仿真效果。因为直接控制物体的位置,省略了速度层的计算,所以该方法 避免了基于力的仿真方法中盲目更新物体位置的现象,而且这种方法具有无条件的稳定 性,很好地可控制性,非常有利于实时交互应用领域。该方法是在三角形网格模型中的一对 共边三角形上施加二面角弯曲约束,通过对两个三角形面片法向量的夹角进行约束来模拟 可变形体的弯曲行为,取得了很好地效果。但是由于该方法高度依赖于网格剖分,对弯曲效 果的模拟没有非常广泛的适用性,而且仿真过程为了取得很好的仿真效果,约束方程中的 参数也不易于调节,计算代价也相对较大。


【发明内容】

[0006] 发明目的:本发明针对上述现有技术存在的问题做出改进,即本发明解决的技术 问题是现有的基于位置动力学方法中二面角弯曲模型计算代价大,仿真效果不够理想,适 用范围局限。本发明提供了一种基于位置动力学的弯曲模型的仿真方法,主要是对可变形 体的弯曲变形进行仿真。
[0007] 技术方案:一种基于位置动力学的角度弯曲模型的仿真方法,包括以下步骤:
[0008] (1)、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将 所述网格模型文件的数据导入到可变形体仿真系统中;
[0009] (2)、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i 个节点的位置Xi、速度νρ质量叫,其中ie [l,n],n为所述网格模型的节点总数,第i个 节点的初始位置为所述网格模型导入时初始坐标,初始速度^ ,1?的值为I/η ;
[0010] (3)、设所述仿真系统每一帧图像的时间步长为At,所述可变形体网格模型在仿 真过程中受到的外力为f Mt ;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格 模型在受外力f;?作用了时间步长Δ t之后的节点预测位置Pi,Pi的计算公式为:
[0011]

【权利要求】
1. 一种基于位置动力学的角度弯曲模型的仿真方法,其特征在于,包括以下步骤: (1) 、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将所述 网格模型文件的数据导入到可变形体仿真系统中; (2) 、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i个节 点的位置Xi、速度Vi、质量Hli,其中ie[l,n],n为所述网格模型的节点总数,第i个节点 的初始位置为所述网格模型导入时初始坐标,初始速度< =O,Kii的值为1/n; (3) 、设所述仿真系统每一帧图像的时间步长为At,所述可变形体网格模型在仿真过 程中受到的外力为f?t ;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格模型 在受外力f;xt作用了时间步长At之后的节点预测位置Pi,Pi的计算公式为:
其中:% = 1/mi,mi为第i个节点的质量,Vi为第i个节点的速度,分别为第i 个节点在该时间步长At起始时刻的初始准确位置和初始速度; (4) 、在所述可变形体网格模型的节点之间构建角度弯曲模型,包括以下步骤: (4a)、根据节点的网格剖分关系建立相邻节点集,定义Mi为可变形体网格模型第i个 节点Vi的相邻节点集; (4b)、为所述相邻节点集Mi中的每个节点Vk找到该相邻节点集中另一个节点Vbejst, 构成节点串[vbest, vk,Vi],使得边ViVk和边ViVbest夹角終《,为最大角,約,其中 kG[l,m],m为所述相邻节点集Mi中的节点总数; (4c)、在步骤(4b)所述节点串[vbest,vk,Vi]组成的三角形AvkViVbest上构建角度弯曲 模型:A) =arccos(#v?2)-,其中P1,p2,P3 分别为vbest,vk,Vi 的节点预测位置, Ii1为边ViVk的单位向量,n2为边ViVbest的单位向量,%为所述可变形体网格模型导入仿真 系统时边ViVk和边ViVbejst的初始夹角; (4d)由步骤(4c)所述角度弯曲模型求出节点预测位置和节点准确位置之间的误差修 正量APi,将该误差修正量APi与节点预测位置Pi相加,得到节点准确位置Xi,其中Api 的计算公式为:
其中:
q3 = -q「q2,d=Ii1 ?n2 !P1,p2,p3 分别对应虚拟 三角形中三个顶点的节点预测位置,H1和n2为构成最大角的两条边的单位向量; (5) 输出所述可变形体网格模型在节点准确位置Xi处的图像,同时把节点准确位置Xi 作为下一个时间步长的节点起始位置,返回步骤(3),得到可变形体网格模型的下一帧图 像; (6) 重复步骤(3)?(5),依次输出可变形体网格模型的每一帧图像,直到得到所述可 变形体弯曲变形的仿真动画为止。
2. 如权利要求1所述的一种基于位置动力学的角度弯曲模型的仿真方法,其特征在 于,所述步骤(4b)中为所述相邻节点集Mi中的每个节点v k找到该相邻节点集中另一个节 点Vb6st包括如下步骤: (bl)、首先将Vbest设置为vk,则初始值为O ; (b2)、从相邻节点集Mi中的vk开始依次遍历每个节点V」,j G [1,m],并且计算出 Z VkViVj,如果所述Z VkViVj大于愁<3< *则将ftei设直为Z VkViVj,并且将Vbest设直为Vj,反之 则保持所述Pi-和所述V best不变; (b3)、当Vj再次回到Vk时,遍历结束; (b4)、为相邻节点集Mi中的每个节点串[Vbejst, vk,Vi]定义标记,以避免在同一个节点 串组成的三角形上重复构建角度弯曲模型。
3. 如权利要求1所述的一种基于位置动力学的角度弯曲模型的仿真方法,其特征在 于,步骤(1)中所述网格模型文件的数据包括可变形体网格模型中所有节点的初始坐标信 息及所有节点的网格剖分关系。
4. 如权利要求1所述的一种基于位置动力学的角度弯曲模型的仿真方法,其特征在 于,步骤(1)所述可变形体仿真系统包括: 一个用于读取所述可变形体网格模型文件数据的导入模块; 一个用于设定所述可变形体网格模型的仿真参数的初始化模块; 一个用于在所述可变形体网格模型上施加弯曲约束的弯曲变形模块; 一个用于输出所述可变形体网格模型弯曲变形图像的渲染模块。
【文档编号】G06F17/50GK104268305SQ201410374226
【公开日】2015年1月7日 申请日期:2014年7月31日 优先权日:2014年7月31日
【发明者】王义峰, 吴晓婷, 王罡 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1