- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Vega碰撞检测算法研究
基于Vega碰撞检测算法研究
摘要:虚拟环境下的碰撞检测问题是当今计算机图形学研究的热点之一。针对复杂场景实时漫游过程中的碰撞检测本文提出了一种将分割过滤法与包围盒技术相融合的碰撞检测方法,在Vega平台下,应用本算法成功实现了桌面级非沉浸式虚拟漫游系统,在检测精度和检测速度上都取得了满意的效果。
关键词:分割过滤 实时漫游
引言
在虚拟环境中,为了模拟真实世界,让用户获得高度的沉浸感,就必须为用户提供具有关键交互作用的虚拟环境。虚拟现实系统一个最重要功能,就是能快速进行虚拟世界中物体间的碰撞检测。精确的碰撞检测对提高虚拟环境的真实性、增强虚拟环境的沉浸感起着至关重要的作用,而虚拟环境自身的复杂性和实时性对碰撞检测提出了更高的要求[1]。
1为观察者建立碰撞检测模型
漫游者在漫游过程中会与地面、障碍物发生碰撞。虽然Vega 有对地面碰撞检测的定义,但对于自定义的运动模型根本起不到实质的作用,因此本文采用基于视线的BUMP算法进行碰撞检测。
该方法使用6段线段,包括x,y的正负方向和由相交矢量的位置和方向定义的z轴正负方向。线段长度分别由相对于x,y,z轴线段的3个属性VGIS-_BUMP_WIDTH、VGIS_BUMP_LENGTH和VGIS_BUMP_HEIGHT控制。通常情况下,该方法比其它方法代价更高,但是却更为灵活适用。这是因为在该方法中有6段线段而不是3段线段,其线段不仅有长度,还有方向。但缺点是在碰撞实体选择时,往往不知道视线应与哪一个多边形求交,如果每次都要对整个场景中所有表面多边形全部都遍历一遍,势必产生巨大运算量,造成无谓的浪费。因此,在实现基于视线的碰撞检测算法时,可以考虑借助包围盒来简化碰撞的模型,以提高碰撞检测的效率。
(2)包围球
包围球被定义为包含该对象的最小的球体,计算给定对象E的包围球,首先需分别确定被包围几何对象中各个顶点的x,y,z坐标均值以确定包围球的球心c,再由球心与三个最大值坐标所确定的点间的距离计算半径r,包围球的计算时间略多于AABB,但存储一个包围球只需两个浮点数。
包围球的紧密性在所有包围盒中是比较差的,它除了对在三???坐标轴上分布得比较均匀的几何体外,几乎都会留下很大的空隙。但包围球有一个比较优秀的特性,就是对于旋转运动来说,包围球不需要做任何更新,因而当对象进行频繁的旋转运动时,采用包围球可能的到较好的结果。
3包围盒的改进
前面提到的几种现在比较常用的碰撞检测方法都各有其有缺点。比如:包围球的紧密性较差,但是它的相交测试十分简单;与之相反,方向包围盒紧密性较好,可是相交测试相对困难。
本系统是一个基于视点的漫游系统,因此,对碰撞效果的真实感要求相对要高一点,而影响碰撞检测精度的直接因素就是对相交检测对象所建立的包围盒的精度。因此本文选用的包围盒是一种简化的OBB。这种简化包围盒具有近似OBB的紧密度,同时,也为后面的碰撞检测提供了一种相对简单的检测模型。具体简化过程如下:
(1)降维
由于建模的场景是校园,所以大多数的楼体的基面都是与地面平行的,这就为OBB中最佳方向的计算提供了一个约束条件。即最佳方向只可能是与地面水平或垂直的。这样一来,就可以把三维的OBB计算简化为(对建筑物的垂直投影的)二维计算。得到二维的最小包围矩形后,对每条边进行垂直提拉就可以恢复到三维的包围盒了。
(2)收缩
由于本系统所选用的漫游模式是步行,碰撞检测的高度不会超过3米,因此在建立包围盒时没必要把高过3米的物体或物体的某一部分包含在内。例如:像房屋的屋檐、大树的树冠这类物体一般都是只对其下部的楼体、树干建立包围盒即可。这样做的优点是:
?誗 减少了包围盒的数量;
?誗 缩小包围盒的范围;
?誗 提高包围盒的紧密度。
(3)选建
对于像马路沿、台阶这种有一定高度的实体不建立包围盒。因为这类物体虽然也有碰撞,但它们是可以跨域的,碰撞瞬间的现象主要表现为漫游者视点高度的增加或减少,而不像楼房那样碰撞后无法前进,所以只要是高度小于跨越高度(zoffset)物体,都不对其建立包围盒,而是通过修改其视点高度来实现其碰撞的效果。
4 碰撞检测优化方法
对于范围较大的场景,且场景中景物繁多的情况,在漫游的过程中实时的对场景中的每一个物体都进行碰撞检测,无疑将给系统带来巨大的计算开销,降低系统的性能。为此,人们提出了空间分解法[2]和层级包围盒法[3]。本文采用的分割过滤法也属于空间分解法一种,因此原理也是通过滤去不需要的数据,以减少不必要的计算。所谓分割过滤法就是将漫游场景分割成规则网格,以此将场景中的物体分割成小的群组。并对规则网格建立对应的平面索引表。如图2所示:
此方法的目的是为了在系统进行碰撞检测
您可能关注的文档
最近下载
- 2025年新译林版英语7年级上册全册教学课件.pptx
- 2023年黑龙江八一农垦大学公共课《中国近代史纲要》期末试卷B(有答案).docx VIP
- 2025年中央八项规定精神学习教育测试题库及答案.docx VIP
- 医院检验科副主任个人述职报告.pptx VIP
- 识字6《日月明》课件.ppt VIP
- 2023年黑龙江八一农垦大学公共课《中国近代史纲要》期末试卷A(有答案).docx VIP
- 《算法设计与分析基础》(Python语言描述) 课件 第6章分支限界法(2).pptx
- 肥胖对健康的危害与疾病管理题库答案-2025年华医网继续教育.docx VIP
- 法律考试专项试卷.doc VIP
- 景观园林招标技术要求.pdf VIP
原创力文档


文档评论(0)