虚拟现实中的碰撞检测技术word文档格式60iaqk.docx
《虚拟现实中的碰撞检测技术word文档格式60iaqk.docx》由会员分享,可在线阅读,更多相关《虚拟现实中的碰撞检测技术word文档格式60iaqk.docx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、碰撞检测技术的研究摘 要实时精确的碰撞检测对于提高虚拟环境的真实性、增强虚拟环境的沉浸感有着至关重要的作用。 该文对碰撞检测相关技术进行了深入的研究,主要包括以下几个方面的内容:首先介绍了虚拟现实技术的发展及现状、碰撞检测的研究现状;然后简单介绍了碰撞检测一些基础理论知识,着重介绍常用的碰撞检测算法。紧接着,简单介绍了OpenGL编程的基础知识和面向对象编程的特点。在碰撞检测算法的应用中,运用OBB包围盒层次树的碰撞检测算法,提出了一种一般多面体间碰撞检测的可行性方案,并用软件对该方案进行实现,同时指出该方案的优缺点。最后,对全文进行了总结,并指出今后的研究方向。关键词:虚拟现实 碰撞检测 包
2、围盒层次树 OBBSTUDY AND IMPLEMENTATION ON COLLISIONDETECTION TECNOLOGY OF VIRTUAL REALITYAbstractReal-time and accurate collision detection is very important to improve reality and enhance illusion of immersion for virtual environment.This paper studies the technique of collision detection deeply.It cont
3、ains the following parts:Firstly,this paper reviews recent research on collision detection field.Then it introduces some basic knowledge and emphasizes on introduce of collision detection algorithm.Next,it introduces OpenGL and Oriented-object language program character.In collision detection implem
4、entation chapter,a scheme of collision detection between general polyhedron is presented by using bounding hierarchy volume algorithm.The method is implemented by vc6.0.And it analyses advantage and disadvantage of the method.Finally,the conclusion is drawn and the work of future research is present
5、ed.KEY WORDS: virtual reality collision detection bounding hierarchy volume OBB 目 录第一章绪 论11.1虚拟现实技术发展及现状11.1.1 虚拟现实的特点11.1.2 国内外虚拟现实技术的研究状况21.2碰撞检测的研究现状31.2.1意义及特点31.2.2碰撞检测的研究现状41.3论文的工作和组织结构6第二章 碰撞检测理论82.1碰撞的定义382.2碰撞检测的模型类别82.3碰撞检测的场景特征292.4碰撞检测技术的基本原理9第三章 碰撞检测算法113.1空间剖分法113.2包围盒层次树法123.2.1包围盒形状
6、的设计准则133.2.2包围盒类型133.3 基于特征的距离计算增量算法163.3.1基本概念163.3.2 Lin-Canny算法概述193.3.3适应性准则20第四章 编程基础理论254.1 OpenGL编程基础254.1.1 OpenGL基本特点254.1.2 OpenGL实现274.1.3 OpenGL图形绘制284.1.4 OpenGL光照处理294.1.5 OpenGL纹理映射304.1.6深度测试324.2面向对象的编程324.3 OpenGL编程环境的设置33第五章 碰撞检测算法的应用355. 1物体建模355. 2场景绘制385.3碰撞检测算法的应用415.3. 1 基础理论
7、415.3.2 碰撞检测的实现过程435.3.4用户交互505.4本程序的优缺点52第六章 总结与展望54主要参考文献55第一章 绪 论1.1虚拟现实技术发展及现状1.1.1 虚拟现实的特点自20世纪90年代初以来,虚拟现实技术一直是信息领域研究、开发和应用的热点方向之一。虚拟现实(Virtual Reality),也称为“人工现实”或“临境”技术,是多媒体发展的更高境界,虚拟现实以更加高级的集成化和交互性,给用户以更加逼真的体验,可广泛应用在模拟训练、科学可视化等领域,将是今后十分活跃的技术课题。虚拟现实就是用计算机技术生成一个逼真的,集听、视、触及嗅觉为一体的感觉世界,用户以人的自然技能与
8、虚拟现实交互考察,包含三层意思:11) 虚拟实体是用计算机来生成的一个逼真的实体,“逼真”就是要达到三维视觉,甚至其他三维感觉。2) 用户可以通过人的自然技能(如头和眼的转动、手势等其他身体动作)与环境交互。3) 虚拟现实往往要借助于一些三维传感设备来完成交互动作,如头盔立体显示、数据手套、数据服装、三维鼠标等。虚拟现实是一种高度集成技术,是计算机、机器人、人工智能以及心理学等发展的联合结晶,因此取决于三维实时图像显示、三维定位跟踪传感技术、人工智能技术、高速并行计算机技术及人的行为学等领域的研究进展。因此虚拟现实技术的研究和实现难度很高,美国著名图形学专家J.Foley讲过:“虚拟现实是人机
9、接口设计中最后一个堡垒,也是最有意义的领域。”虚拟现实的基本特征可以概括为三个“I”,即Immersion-Interaction-Imagination(沉浸-交互-构思)。它强调了人在信息处理过程中的主导作用,使信息处理从以计算机为中心转到以人为中心。虚拟现实这一概念起源于Ivan Sutherland在1965年发表的一篇题为“The Ultimate Display”的报告。在该报告中提出利用计算机系统构造一个具有视觉、听觉和感觉真实感的世界。1968年,Ivan Sutherland开发了第一个可以跟踪头部运动的头盔显示器(head-Mounted Display,简称HMD)。HM
10、D根据用户在虚拟世界的位置来显示相应的内容,当用户移动或转动头部时,通过HMD所看到的虚拟世界也随之发生改变。后来,许多人在这方面进行了大量研究,并取得了一些进展。1.1.2 国内外虚拟现实技术的研究状况在虚拟现实领域,国内外专家和学者已经做出了许多研究工作。国外研究状况:1)美国的研究状况美国是虚拟现实技术的发源地。其水平基本上就代表国际发展的水平。目前美国在该领域的基础研究主要集中在感知、用户界面、后台软件和硬件四个方面。2)日本的研究状况在当前实用虚拟现实技术的研究与开发中,日本是居于领先位置的国家之一,主要致力于建立大规模虚拟现实知识库的研究。另外在虚拟现实的游戏方面的研究也做了很多工
11、作。NEC公司计算机和通信分部中的系统研究实验室开发了一种虚拟现实系统,它能让操作者都使用“代用手”去处理三维CAD中的形体模型,该系统通过VPL公司的数据手套把对模型的处理与操作者手的运动联系起来。东京大学的广濑研究室重点研究虚拟现实的可视化问题。为了克服当前显示和交互作用技术的局限性,他们正在开发一种虚拟全息系统。富士通实验室有限公司正在研究的一个项目是虚拟生物与虚拟现实环境的相互作用。他们还在研究虚拟现实中的手势识别,已经开发了一套神经网络姿势识别系统,该系统可以识别姿势,也可以识别表示词的信号语言。3)英国的研究与开发在VR开发的某些方面,特别是在分布并行处理、辅助设备 (包括触觉反馈
12、)设计和应用研究方面,英国在欧洲是领先的。国内研究状况:和一些发达国家相比,我国虚拟现实技术还有一定的差距,但是一些国内大学都也做出很多研究。1) 北京航空航天大学首先进行了一些基础知识方面的研究,并着重研究了虚拟环境中物体物理特性的表示与处理;在虚拟现实中的视觉接口方面开发出了部分硬件,并提出了有关算法及实现方法等。 2) 浙江大学CAD&CG国家重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系统。另外,他们还研制出了在虚拟环境中一种新的快速漫游算法和一种递进网格的快速生成算法。3) 哈尔滨工业大学计算机系已成功地虚拟出了人的高级行为中特定人脸图像的合成,表情的合成和唇动的合成等技术问题,
13、并正在研究人说话时头势和手势动作等。4) 清华大学对虚拟现实的临场感的方面进行了研究,他们还针对室内环境水平特征丰富的特点,提出借助图像变换,使立体视觉图像中对应水平特征呈现形状一致性,以利于实现特征匹配,并获取物体三维结构的新颖算法。5) 西安交通大学对虚拟现实中的关键技术,立体显示技术进行了研究。他们在借鉴人类视觉特性的基础上提出了一种基于JPEG标准压缩编码新方案,并获得了较高的压缩比、信噪比以及解压速度。1.2碰撞检测的研究现状1.2.1意义及特点目前,虚拟现实真实性的研究大量集中在视觉、听觉和触觉等几个方面。例如采用几何建模方法来表示虚拟环境中的实体,然后使用纹理映射、消隐和光照计算
14、等方法生成逼真的环境。虚拟现实只有逼真的外观是不够的,还需要有逼真的状态变化,例如,实体位置、方向和形状等状态变化规律与真实世界中相同或相似,即虚拟现实中的实体需要具有运动逼真性。碰撞检测和响应是虚拟现实中的一项重要技术,是其基本特性之一“沉浸感”的重要保证。碰撞检测的两个重要约束条件是实时性和精确性2。就实时性而言,针对虚拟环境中的视觉显示要求,碰撞检测的速度至少要达到24Hz;而针对虚拟环境中的触觉显示要求,碰撞检测的速度至少要达到300Hz才能维持触觉交互系统的稳定性,要达到1000Hz才能获得平滑的效果。精确性取决于具体的应用,比如对于环境漫游系统,一般只要近似模拟碰撞检测情况,此时,
15、若两个物体实际没有发生碰撞但其距离比较近(如在某一阈值内),就可以将其当作是发生了碰撞,并粗略计算碰撞位置。而对于虚拟手术仿真、虚拟装配等应用,就要精确地检测碰撞的发生和计算碰撞发生的位置。1.2.2碰撞检测的研究现状3碰撞检测最早被广泛用于生产中的自动操作和处理,即虚拟组装和拆卸。近年来,碰撞检测和响应的研究在虚拟现实中扮演了越来越重要的角色,特别是用碰撞检测和响应来模拟现实生活中的接触、抓、移动和打击等情况。下面我们将对于碰撞检测的研究状况进行简单介绍。对于碰撞检测和响应的研究主要集中在对实体间精确碰撞检测算法和碰撞响应的处理。目前已经形成了一些比较成熟的算法。虚拟现实中检测两个实体之间是
16、否发生了碰撞,实际上就是检测这两个实体所占的几何空间是否相交,常用的方法有离散方法和连续方法。离散方法(Discrete Methods)也称为静态方法(Static Methods),是指当检测时间(Ts,Te)内是否发生碰撞,则仅在TsTs+t1Ts+t2Ts+tkTe一系列离散的时间点上进行碰撞检测。Moore,M.和Wilhelms,J.提出了两种基于实体模型点、边和面几何关系的碰撞检测方法。一种方法直接计算两个实体顶点、边和面之间的关系,另一种方法是使用点积来判断一个点是否进入另一个实体内部。M.K.Ponamgi,D.Manocha,Ming C.Lin等人提出了一种基于Voron
17、oi区域的碰撞检测方法。这种方法利用虚拟环境中实体运动的一致性,即实体运动状态的变化在dt时间内是有限的,大大减少了检测两个凸多面体是否碰撞的时间,取得了实时碰撞检测的突破性进展。连续方法(Continuum Methods)也称为动态方法(Dynamic Methods),是指检测当前实体从当前状态运动到下一状态所滑过的四维空间与其它实体同时滑过的四维空间是否发生重叠。T.Duff的区间分析(Interval Analysis)方法就是一种连续碰撞检测方法。由于连续方法比较复杂,计算量比较大,所以绝大多数虚拟现实系统采用离散的碰撞检测方法。当检测到虚拟环境中发生碰撞时,需要根据碰撞情况修改发
18、生碰撞实体的运动表示,即修改实体的运动方程,确定实体的损坏和形变,实现碰撞对实体的影响,这就是碰撞响应。在虚拟现实研究初期,对碰撞响应的要求比较简单。例如,在虚拟漫游系统碰撞检测只是当检测到碰撞时禁止该方向的运动。现在对碰撞响应的研究越来越多。目前对碰撞响应的研究主要有两个方向,一类是研究针对虚拟实体物理特性的碰撞响应,即碰撞对实体的运动行为和本身特性的影响。例如美国联邦铁路部(FRA)对防撞性评估系统的研究,主要分为三步:第一步是对单节机动有轨车辆碰撞物理特性的定义;第二步是机动有轨车辆碰撞动力学模型的建立;第三步是计算碰撞结果,评估两铁路系统的防撞性。另一类着重于研究碰撞响应的图形效果,即
19、碰撞后实体损伤的图形表示和一些烟火等特殊效果。在STOW97的联合演练中,已经完成了炮弹爆炸后所产生的弹坑,道路、桥梁及建筑物不同程度的损坏,车辙和一些明显痕迹的图形效果。关于平面碰撞检测问题的研究主要有3个方面,包括可碰撞、可移动区域和最初碰撞部位的检测。近10几年来,许多专家学者对平面碰撞问题进行了深入的研究,并取得一些很好的结果,提出了许多算法。Tetsuya,Toshiaki和Mario等人提出了一种称为空间占有的方法,即物体在目标空间移动,当试图占有相同的球体时来检测它们的碰撞21。这种算法基于这样一条原理:没有任何物体和其他物体占有同一个球体,也不需要特殊的计算来检测碰撞。并且,在
20、它们的方法中,每个物体连同它们所占有的球体在3D空间中都被赋予一个名字,因而其他物体知道它们和哪个物体发生碰撞。Chin及Wang研究了两个多边形的相交和最小距离问题。利用可视边链和凸的顶点相对于其内部点的单调性,提出了判别凸n-边形和一个简单非凸m-边形的相交问题的最优算法22,并且研究了当两个多边形相交时一个多边形是否被另一个多边形完全包含的问题,其时间复杂度都为O(m+n)。David Baraff研究了平面内多个凸多边形的碰撞问题,并采用将凹多边形分解为凸多边形的方法来求解碰撞问题,其实质还是凸多边形的碰撞问题23。关于三维空间碰撞问题的研究一般有可碰撞和碰撞规避两方面。所谓可碰撞问题
21、就是物体A和B在空间沿给定轨迹移动时是否发生碰撞。可移动区域就是物体A沿给定的规律运动,而不与物体B发生碰撞的所有可能运动的区域。最初碰撞点的检测就是当物体A以给定的运动规律运动,并将与物体B发生碰撞时,检测它们在最初发生碰撞时的接触部位。碰撞规避就是两个或多个物体的无碰撞运动。从对平面碰撞检测问题的研究中,可得到有力和巧妙的技巧。而对于空间(3D)的情形,则潜藏着难以克服的困难,这也许是平面碰撞问题已得到很深入的研究,并提出了很多种最优算法,而对于空间问题尚少有高效算法的一个原因吧。很多学科都对研究和模拟三维物体的干涉问题感兴趣。物体的干涉是两个或多个物体的体积占有相同的空间。通常,物体的干
22、涉有两大类,即静态干涉和动态碰撞检测。动态碰撞检测就是沿特定轨迹移动的物体的干涉检测。动态碰撞检测算法又可分为两大类:判断移动的物体之间是否发生碰撞亦即可碰撞问题;检测到碰撞的存在并采取措施进行规避,也就是碰撞规避问题。静态干涉检测算法根据所用实体表示模型的不同,现有实体干涉检验算法大致可分成两类。一类算法主要基于B-rep模型。在这方面,Ganter提出空间分割技术24。另一类算法是以层次模型为基础的,如八叉树干涉检验算法和层次Sphere检验算法25 2627。动态碰撞检测可应用两类技术,第1类技术是一种基于在给定轨迹上反复利用静态干涉检测被称为“单步检测”的方法,第2类技术是基于产生称之
23、为“扫描实体”的物体。对于这两类技术的研究许多研究者都提出自己的算法aruyama提出了一种递归空间分割算法和一种一般的面对面相交算法。然而,Boyse提出了第1种可用的单步检测系统28 Ganter及Isarankura发展了单步检测方法,提出了一种空间分割技术的方法。Hahn采用层次包围盒技术来加速多面体场景的碰撞检测。Moore与Wilhelems根据Cyrus-Beck裁剪算法提出了一种凸多面体碰撞检测算法,即通过检测多面体顶点是否相互包含来判定它们是否发生碰撞。对于具有n个凸多面体、每个多面体有m个顶点的问题,此算法的时间复杂度为O(n2m2);对于凹多面体则分解为多个凸多面体来处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 中的 碰撞 检测 技术 word 文档 格式 60 iaqk
限制150内