APP下载

柔性物体仿真的研究

2014-04-23刘亦歆龚捷兰勇

电脑知识与技术 2014年7期
关键词:冲突检测物理模型

刘亦歆 龚捷 兰勇

摘要:柔性物体的模拟是计算机图形学的一个研究课题,同时非常重要和前沿。在人们的日常生活中,柔性物体无处不在,处处可见,如流水、绳索、织物等,如何利用计算机高效灵活复原柔性物体在现实中的运动是计算机图形学的挑战。该文分析柔性物体仿真的两种技术几何模型、物理模型法的优缺点,以及简要介绍冲突检测与响应。

关键词:柔性物体仿真;几何模型;物理模型;冲突检测

中图分类号:TP391.9 文献标识码:A 文章编号:1009-3044(2014)07-1572-03

1 概述

柔性物体仿真的技术通常可分为两类:一是基于几何模型法,二是基于物理模型法。而且各类技术还可相互结合。在几何模型法中应用最广的的是自由变形技术。而基于物理技术的模型法是把柔性物体按照一定的规则进行划分,而后分析柔性物体之间以及内部的受力情况,从而得出物体上点的位移情况,最后达到柔性物体的仿真的效果。物理模型的还原度较高成为了目前主要采用的模型。

2 几何模型法

在几何模型的各种方法中,自由变形技术是应用最多的。自由变形技术的核心思想就是,事先定义一个可以变形的网格,然后再把要模拟的物体放入这个网格中,接着移动网格中的顶点,是的放入的物体发生形变。自由变形的优缺点如表1。

把自由变形技术作为基础提出很多新的方法,尽管它们在操作的方式、定义上与自由变形技术有诸多不同之处,但是他们的核心思想还是没变的。既是先定义一個变形空间,然后把物体上的点放入这个变形空间,通过操作变形空间是的物体跟着形变,从而达到模拟的效果。

其中具有代表性的有:直接操纵的自由变形(DFFD)、基于 B-样条基函数的 FFD、基于 NURBS 基函数 FFD(NFFD)等。

2.1 DFFD

自由变形不易准确控制物体的形状,和目标点的位移,为了克服这些缺点,我们需要采用一种新的方法,于是基于直接操纵的自由变形技术便出现了。直接操纵的自由变形技术(DFFD)依然使用控制框架来做为变形的工具,使用 DFFD方法时,使用者操作的是物体上的点而不是操作网格上的顶点。其中心思想是:通过选择变形物体上的一点,移动到需求的位置点,从而反推出控制顶点的位置变化,并计算对象上其它点的位置变化。直接操纵的自由变形技术的优点在于容易实现变形物体上点的精确移动,缺点则是在该方法中控制变形区域的工具并没有提供给用户。

2.2 基于 B-样条基函数的 FFD

使用B-样条体作为控制框架,利用均匀的B-样条函数作为基础函数来控制物体的变形,但是B-样条体具有局部性,故此这种方法易实现柔性物体的局部变形。

2.3 NFFD

NFFD是基于非均匀有理 B-样条(Non-Uniform Rational B-Spline,既NURBS)的一种FDD的改进方法。NFFD方法中用户不仅可以控制局部变形,而且还可以对对象物体的变形微调。使用者可以依据柔性物体的形状以及局部特性来定义不均匀的控制网格。但是世界坐标中的柔性物体转换到局部空间的变形需要计算量较大的数值分析法来求解。NFFD虽然可以定义不均匀的控制网格,但是仍然还是以规则的平行六面体网格为控制手段,所以这种控制网格还是难以精确的类似柔性物体的形状,使得变型不够直观,并且控制的顶点过多,要实现效果需要多次的移动控制点,从而增加了运算难度。

3 物理模型法

基于物理技术的模型法是把柔性物体按照一定的规则进行划分,而后分析柔性物体之间以及内部的受力情况,从而得出物体上点的位移情况,最后达到柔性物体的仿真的效果。物理模型的还原度较高成为了目前主要采用的模型。基于这种技术提出的模型主要有:质点网格模型、有限元模型、质点-弹簧模型、边界元模型。

3.1 质点网格模型

质点网格模型是把柔性物体按照拓扑矩形网格划分,柔性物体就是这些网格节点上所有质点的集合。其中每个质点的能量分为弹性能、弯曲能以及重力势能,质点的能量计算需要根据周围的八个质点结合起来计算,边界的质点只是周围的点数不同,计算方法一样,只是在某些特殊的顶点最小的能量状态是需要获取的,从而推断推断柔性物体的形状。质点网格模型对静态柔性物体的仿真效果较好。

3.2 有限元模型(FEM)

有限元模型是基于弹性力学原理求解的一种物理模型。在工程中有限元是比较常见的一种处理力学问题的方法,有限元依据物体的外形、受到的外力、自身的弹性常数以及边界条件等粗略的计算出物体内部的位移量和受力情况。有限元模型的有点在于可伸缩性好,便于实现不同复杂度、精度在同样的网络结构中的计算。并且此模型参数调整方便,易于实现材料的不同性质。这个模型的不足点在于模型计算量巨大,且很复杂,处理速度较慢,不利于实时交互。

3.3 质点-弹簧模型

如图1所示,在质点-弹簧模型中柔性物体的质点被看成图中网格的顶点,每个顶点之间的实线则是存在的弹簧,各个质点之间的相互作用就靠这个弹簧实现。当外力作用在柔性物体上时,可以认为作用力是作用在一个质点的,当这个质点在外力的作用下移动后,由于各个质点间的弹簧使得这个力也变相的作用在了周围的质点上,从而使得他们产生了位移,柔性物体就发生了形变,从而达到了仿真的效果。质点弹簧模型简单,易建造,计算复杂度低且速度快所以交互性较好,但是同时也牺牲了真实感。

3.4 边界元模型

边界元模型只是需要物体表面的集合信息,不需要再把物体内部按照单元网格划分,直接使用几个外形的表面作为计算单元即可。在求解过程中只需要计算边界上的位移以及应力分布。边界元模型是一个面模型,和有限元模型不同的是计算量显著降低,并且可以采用边界离散技术,不需要内部网络。边界元模型的是一个基于弹性力学的连续模型,还原度比质点-弹簧模型好。但是由于只考虑边界,所以材料必须是均匀的材质。

4 沖突检测与响应

冲突指的是物体不能同时占用同一个空间的事实。当冲突发生后,物体之间就会互相排斥。在计算机仿真中如果解决冲突的问题那么就会出现衣服会嵌入人体的情况,所以在仿真中冲突检测的计算花费了大量时间。

在解决冲突问题的时候一般分为两个阶段:

1)冲突检测:判断两物体是否接触。

2)冲突相应:使用物体间的交互力(一般包括两种,一种是排斥力,使物体不能穿透,另外一种就是摩擦力阻止彼此之间相互滑动),使物体不能穿透和滑动。

冲突检测是几何问题,而冲突响应就与建模的方法有关。

4.1冲突检测

1)复杂性

冲突检测的过程中一般需要检测两种,一种是与柔性物体的周围物体的关系,是否发生穿透。另外一种这是由柔性物体的特征决定的,因为它不同部分可能发生冲突,所以柔性物体还需要对自身不同部位进行冲突检测。柔性物体一般会被分割成很多的多边形网格,因而冲突检测就需要对分割的每个网格进行计算,计算量就变得很巨大了。

2)本质

冲突检测实质上分为两个问题,第一检测两个或多个物体间是否发生了穿透;第二就是检测物体是否超过极限距离。

4.2 冲突响应

冲突相应则是对冲突作出的反应,使得物体不能穿越。

现有冲突响应的算法主要采用的是人为的添加势场。既是在物体周围设置一个斥力场,当接近极限距离时在斥力的作用下便是的冲突不会发生。但是因为斥力场是人为添加的,于是在仿真过程中便会出现不自然的响应。比如会出现柔性物体在静止的情况下会悬浮在物体表面的情况。

也可以采用动量守恒来进行冲突响应,当柔性物体与其他物体发生冲突时,根据动量守恒定律,柔性物体会改变运动方向,但是这种方法也会产生一种被弹开的效果,影响仿真效果的真实感。

5 结论

本文对柔性物体仿真的两种方法:一是基于几何模型法,二是基于物理模型法。分析了两种方法具体模型优缺点,以及工作原理。最后对柔性物体的冲突检测与响应做了简单介绍。接下来的工作就是分析现有的冲突算法,在现有的基础上能作出优化。

参考文献:

[1] 奇东旭,马华东,黄心渊,徐迎庆,李华山.计算机动画原理与应用[M].北京:科学出版社,1998.

[2] Knowlton K.A computer technique for producing animated movies.proc,AFIPS,1964,25:67-87.

[3] Knowlton K.Computer-produced movies.Science,1965,150(3700):1116-1120.

[4] 金小刚,鲍虎军,彭群生.计算机动画综述[J].软件学报,1997 (8)241-251.

[5] 鲍虎军,金小刚,彭群生.计算机动画的算法基础[M].杭州:浙江大学出版社,2000.310-367.

[6] Barr A H. Global and local deformation of solid primitives[J].Computer Graphics,1984,18(3):21-30.

[7] Sederberg T W,Parry S R.Free-Form Deformation of Solid Geometric Models[J].Computer Graphics,1992,26(2):151-160.

猜你喜欢

冲突检测物理模型
土地覆被与“两规合一”冲突检测的实证研究
地铁运营施工调度管理系统的应用与研发
独立学院补考安排冲突检测系统的设计与实现
计算机应用安全策略本体研究
计划协同工作中的冲突检测与消除算法研究
浅析初中物理教学中物理模型的构建策略
智能爬墙机器人的设计与制作
谈物理模型在物理学习中的应用
例谈打造生活化物理课堂
以“磁聚焦”为例谈谈物理模型的构建