Bounding Volume Hierarchies for Rigid Bodies
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.
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).
Axis-Aligned Bounding Box (AABB)
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)
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
Some 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
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).
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).
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
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).
- Arcila, O.: Nuevas Representaciones Dobles: Estudio e Implementación. Linköping studies in science and technology: Thesis. Editorial Academica Espanola (2011)Google Scholar
- Bradshaw, G.: Bounding Volume Hierarchies for Level-of-Detail Collision Handling. PhD thesis, Trinity College Dublin, Dublin (2002)Google Scholar
- 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
- Ericson, C.: Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3-D Technology). Morgan Kaufmann, Amsterdam (2005)Google Scholar
- 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
- 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
- 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
- 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