基于OBB碰撞检测的高效三角形相交测试研究设计论文.docVIP

基于OBB碰撞检测的高效三角形相交测试研究设计论文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OBB碰撞检测的高效三角形相交测试 李明博 (韩国汉城国立大学计算机科学与工程系,汉城151-744) 摘要:针对基于方向包围盒的碰撞检测,提出一种高效的三角形相交测试算法。在测试两个方向包围盒的叶节点(例如矩形),许多中间计算结果可以在它们所包含的两个三角形相交测试中重复使用。当我们在边界矩形的局部坐标而不是在物体的全局坐标中工作时,更容易检测冗余操作。我们算法的性能改善就是基于这种消除冗余操作的观测。与传统算法相比,我们在计算时间上已经有15-79%的改善。我们将通过几个实验结果来验证此方法的效率。 关键字:三角形相交;方向包围盒;碰撞检测;坐标描述 1.引言 碰撞检测在各种各样的应用中都很重要,在这里仅举几个例子,如计算机图形学,动画,游戏以及机器人。方向包围盒(OBB)的层次包围体(BVH)技术经常应用在三维空间带有三角网格的三围物体之间的碰撞检测[1]。其他传统的边界包围体包括球体,轴对齐包围盒(AABB),k-discrete orientation polytope (k-DOP) ,以及line swept sphere(LSS)[2]。 BVH 是包围体构建的树。BVH的每一个节点是限定基元相应设置的物体。BVH的叶节点通常限定单基元。本文专注于基于OBB的层次包围体技术和三角网格之间的碰撞检测,我们会展现如何通过使用检测OBB叶节点的结果加速三角形相交测试。 OBB树的叶节点是限定单一三角形的矩形。因此,三角相交测试由限定它们的矩形的类似测试来计算。通过循环计算矩形测试结果,我们可以让三角测试比以往从零开始进行相交测试的传统方法[3-6]更加高效。在实验测试结果中,我们已经观测到计算时间有15-79%的改善。 测试两个三角形之间的相交测试的第一步是要将其中一个三角形坐标转换到另一个三角形的坐标系统中。这是一个耗费大的程序。在基于OBB的环境中,我们发现可以通过循环使用矩形包围体的相似转换来简化这个步骤。而且,通过在包围矩形的局部坐标里描述每一个三角形,我们能够很容易的提取共同操作,从而消除在相交测试的剩余步骤的冗余测试。 2.相关算法 Mo¨ller [3] 计算一个包含有多个三角形的平面上的一个三角形三个顶点之间的矢量距离。如果距离全部为正或者负,就说明不存在相交。反之,通过调换两个三角形的角色,我们可以重复其他平面三角的检测。如果三角检测出相交,那么接下来的问题就简化为过同一条相交线(在包含这些三角形的平面上)的两条线段之间的重叠测试(例如三角面片相交)。 Held[4]首先计算一个三角形与一个包含其它三角形的平面之间的线段相交,然后将问题简化至二维空间的线段与三角之间的测试。 Guigue和Devillers [5]继承Mo¨ller [3]的方法,然而他们是使用一个由4*4矩阵的行列式所定义的方向术语。每个顶点的方向距离由这个方向术语所计算。而且,在同一个相交线上检测二条线段的重叠同样可以通过使用两个方向术语的符号有效的实现。两个三角形之间的相交就简化为检测八个方向术语的符号。 Tropp et al. [6]采取了代数算法,然和他们的基本框架与Held[4]的框架类似。通过线性代数技术以及重复使用某些变量的计算结果,Tropp et al. [6]使得算法更加高效。 在一般的三角形之间的检测,Guigue和Devillers [5]以及Tropp et al. [6]通常能展示更好的性能。然而,在我们的算法中,三角形在包围矩形的局部坐标中表示,由于算法的简单,我们发现Mo¨ller [3]的算法更加符合我们的意图。本文中,我们采取Mo¨ller [3]的算法。 3.算法 3.1 矩形包围体 限定一个三角形的OBB叶节点就是一个矩形,这个矩形与三角形[7]之间共同拥有一条边与两个顶点。 图1(a)指出最小的限定矩形与钝角三角形拥有同一条最长的边。对于锐角三角形,任意一条边都可以达到目的;但是,在图1(b)中,我们取用最短的一条边,这将对应最小的接近于正方形的矩形。每一个最小矩形的面积是三角形的二倍。 图1 .钝角三角形(a)与锐角三角形(b)的最小面积的矩形包围体 一个矩形包围体由一个中间位置的向量,一个3*3方向矩阵以及两个确定侧边长度的实数。方向矢量被设置为沿着与三角形共同拥有的边的单位矢量。单位矢量是包含三角的平面的标准单位矢量;而且有我们的算法与其他算法的最大区别就是我们添加一个正如图2中所描述的附加参数a来简洁地在矩形包围体的局部坐标中描述每一个三角形,而且。 图 2.在矩形包围体中的三角形的位置 3.2 输入 传统算法例如Mo¨ller [3], Held [4],以及Guigue和Devillers [5]需要输入两个三角形的全部六个顶点。另外, 对于每一个三角形,Tropp et

文档评论(0)

大吧书屋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档