碰撞检测技术-面结构光三维测量技术

mall32154 9 0 pdf 2024-07-12 22:07:04

3.4 自然交互与传感技术

3.5 碰撞检测技术

在虚拟世界中,由于用户与虚拟世界的交互及虚拟世界中物体的相互运动,物体之间经常会出现发生相碰的情况。为了保证虚拟世界的真实性,就需要VR系统能够及时检测出这些碰撞,产生相应的碰撞反应,并及时更新场景输出,否则就会发生穿透现象。正是有了碰撞检测,才可以避免诸如人穿墙而过等不真实情况的发生,影响虚拟世界的真实感。

在虚拟世界中关于碰撞,首先要检测到有碰撞的发生及发生碰撞的位置,其次是计算出发生碰撞后的反应,所以说碰撞检测是VR系统中不可缺少的部分。在虚拟世界中通常有大量的物体,并且这些物体的形状复杂,要检测这些物体之间的碰撞是一个十分复杂的事情,其检测工作量较大,同时由于VR系统中有较高实时性的要求,要求碰撞检测必须在很短的时间(如30 ms~50 ms)完成,因而碰撞检测成了VR系统与其他实时仿真系统的瓶颈,碰撞检测是VR系统研究的一个重要技术。

  1. 碰撞检测的要求

为了保证虚拟世界的真实性,碰撞检测必须有较高的实时性和精确性。所谓实时性,基于视觉显示的要求,碰撞检测的速度一般至少要达到24次/秒,而基于触觉要求,碰撞检测的速度至少要达到300次/秒才能维持触觉交互系统的稳定性,只有达到1000次/秒才能获得平滑的效果。而精确性的要求则取决于VR系统在实际应用中的要求,比如对于小区漫游系统,只要近似模拟碰撞情况,此时,若两个物体之间的距离比较近,而不管是否实际有没有发生碰撞,都可以将其当做是发生了碰撞,并粗略计算其发生的碰撞位置。而对于如虚拟手术仿真、虚拟装配等系统的应用时,就必须精确地检测碰撞是否发生,并实时地计算出碰撞发生的位置,并产生相应的反应。

  1. 碰撞检测的实现方法

由于物体本身的模型可能很复杂,直接采用物体的原模型来检测两个物体的碰撞,计算量仍然过大。对两物体间的精确碰撞检测的加速实现,现有的碰撞检测算法主要可划分为两大类:层次包围盒法和空间分解法。

层次包围盒法的基本思想是利用体积略大而几何特性简单的包围盒将复杂几何对象包裹起来,在进行碰撞检测时,首先进行包围盒之间相交测试,只有包围盒相交时,才对其所包裹的对象,做进一步求交计算。在构造碰撞体的包围盒时,若引入树状层次结构,可快速剔除不发生碰撞的元素,减少大量不必要的相交测试,从而提高碰撞检测效率。比较典型的包围盒类型有沿坐标轴的包围盒AABB、包围球、方向包围盒、固定方向凸包等。层次包围盒方法应用得较为广泛,适用复杂环境中的碰撞检测。

空间分解法是将整个虚拟空间划分成相等体积的小单元格,只对占据同一单元格或相邻单元格的几何对象进行相交测试。比较典型的方法有K-D树、八叉树、BSP树、四面体网、规则网等。空间分解法通常适用于稀疏的环境中分布比较均匀的几何对象间的碰撞检测。

用户评论
请输入评论内容
评分:
暂无评论