Encyclopedia of Computer Graphics and Games

Living Edition
| Editors: Newton Lee

Bounding Volume Hierarchies for Rigid Bodies

• Simena Dinas
Living reference work entry
DOI: https://doi.org/10.1007/978-3-319-08234-9_332-1

Definition

A bounding volume is a geometric primitive that encloses one or more objects and leads to cheaper overlapping tests (Ericson 2005). The bounding volumes most frequently used are spheres, boxes, and ellipsoids. The bounding volume hierarchy is a tree structure used to represent the set of geometric objects, which are enclose in bounding volumes. A rigid body is a solid body without deformation or whose deformation is so insignificant that it can be neglected.

Introduction

Bounding volumes and binary space partitioning belong to the acceleration structures used to increase the speed for applications that require to determine intersection between two or more objects. Bounding volume is a technique for object partitioning, which is based on object subdivision and objects level of details, whereas binary space partitioning is a technique for space partitioning, which is based on the space subdivision and space level of details (Luque et al. 2005; Weller 2013). Techniques based on hierarchical bounding volumes are commonly used for collision detection. An object is a triangular mesh, which is bounded by a hierarchy of bounding volumes for collision detection. It is divided hierarchically, usually by a recursive method, and then a bounding volume hierarchy (BVH) is used to represent each part of the object in such a way that the complete object is represented in each level of the BVH. A BVH is a tree structure in which the problem of detecting a collision between two or more objects can be reduced to detect collisions between their BVHs representation. On the one hand, if bounding volumes of two nodes do not overlap, there is no collision for the parts bounded by these bounding volumes. On the other hand, if bounding volumes of two leaf nodes overlap, the corresponding triangles must be tested for intersection. In the next section, it is presented a brief explanation of spheres, axis-aligned bounding boxes (AABB), and oriented bounding boxes (OBB).

Spheres

It encloses an object with the minimal sphere; it is usually called the bounding circumference in a two-dimensional space and bounding sphere in a three-dimensional space (Arcila 2011; Weller 2013; Dinas and Bañón 2015). One advantage of sphere as bounding volumes is its efficiency to calculate the intersections and distance between a pair of sphere. Although spheres are invariant to translation and rotations, they are not good bounding volume for elongated objects. To calculate the bounding sphere, it is found the largest distance between a pair of vertices of the polygon (in two dimensions, see Fig. 1) or polyhedron (in three dimensions).
The intersection between spheres is straightforward; it is just enough to calculate the distance between their centers and the sum of their radius, and to compare these quantities. For instance, the pair of spheres depicted in Eqs. 1 and 2 have centers (x1, y1, z1) and (x2, y2, z2) and radius r1 and r2, respectively.
$${\left(x-{x}_1\right)}^2+{\left(y-{y}_1\right)}^2+{\left(z-{z}_1\right)}^2={r_1}^2$$
(1)
$${\left(x-{x}_2\right)}^2+{\left(y-{y}_2\right)}^2+{\left(z-{z}_2\right)}^2={r_2}^2$$
(2)
There is not intersection between the circumferences if the condition 3 holds; otherwise they intersect.
$$\sqrt{{\left({x}_2-{x}_1\right)}^2+{\left({y}_2-{y}_1\right)}^2+{\left({z}_2-{z}_1\right)}^2}>{r}_1+{r}_2$$
(3)

Axis-Aligned Bounding Box (AABB)

An AABB is a minimal enclosing box that contains the object; it is usually called the axis-aligned bounding rectangle (AABR) in a two-dimensional space and axis-aligned bounding box in a three-dimensional space (Zhigang et al. 2010; Arcila 2011; Weller 2013). The main benefits are that it is simple to find the box, the box is invariant to translations, and the test between a pair of boxes is straightforward; nevertheless, this volume is not invariant to rotation, as a result, changes in the objects direction require updates in the bounding boxes (Fig. 2).

The procedure of testing whether two boxes overlap is simple. Check if one box lies completely on the half-space (not containing the object) of one face of another box, then the two boxes do not overlap. That is, if there exists a separating plane so that two boxes lay on different half-spaces of the plane, they do not overlap.

Orientation Bounding Box (OBB)

It is the minimal box that encloses the object and takes into account the object orientation; it is usually called the oriented bounding rectangle (OBR) and oriented bounding box in a two-dimensional and in a three-dimensional space, respectively (Zhigang et al. 2010; Arcila 2011; Weller 2013). The most significant advantage of this volume is the invariance to translation and rotations; however, the collision test for OBBs (or OBRs) is computationally more expensive than the AABBs (or AABRs) test (Fig. 3).

The same procedure used to determine if two boxes overlap can be used to determine the intersection between OBBs.

An Example of Bounding Volumes Hierarchies for Spheres

Figure 4 depicts an example of bounding volumes of a lamp using spheres. Figure 4a shows a nonconvex polyhedron with lamp shape, and it was decomposed into a set of ten parts, which are convex polyhedra. The lamp is compounded by one (1) base, one (1) lamp shade, four (4) pipes or tubes, and four (4) junctions or connectors. In Fig. 4b, there are depicted the three levels of the hierarchy, which has 23 = 8 bounding volumes in each part (80 spheres in total). Figure 4c, d depict the levels 6 and 12 of the hierarchy, respectively; the level 6 has 26 = 64 bounding volumes in each part (640 spheres in total) and the level 12 has 212 = 4.096 bounding volumes per part (40.960 spheres in total).

Some Bounding Volumes

Following, a short list of common bounding volumes.
• Ellipsoid: Ellipsoids are tighter fitting than spheres for elongated objects (Rubino et al. 2015).

• Cylinder: It uses the radius of bounding circumference of the shape and a swept line (Chan and Tan 2004).

• K-Discrete Orientation Polytopes (K-DOPs) or Fixed-Direction Hull (FDH): A DOP is a generalized AABB. It is constructed by taking a number k of appropriately oriented planes at infinity and bringing them closer to the object until they collide (Weller 2013; Dinas and Bañón 2015).

• Oriented Discrete Orientation Polytopes (Or-DOPs): An Or-DOP is similar to a K-DOP, but it is a generalization of an OBB rather than an AABB (Suaib et al. 2013).

• Swept Sphere Volume: The representation is straightforward: a radius and a swept volume. The most important swept volumes are point swept spheres (PSS), line swept spheres (LSS), and rectangle swept spheres (RSS). The advantages of these volumes correspond to the sphere advantages (Tang et al. 2014).

• Cloud of Points and Convex Hull (CPCH): It constructs a convex hull for a cloud of points; it is the smallest convex volume containing the object and, hence, a hull is a tight bounding volume (Figueiredo et al. 2010). Research on clouds of points includes mostly surface reconstruction; they are important for animated three-dimensional graphics.

The combination of two or more BVHs was proposed by (Arcila 2011) as a double BVH. The outer (minimal) bounding volume has been widely used; it determines the collision and accelerates the process in broad-phase, whereas the inner (maximal) bounding volume accelerates the collision acceptance process. Additionally, a combination of AABB and ellipsoids for three-dimensional for a sequence of images was recently proposed by Rubino et al. (2015), they worked on objects reconstruction from a sequence of images in open and close scenarios.

Bounding Volumes Requirements

Several literature about the bounding volumes includes the importance, minimal requirements, construction cost, test cost, evaluation tests, techniques, applications, among others (Zhigang et al. 2010). Because of their importance, several authors have reported their impact and cost of computing, and have implemented strategies to decrease the cost (Yoon and Manocha 2006), whereas other authors have reported works on requirements for optimal bounding volumes (Weller 2013):
• Tight fitting to approximated objects: Tighter fitting bounding volumes are computationally expensive; it is hard to calculate a unique bounding volume that adjusts different objects. Hierarchies are one solution to approximate the object (Bradshaw 2002).

• Efficient creation: The complexity of the bounding volume is mainly the complexity of its creation; however, more complex volumes should be tighter fitting (Lauterbach et al. 2009).

• Efficient updating: If a bounding volume is invariant to rotation and translation, it does not require to be updated; however, not always they are invariant to both geometrical transformations (Spillmann et al. 2007).

• Efficient overlap tests: Low computational costs are associated with simpler bounding volumes (as spheres and boxes); however, they are not as tighter fitting as others (Zhigang et al. 2010).

• Low memory usage: The simpler bounding volumes use lower memory and have low computational cost; nevertheless, they are not as tighter fitting as others (Yoon and Manocha 2006; Weller 2013).

• Suitable for hierarchy construction: A bounding volume tree helps to decrease the number of overlapping tests, and they can be used to approximate the objects shape (Spillmann et al. 2007).

All requirements are essential; however, there is not a bounding volume that fulfills them completely; the selection depends on the application. Nevertheless, efficiency in bounding volumes is equally important to the following requirements of the hierarchy (Bradshaw 2002):
• Volume Approximation: Children nodes represent tighter fit of the object than its parent.

• Covered Area: Children nodes must cover the same parts of the object covered by their parent.

• Automatic Creation: Hierarchy construction does not use human interaction.

• High Degree of Accuracy: Bounding volumes should fit the original model as tightly as possible.

Bounding Volumes Performance

Performance of Bounding Volumes can be evaluated using Eq. 4 (Bradshaw 2002; Weller 2013; Dinas and Bañón 2015).
$$T={N}_u{C}_u+{N}_v{C}_v,$$
(4)
where T is the total cost function for detecting interference between a pair of objects represented by a bounding volume. Nu is the number of bounding volumes updates during the traversal of the hierarchies, and Cu is the average cost of updating a bounding volume due to the motion. Nv is the number of overlapping tests performed over the bounding volumes, and Cv is the average cost of performing an overlapping test between a pair of bounding volumes.
However, Eq. 4 was extended to Eq. 5 in order to separate bounding volumes and primitives (Weller 2013).
$$T={N}_u{C}_u+{N}_v{C}_v+{N}_p{C}_p,$$
(5)
where Np is the number of overlapping tests performed over primitives, and Cp is the average cost of performing an overlapping test between primitives. (Suaib et al. 2013) included Co in Eq. 6. Co is used to include any additional time caused by transformation updates or coordinates updates for the objects. Similarly, Ericson (2005) define Co as a one-time processing.
$$T={N}_u{C}_u+{N}_v{C}_v+{N}_p{C}_p+{C}_o$$
(6)

For instance, due to spheres and OBBs are invariant to rotation, they eliminate the values Nu and Cu from Eqs. 4 and 5 but the value Nv increases. In contrast, the reduction of overlapping test over the bounding volumes (Nv) increases the number of overlapping test over primitives (Np).

References

1. Arcila, O.: Nuevas Representaciones Dobles: Estudio e Implementación. Linköping studies in science and technology: Thesis. Editorial Academica Espanola (2011)Google Scholar
2. Bradshaw, G.: Bounding Volume Hierarchies for Level-of-Detail Collision Handling. PhD thesis, Trinity College Dublin, Dublin (2002)Google Scholar
3. Chan, C., Tan, S.: Putting objects into a cylindrical-rectangular bounded volume. Comput. Aided Des. 36(12), 1189–1204 (2004)
4. Dinas, S., Bañón, J.M.: A literature review of bounding volumes hierarchy focused on collision detection – revisin de literatura de jerarqua volmenes acotantes enfocados en deteccin de colisiones. Ingeniera y Competitividad. 17, 63–76 (2015)
5. Dinas, S., Arcila, O., Bañón, J.M.: An’alisis de la paralelizaci’on de un esferizador geom’etrico. Cuarto Congreso Colombiano de Computación – 4CCC (2009)Google Scholar
6. Ericson, C.: Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3-D Technology). Morgan Kaufmann, Amsterdam (2005)Google Scholar
7. Figueiredo, M., Oliveira, J., de Arajo, B.R., Pereira, J.A.M.: An efficient collision detection algorithm for point models. Graphicon 2010 – International Conference on Computer Graphics and Vision (2010)Google Scholar
8. Lauterbach, C., Garland, M., Sengupta, S., Luebke, D., Manocha, D.: Fast bvh construction on gpus. Comput. Graphics Forum. 28(2), 375–384 (2009)
9. Luque, R.G., Comba, J.L.D., Freitas, C.M.D.S.: Broad phase collision detection using semi-adjusting bsp-trees. In: Proceedings of the 2005 Symposium on Interactive 3D graphics and Games, I3D’05, pp. 179–186. ACM, New York (2005)
10. Rubino, C., Crocco, M., Perina, A., Murino, V., and Bue, A. D. (2015). 3d structure from detections. Submitted to Computer Vision and Pattern Recognition 2015Google Scholar
11. Spillmann, J., Becker, M., Teschner, M.: Efficient updates of bounding sphere hierarchies for geometrically deformable models. J. Vis. Commun. Image Represent. 18(2), 101–108 (2007)
12. Suaib, N., Bade, A., Mohamad, D.: Hybrid collision culling by bounding volumes manipulation in massive rigid body simulation. TELKOMNIKA Indonesian. J. Electr. Eng. 11(6), 3115–3122 (2013)Google Scholar
13. Tang, M., Manocha, D., Kim, Y.J.: Hierarchical and controlled advancement for continuous collision detectionof rigid and articulated models. IEEE Trans. Vis. Comput. Graph. 20(5), 755–766 (2014)
14. Weller, R.: A brief overview of collision detection. In: New Geometric Data Structures for Collision Detection and Haptics, Springer Series on Touch and Haptic Systems, pp. 9–46. Springer International Publishing, Heidelberg (2013)
15. Yoon, S.-E., Manocha, D.: Cache- efficient layouts of bounding volume hierarchies. Comput. Graphics Forum. 25(3), 507–516 (2006)
16. Zhigang, F., Jianxun, J., Jie, X., Xiaochi, W.: Efficient collision detection using bounding volume hierarchies of obb-aabbs and its application. In: 2010 International Conference on Computer Design and Applications (ICCDA), vol. 5, pp. V5:242–V5:246 (2010)Google Scholar