包围盒基本知识

包围盒算法是计算机图形学中用于简化复杂几何对象的一种技术,包括AABB、Sphere、OBB和FDH四种类型。AABB是最简单的包围盒,适合快速碰撞检测,但紧密性不佳;Sphere是包围对象的最小球体,适用于计算简单;OBB提供更好的紧密性,但相交测试复杂;FDH通过固定方向提高紧密度,减少冗余计算,但相交检测也较复杂。选择哪种包围盒取决于应用场景和效率需求。
摘要由CSDN通过智能技术生成

1.1 什么是包围盒?

包围盒算法是一种求解离散点集最优包围空间的方法。
基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。
最常见的包围盒算法有AABB包围盒(Axis-aligned bounding box),
包围球(Sphere), 
方向包围盒OBB(Oriented bounding box)
以及固定方向凸包FDH(Fixed directions hulls或k-DOP)。

1.2 包围盒的类型:

1.2.1 AABB包围盒(Axis-aligned bounding box)

    AABB是应用最早的包围盒。它被定义为包含该对象,且边平行于坐标轴的最小六面体
。故描述一个AABB,仅需六个标量。AABB构造比较简单,存储空间小,但紧密性差,尤其
对不规则几何形体,冗余空间很大,当对象旋转时,无法对其进行相应的旋转。处理对象
是刚性并且是凸的,不适合包含软体变形的复杂的虚拟环境情况。
    AABB也是比较简单的一类包围盒。但对于沿斜对角方向放置的瘦长形对象,其紧密性
较差。由于AABB相交测试的简单性及较好的紧密性,因此得到了广泛的应用,还可以
用于软体对象的碰撞检测。

1.2.2 包围球(Sphere)

    包围球被定义为包含该对象的最小的球体。确定包围球,首先需分别计算组成对象的
基本几何元素集合中所有元素的顶点的x,y,z坐标的均值以确定包围球的球心,再由球心
与三个最大值坐标所确定的点间的距离确定半径r。包围球的碰撞检测主要是比较两球间半
径和与球心距离的大小。

1.2.3 OBB方向包围盒(Oriented bounding box)

    OBB是较为常用的包围盒类型。它是包含该对象且相对于坐标轴方向任意的最小的长方
体。OBB最大特点是它的方向的任意性,这使得它可以根据被包围对象的形状特点尽可能紧
密的包围对象,但同时也使得它的相交测试变得复杂。OBB包围盒比AABB包围盒和包围球更
加紧密地逼近物体,能比较显著地减少包围体的个数,从而避免了大量包围体之间的相交
检测。但OBB之间的相交检测比AABB或包围球体之间的相交检测更费时。

1.2.4 FDH固定方向凸包(Fixed directions hulls或k-DOP)

    FDH(k-DOP)是一种特殊的凸包,继承了AABB简单性的特点,但其要具备良好的空间
紧密度,必须使用足够多的固定方向。被定义为包含该对象且它的所有面的法向量都取自
一个固定的方向(k个向量)集合的凸包。FDH比其他包围体更紧密地包围原物体,创建的层
次树也就有更少的节点,求交检测时就会减少更多的冗余计算,但相互间的求交运算较为复杂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值