单位文秘网 2021-08-31 09:12:22 点击: 次
摘要:实时地获得具有真实感的织物仿真效果图,是计算机图形学界亟待解决的难点问题之一。针对三维织物动态仿真中存在的超弹性现象,考虑到织物的高度非线性材料性能,提出了一种改进的粒子模型。该模型内力表达式中不仅考虑了材料线性刚度的作用,而且增加了非线性项作用,使所建立的模型更加符合织物的物理特性。在外力计算方面,考虑了实际风力作用下粒子间存在的遮挡情况,并给出了相应的风力计算算法。仿真研究表明,该改进模型能较好地反映织物的力学性能,所获得模拟结果也更加真实。
关键词:超弹性现象;非线性;织物动态仿真;力学特性;粒子模型
中图分类号: TP391.9
文献标识码:A
0引言
在计算机图形学界,织物的造型与仿真课题一直备受关注,SIGGRAPH与 IEEE Computer Graphics and Applications 都曾数次召开专门的小组讨论会对该课题进行探讨。由于织物外形不像刚体那样固定不变,而是随着外界条件的不同发生改变,因此模拟难度很大。从Weil[1]起织物仿真已经发展了近二十年,其间提出了许多的模型。从所用技术上可分为基于几何的方法、基于物理的方法和两者的混合方法。基于物理的模型能充分考虑织物的物理特性,从而仿真结果具有较强的真实性,尤其粒子模型因其简单性和计算速度相对较快而应用广泛。
Weil是第一个在计算机图形学界研究织物可视化问题的人,他使用悬链线比拟织物的悬垂形状。该算法分为两个阶段。第一阶段形成一个粗糙的织物变形框架,第二步使这个线框图达到真实的效果,最终形成织物变形曲面。
Kunii[2]等人认为纯粹物理的方法尽管可以得到很有真实感的图形,但计算费用高、物理参数不易获取,因此他们提出了一个混合的模型。首先对织物进行网格划分,网格上的质点之间存在拉伸能和弯曲能;然后,利用最速梯度下降法寻找能量最小时织物的形状;最后,利用奇异理论模拟最终的褶裥。
Breen[3]等人采用了基于物理的粒子模型模拟织物的悬垂。他们认为将织物看作连续介质是不准确的,而用离散的观点看织物较符合实际。模型中研究者将经线和纬线的交点看作一个个粒子,整块织物是相应粒子的集合。
Baraff[4]等人在Breen的基础上,将织物离散成三角形,认为可以消除矩形带来的拓扑限制,提出一种简单织物内力的表达式,并应用隐式积分求解粒子运动微分方程,从而使得大步长成为可能。
在以上这些模型中,粒子模型以其简单且具有较强的实时性而得到了广泛应用。然而,已有粒子模型的表达形式不能准确反映织物的材料性能,尤其在采用线形弹簧模拟具有高度非线性织物时,会造成较大的失真(如超弹性现象)。基于此,本文在考虑织物的力学特性的基础上,提出了一种非线性粒子模型,并应用于织物的三维动态仿真研究。
1超弹性现象
织物经向拉伸实验曲线(图1)表明:织物在拉伸力作用下,呈现较强的非线性特性。在织物仿真中,由于部分区域(尤其在约束点附近)相对于其他部分拉伸过大,模拟结果产生了不合理的变形,有悖于真实织物的感觉,即所谓的超弹性现象,如图2所示。研究分析表明:产生超弹性现象的根本原因是采用线形弹簧模拟具有高度非线性特性的织物。针对这一问题已有较多解决方案,诸如:提高弹簧的刚度系数,基于动力学反演的质点位置调整和有序的质点位置及速度调整等,但它们并不能从本质上反映织物的非线性特性。
2非线性粒子模型
本文提出了改进的粒子模型并应用于织物动态仿真。该模型从织物非线性材料特性出发,在线形刚度的基础上,考虑了非线性项的作用,从而能更好的反映织物的力学性能,获得更加真实的仿真效果。
2.1运动微分方程
假设织物被离散为由n个粒子组成的网状系统,则根据牛顿第二定律,织物的运动微分方程可表示为,
式中:x表示织物的空间位置, x∈R3n,是求解目标; [M]表示织物的质量矩阵, M∈R3n×3n;E表示织物的内能;-Ex则表示由内能衍生出来的内力, Ex∈R3n;F表示织物所受外力, F∈R3n。合并-Ex和F为向量f,令
于是(1)式转化为:
2.2隐式积分
假设时刻t0系统的位移和速度分别为x(t0)和(t0),求解目标是在时刻t0+h时系统的位移x(t0+h)和速度(t0+h)。利用隐式积分求解t0+h时的位移和速度,则必须将(2)式转换为一阶常微分方程组。因此,令系统的速度v=,则:
2.3内力
织物内力包括:拉伸力、剪切力和弯曲力。由(1)式可知,内力与E有关。考虑材料非线性特性,令
其中C(x)是期望值为0的标量函数,EC(x)是与C(x)相关的能量函数,k是织物的线性弹性刚度系数,λ是织物的非线性弹性刚度系数。则对于与C(x)相关的各个粒子i所受内力可表示为:
其中:u、v分别是纹理坐标的单位方向向量;a表示三角形单元的面积;bu和bv分别是u、v两个方向的调节参数;wu(x)和wv(x)分别表示u、v两个方向上织物的相对变化率。
与剪切力相关的C(x)定义如下:
弯曲力是与两个相邻的三角形的四个粒子相关的。设n1和n2分别表示这两个三角形的单位方向向量, e是公共边的单位方向向量,θ是两个三角形相对于公共边的夹角,则可用C(x)=θ来度量弯曲力,且sinθ=(n1×n2)•e和cos θ2.4外力
2.4.1重力
不失一般性,假设织物是均质的,则第i个粒子所受重力fgravi为:
式中:m为三角形单元质量, mi为粒子i所属三角形的个数。
2.4.2风力
在已有文献中,织物所受风力大小是通过下式计算的:
其中,fiwind、kwind、vwind、vi分别表示第i个粒子所受的风力大小,风力因子,风速和该粒子的速度。研究表明:部分织物可能会被其他部分遮挡,从而不受风力作用。如图3所示,图中粒子B在风力方向被粒子A遮挡而不受风力。 考虑粒子间的遮挡情况,风力计算的算法可描述为(假设风力方向沿世界坐标系中Z轴正向): 首先,初始化缓冲器
的值为最大Z坐标值;然后,计算织物的每个粒子的Z坐标值,若其值小于相应的缓冲器中的值,则替换Z缓冲器中的值;最后,通过比较各个顶点与缓冲器中相应值的大小来判断当前顶点是否受风力作用,如果受风力作用则风力大小通过式(15)计算,否则风力大小为零。
2.4.3阻尼力
为减少由于上述各力引起的粒子过度振荡而引入阻尼力,它是粒子速度的函数:
3实验结果
当织物受到外部激励或内部参数扰动时,网格单元发生变形,由此产生的拉伸力使粒子系统向平衡状态恢复,防止网格单元产生不合理变形。因此,织物拉伸刚度的选取对仿真中的超弹性现象有直接的控制作用。以大小为0.6×0.8离散成20×20的三角形网格结构的棉织物为仿真对象,如图4所示。其中Kst=20,图4(a)~图4(d)分别为λst等于0、1600、51200、204800时的悬垂仿真图。可以看出,随着λst值的增加,即非线性项作用的增强,超弹性现象明显减弱,而仿真的真实感加强。从而说明,改进的粒子模型更能反映织物材料的非线性特性,获得的仿真结果也更加真实。
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-250-90767-1.html
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用