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

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

【技术实现步骤摘要】
一种基于位置动力学的角度弯曲模型的仿真方法
本专利技术属于图形学中基于物理的动态仿真领域,具体涉及一种基于位置动力学的角度弯曲模型的仿真方法。
技术介绍
计算机图形学中对如何构建弯曲模型已经做了很多的研究,尤其是在布料仿真领域。传统方法是在规则网格中相互间隔的两个节点间建立弹簧来抵抗弯。PROVOTX.等人在“Deformationconstraintsinamass-springmodeltodescriberigidclothbehavior”中就是采用了这种弯曲弹簧的模型来仿真弯曲行为,他们用一块矩形网格来仿真布料,网格中的节点有质量,即弹簧质点模型。对网格中垂直,水平以及对角线方向的两个质点建立弹簧,弹簧的两个质点间隔了一个节点,这种弹簧可以用来模拟布料的弯曲力,根据胡克定律,弯曲弹簧力的大小与弹簧的长度变化成正比。这种弯曲弹簧后来也被运用到仿真头发的弯曲行为中,并且取得了较好的仿真效果。虽然这种基于力的方法被广泛的运用到图形学中来仿真动态系统,但是在仿真过程中要根据牛顿第二定律由弹簧力计算出加速度,再通过数值积分方法由加速度计算出速度最后得到节点的位移,过程复杂。而且,简单快速的数值积分方法虽然能满足实时交互系统的快速性,但是会出现不稳定的现象影响仿真的逼真度,有较好仿真效果的无条件稳定的数值积分方法计算过程又非常复杂耗时,不能很好的运用到实时交互系统中。除了上述利用弯曲弹簧力来表现可变形体的弯曲行为外,依靠能量方程驱动弯曲也是一种表现弯曲行为的方法。但是这种方法也是把与弯曲力相关的能量通过数学方法转化为力,由于计算代价大,过程复杂,该方法并没有很好的用于交互应用中。为了满足实时交互应用的快速性,同时又能取得较好的视觉仿真效果,等人在“Positionbaseddynamics”中提出了一种新的基于位置动力学的仿真方法,该方法用弯曲约束方程的形式表现弯曲力,通过直接控制可变形体的位移来满足约束方程从而得到很好地弯曲仿真效果。因为直接控制物体的位置,省略了速度层的计算,所以该方法避免了基于力的仿真方法中盲目更新物体位置的现象,而且这种方法具有无条件的稳定性,很好地可控制性,非常有利于实时交互应用领域。该方法是在三角形网格模型中的一对共边三角形上施加二面角弯曲约束,通过对两个三角形面片法向量的夹角进行约束来模拟可变形体的弯曲行为,取得了很好地效果。但是由于该方法高度依赖于网格剖分,对弯曲效果的模拟没有非常广泛的适用性,而且仿真过程为了取得很好的仿真效果,约束方程中的参数也不易于调节,计算代价也相对较大。
技术实现思路
专利技术目的:本专利技术针对上述现有技术存在的问题做出改进,即本专利技术解决的技术问题是现有的基于位置动力学方法中二面角弯曲模型计算代价大,仿真效果不够理想,适用范围局限。本专利技术提供了一种基于位置动力学的弯曲模型的仿真方法,主要是对可变形体的弯曲变形进行仿真。技术方案:一种基于位置动力学的角度弯曲模型的仿真方法,包括以下步骤:(1)、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将所述网格模型文件的数据导入到可变形体仿真系统中;(2)、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i个节点的位置xi、速度νi、质量mi,其中i∈[1,n],n为所述网格模型的节点总数,第i个节点的初始位置为所述网格模型导入时初始坐标,初始速度mi的值为1/n;(3)、设所述仿真系统每一帧图像的时间步长为Δt,所述可变形体网格模型在仿真过程中受到的外力为fext;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格模型在受外力fext作用了时间步长Δt之后的节点预测位置pi,pi的计算公式为:其中:ωi=1/mi,mi为第i个节点的质量,νi为第i个节点的速度,分别为第i个节点在该时间步长Δt起始时刻的初始准确位置和初始速度;(4)、在所述可变形体网格模型的节点之间构建角度弯曲模型,包括以下步骤:(4a)、根据节点的网格剖分关系建立相邻节点集,定义Mi为可变形体网格模型第i个节点vi的相邻节点集;(4b)、为所述相邻节点集Mi中的每个节点vk找到该相邻节点集中另一个节点vbest,构成节点串[vbest,vk,vi],使得边vivk和边vivbest夹角为最大角,其中k∈[1,m],m为所述相邻节点集Mi中的节点总数;(4c)、在步骤(4b)所述节点串[vbest,vk,vi]组成的三角形Δvkvivbest上构建角度弯曲模型:其中p1,p2,p3分别为vbest,vk,vi的节点预测位置,n1为边vivk的单位向量,n2为边vivbest的单位向量,为所述可变形体网格模型导入仿真系统时边vivk和边vivbest的初始夹角;(4d)由步骤(4c)所述角度弯曲模型求出节点预测位置和节点准确位置之间的误差修正量Δpi,将该误差修正量Δpi与节点预测位置pi相加,得到节点准确位置xi,其中Δpi的计算公式为:其中:q3=-q1-q2,d=n1·n2;p1,p2,p3分别对应虚拟三角形中三个顶点的节点预测位置,n1和n2为构成最大角的两条边的单位向量;(5)输出所述可变形体网格模型在节点准确位置xi处的图像,同时把节点准确位置xi作为下一个时间步长的节点初始位置,返回步骤(3),得到可变形体网格模型的下一帧图像;(6)重复步骤(3)~(5),依次输出可变形体网格模型的每一帧图像,直到得到所述可变形体弯曲变形的仿真动画为止。作为本专利技术中基于位置动力学的角度弯曲模型建立方法的一种优选方案:所述步骤(4b)中为所述相邻节点集Mi中的每个节点vk找到该相邻节点集中另一个节点vbest包括如下步骤:(b1)、首先将vbest设置为vk,则初始值为0;(b2)、从相邻节点集Mi中的vk开始依次遍历每个节点vj,j∈[1,m],并且计算出∠vkvivj,如果所述∠vkvivj大于则将设置为∠vkvivj,并且将vbest设置为vj,反之则保持所述和所述vbest不变;(b3)、当vj再次回到vk时,遍历结束;(b4)、为相邻节点集Mi中的每个节点串[vbest,vk,vi]定义标记,以避免在同一个节点串组成的三角形上重复构建角度弯曲模型。作为本专利技术中基于位置动力学的角度弯曲模型建立方法的一种优选方案:步骤(1)中所述网格模型文件的数据包括可变形体网格模型中所有节点的初始坐标信息及所有节点的网格剖分关系。作为本专利技术中基于位置动力学的角度弯曲模型建立方法的一种优选方案:步骤(1)所述可变形体仿真系统包括:一个用于读取所述可变形体网格模型文件数据的导入模块;一个用于设定所述可变形体网格模型的仿真参数的初始化模块;一个用于在所述可变形体网格模型上施加弯曲约束的弯曲变形模块;一个用于输出所述可变形体网格模型弯曲变形图像的渲染模块。与现有技术相比,本专利技术具体优点如下所示:(1)本专利技术通过把在两个相邻三角面片上建立弯曲模型缩小到一个由最大角构成的虚拟三角形上建立弯曲模型,降低了计算过程的复杂度,减少了计算代价;(2)本专利技术的弯曲模型是对虚拟三角形的最大角进行了约束,并没有改变节点之间的长度,所以该弯曲模型与可变形体的拉伸约束互不影响,相互独立,仿真效果较好;(3)本专利技术通过在由相邻节点集中的最大角度构本文档来自技高网
...
一种基于位置动力学的角度弯曲模型的仿真方法

【技术保护点】
一种基于位置动力学的角度弯曲模型的仿真方法,其特征在于,包括以下步骤:(1)、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将所述网格模型文件的数据导入到可变形体仿真系统中;(2)、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i个节点的位置xi、速度νi、质量mi,其中i∈[1,n],n为所述网格模型的节点总数,第i个节点的初始位置为所述网格模型导入时初始坐标,初始速度mi的值为1/n;(3)、设所述仿真系统每一帧图像的时间步长为Δt,所述可变形体网格模型在仿真过程中受到的外力为fext;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格模型在受外力fext作用了时间步长Δt之后的节点预测位置pi,pi的计算公式为:vi=vi0+Δt·ωi·fextpi=xi0+Δt·vi]]>其中:ωi=1/mi,mi为第i个节点的质量,νi为第i个节点的速度,分别为第i个节点在该时间步长Δt起始时刻的初始准确位置和初始速度;(4)、在所述可变形体网格模型的节点之间构建角度弯曲模型,包括以下步骤:(4a)、根据节点的网格剖分关系建立相邻节点集,定义Mi为可变形体网格模型第i个节点vi的相邻节点集;(4b)、为所述相邻节点集Mi中的每个节点vk找到该相邻节点集中另一个节点vbest,构成节点串[vbest,vk,vi],使得边vivk和边vivbest夹角为最大角,其中k∈[1,m],m为所述相邻节点集Mi中的节点总数;(4c)、在步骤(4b)所述节点串[vbest,vk,vi]组成的三角形Δvkvivbest上构建角度弯曲模型:其中p1,p2,p3分别为vbest,vk,vi的节点预测位置,n1为边vivk的单位向量,n2为边vivbest的单位向量,为所述可变形体网格模型导入仿真系统时边vivk和边vivbest的初始夹角;(4d)由步骤(4c)所述角度弯曲模型求出节点预测位置和节点准确位置之间的误差修正量Δpi,将该误差修正量Δpi与节点预测位置pi相加,得到节点准确位置xi,其中Δpi的计算公式为:其中:q3=‑q1‑q2,d=n1·n2;p1,p2,p3分别对应虚拟三角形中三个顶点的节点预测位置,n1和n2为构成最大角的两条边的单位向量;(5)输出所述可变形体网格模型在节点准确位置xi处的图像,同时把节点准确位置xi作为下一个时间步长的节点起始位置,返回步骤(3),得到可变形体网格模型的下一帧图像;(6)重复步骤(3)~(5),依次输出可变形体网格模型的每一帧图像,直到得到所述可变形体弯曲变形的仿真动画为止。...

【技术特征摘要】
1.一种基于位置动力学的角度弯曲模型的仿真方法,其特征在于,包括以下步骤:(1)、用图形设计软件制作需要仿真的可变形体的网格模型文件,通过软件接口将所述网格模型文件的数据导入到可变形体仿真系统中;(2)、定义步骤(1)所述可变形体的网格模型文件的三个变量,即仿真过程中第i个节点的位置xi、速度νi、质量mi,其中i∈[1,n],n为所述网格模型的节点总数,第i个节点的初始位置为所述网格模型导入时初始坐标,初始速度mi的值为1/n;(3)、设所述仿真系统每一帧图像的时间步长为Δt,可变形体网格模型在仿真过程中受到的外力为fext;根据牛顿第二定律和质点的运动定理,计算所述可变形体网格模型在受外力fext作用了时间步长Δt之后的节点预测位置pi,pi的计算公式为:其中:ωi=1/mi,mi为第i个节点的质量,νi为第i个节点的速度,分别为第i个节点在该时间步长Δt起始时刻的初始准确位置和初始速度;(4)、在所述可变形体网格模型的节点之间构建角度弯曲模型,包括以下步骤:(4a)、根据节点的网格剖分关系建立相邻节点集,定义Mi为可变形体网格模型第i个节点vi的相邻节点集;(4b)、为所述相邻节点集Mi中的每个节点vk找到该相邻节点集中另一个节点vbest,构成节点串[vbest,vk,vi],使得边vivk和边vivbest夹角为最大角,其中k∈[1,m],m为所述相邻节点集Mi中的节点总数;(4c)、在步骤(4b)所述节点串[vbest,vk,vi]组成的三角形Δvkvivbest上构建角度弯曲模型:其中p1,p2,p3分别为vbest,vk,vi的节点预测位置,n1为边vivk的单位向量,n2为边vivbest的单位向量,为所述可变形体网格模型导入仿真系统时边vivk和边vivbest的初始夹角;(4d)由步骤(4c)所述角度弯曲模型求出节点预测位置和节点准确位置之间的误差修正量Δpi,将该误差修正量Δpi与节...

【专利技术属性】
技术研发人员:王义峰吴晓婷王罡
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1