浏览量:239

9.1. 包围体简介

本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。

PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry

9.1. 包围体简介

在计算机图形学与计算几何领域,包围体(Bounding Volume)就是指把自然物体包容起来的密闭空间[23]。如图9.1所示,就是两类包围体:包围球和包围盒。通常,物体的空间结构比较复杂,需要有上百个顶点组成。如果需要判断两个物体是否发生碰撞,直接采用物体的结构来检测,会使计算量非常的大,而采用包围体,则可以有效的排除不相交的不重叠的情况,降低计算机的开销。

2015-3-24 15-21-13

图9.1 包围体[24]

包围体最主要的用途是降低碰撞检测的开销,评价包围体性能的好坏,可以依据如下几个指标[26]

  1. 创建开销;
  2. 紧密度;
  3. 相交测试;
  4. 内存占用性况;
  5. 是否容易旋转和变换;

如果一个包围体的创建开销越低,紧密度越好,相交测试简单,内存占用低,容易做旋转和变换,那么这种类型的包围体性能就越好。

常用的包围体有,轴对齐包围盒(AABB),有向包围盒(OBB),包围球,k-离散有向多面体(k-DOP)[25]。其中,轴对齐包围盒创建较为简单,只要将物体的顶点沿着三维空间的3个坐标轴做投影,取得最小值和最大值即可。k-离散有向多面体是轴对齐包围盒的扩展,只要将物体的顶点沿着面的法向量\({{\vec{n}}_{i}}\)做投影,取得最小值和最大值即可创建出k-离散有向多面体。

spacer

Leave a reply