一种基于非共面剔除的柔性场景连续碰撞检测方法

文档序号:6428654阅读:322来源:国知局
专利名称:一种基于非共面剔除的柔性场景连续碰撞检测方法
技术领域
本发明属于计算机检测技术领域,具体涉及一种基于非共面剔除的柔性场景连续碰撞检测方法。
背景技术
基于三角形网格的连续碰撞检测被广泛应用于不同的技术领域,包括机器人运动路径规划、物理仿真、视频游戏等,它使用勻速线性插值轨迹,检测物体在两个离散位置间可能发生的碰撞情况。目前应用最广泛的连续碰撞检测方法是利用包围盒层次结构(BVH),先对整个场景进行包围盒重叠测试,当检测到两个包围盒不相交时,停止遍历该节点的子节点。各种 BVH,如球(Sphere)树,轴对齐包围盒(AABB)树,定向包围盒(OBB)树,离散定向多面体 (k-DOP)树等,这些层次结构通常采用自顶向下的方法进行构造,被广泛应用于刚体或柔性物体的碰撞检测。对于柔性物体,除了需要考虑包围盒的紧凑性外,包围盒整理和重构的效率也至关重要。

图1为AABB、8-D0P和OBB三种包围盒的示意图,对于简单的包围盒,如 Sphere、AABB,其整理和构造十分快捷,但紧凑性较差;对于复杂的包围盒,如0ΒΒ,虽然较为紧凑,但整理和构造的计算量较大;作为折中选择,k-DOP兼具紧凑性和高效性,因此常被用于柔性物体的包围盒层次结构,但即使使用了最紧凑的包围盒,剔除率仍然不高。因此,对于包围盒重叠测试输出的存在重叠的包围盒对,传统方法通过精确碰撞检测来判断包围盒对所对应的三角形对是否发生了碰撞,精确碰撞检测过程可分解为15 种碰撞情况的检测6种顶点/三角形之间碰撞检测和9种边/边之间碰撞检测。而每个元素测试至少需要求解一个三次方程的根,15种情况需要求解15个三次方程以及一些附加的判断条件,因此这个过程需要耗费大量的计算时间。

发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于非共面剔除的柔性场景连续碰撞检测方法,通过在精确碰撞检测阶段,利用非共面剔除相应的碰撞情况,减少了精确碰撞检测的次数,提高了碰撞检测的速度。一种基于非共面剔除的柔性场景连续碰撞检测方法,包括如下步骤(1)对待检测的三角形网格柔性场景模型中的每个三角形构造对应的包围盒,进而建立三角形网格柔性场景模型的包围盒层次结构;(2)根据所述的包围盒层次结构,构建包围盒测试树(BVTT);对所述的包围盒测试树进行包围盒重叠测试,输出存在包围盒重叠的叶节点;(3)对输出的叶节点对应的三角形对进行非共面剔除检测,对剔除后保留的碰撞情况进行精确碰撞检测。所述的非共面剔除检测包括点/面非共面剔除检测和边/边非共面剔除检测。所述的点/面非共面剔除检测,包括如下步骤
1)获取前一时刻和当前时刻待检测三角形三个顶点的三维坐标、待检测点的三维坐标、待检测三角形的法向量;2)判断四个检测标量值
权利要求
1.一种基于非共面剔除的柔性场景连续碰撞检测方法,包括如下步骤(1)对待检测的三角形网格柔性场景模型中的每个三角形构造对应的包围盒,进而建立三角形网格柔性场景模型的包围盒层次结构;(2)根据所述的包围盒层次结构,构建包围盒测试树;对所述的包围盒测试树进行包围盒重叠测试,输出存在包围盒重叠的叶节点;(3)对输出的叶节点对应的三角形对进行非共面剔除检测,对剔除后保留的碰撞情况进行精确碰撞检测。
2.根据权利要求1所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的非共面剔除检测包括点/面非共面剔除检测和边/边非共面剔除检测。
3.根据权利要求2所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的点/面非共面剔除检测,包括如下步骤1)获取前一时刻和当前时刻待检测三角形三个顶点的三维坐标、待检测点的三维坐标、待检测三角形的法向量; 2)判断四个检测标量值
4.根据权利要求2所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的边/边非共面剔除检测,包括如下步骤1)获取前一时刻和当前时刻一条待检测边两个端点的三维坐标、另一条待检测边两个端点的三维坐标;2)判断四个检测标量值:
5.根据权利要求1所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的步骤(1)中,当进行第η次碰撞检测时,包围盒层次结构是根据第η次碰撞检测时刻每个三角形的空间位置,对上一次碰撞检测过程的包围盒层次结构中最底层的包围盒进行重构,进而自底向上对上一次碰撞检测过程的包围盒层次结构进行整理更新而成的,η 为大于1的自然数。
6.根据权利要求1所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的步骤O)中,当进行第η次碰撞检测时,所述的包围盒测试树为上一次碰撞检测过程中的包围盒测试树。
7.根据权利要求1所述的基于非共面剔除的柔性场景连续碰撞检测方法,其特征在于所述的包围盒为16-D0P包围盒。
全文摘要
本发明公开了一种基于非共面剔除的柔性场景连续碰撞检测方法,包括(1)构建包围盒层次结构;(2)构建BVTT,对BVTT进行包围盒重叠测试;(3)对三角形对非共面剔除后进行精确碰撞检测。本发明通过在精确碰撞检测阶段,利用非共面剔除相应的碰撞情况,由于非共面剔除检测剔除效率高,检测速度快,提高了连续碰撞检测的效率,大大减少了精确碰撞检测的次数,进而大大加快了连续碰撞检测的整体速度,且具有很好的兼容性。
文档编号G06F11/00GK102393825SQ20111019876
公开日2012年3月28日 申请日期2011年7月15日 优先权日2011年7月15日
发明者唐敏, 杜鹏, 童若锋, 赵杰伊 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1