Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
MINIMUM BOUNDING BOX Esten Rye University of Minnesota Undergraduate Computer Science SYNONYMS MINIMUM BOUNDING RECTANGLE (MBR) ROTATED MINIMUM BOUNDING BOX (RMBB) DEFINITION A minimum bounding box (MBB) is the smallest enclosing rectangle of an object aligned to a set of axis. It is represented by 4 parameters corresponding to the (x, y) coordinates in space that define the lower left and upper right vertices of its perimeter. Its variant, the rotated minimum bounding box can be represented by adding an additional parameter to store the rotational information. Figure 1. A minimum bounding box for a complex planar object. The minimum bounding box is most predominantly used as an approximation object in spatial indexes like the R-Tree and its variants. It is also used quite frequently in the areas of object intersection and collision detection. HISTORICAL BACKGROUND The minimum bounding box was first introduced as an approximation tool for spatial indexing by Guttman in [2]. Guttman’s idea was to have each index record in a leaf node of an R-Tree be identified by the smallest enclosing rectangle that spatially contains the n-dimensional data object and a pointer to the file containing the actual representation of the object. It has since become one of the most frequently used approximation techniques for spatial indexes. The reason for its popularity is its simple representation. It only requires two points to represent a minimum bounding box, whereas the object the minimum bounding box represents may be many orders of magnitude more complex. Many spatial data structures have been developed to take advantage of minimum bounding box approximations. The most common are the R-Tree and its variations. SCIENTIFIC FUNDAMENTALS Minimum bounding boxes are designed to be a general, intuitive approach to approximating a complex object. This allows them to be applied to a number of problems from varying disciplines. The exact algorithm for computing a minimum bounding box in two dimensions is as follows: Given: A set of points P in the plane. Begin: Compute the Complex Hull C of the Set of Points P using the Graham Scan Method. O(n log n) Rotate two sets of two parallel lines that are perpendicular to each other around C. The first set of lines must touch the boundary of C. Repeat the previous step until the Minimum Area Bounding Box is found. O(n) End Algorithm 1. Computing the Minimum Bounding Box [12] A Convex Hull is a minimal convex set of points that contain an n-dimensional data object and can be computed by using the Graham Scan Method. The method is named after Ronald Graham who first published the algorithm in 1972 [3]. The algorithm appears below in Algorithm 2. Given: A set of points P in the plane. Begin: Find the lowest y-coordinate. If there is a tie, find the lowest x-coordinate. Store this point as p. Sort the points in P by increasing order of the angle points p and p’ make with the X-axis. For each point p’ in P o Determine from the two previous points m and n whether adding p’ makes a left turn or right turn. End o If adding point p’ makes a right turn, remove point n from consideration. o Otherwise, continue. End For Return the completed Path Algorithm 2. Graham Scan Method [13] Computing the Convex Hull C of the point set P is the most computationally intensive part of Algorithm 1 and therefore it dominates the runtime. One important aspect of the minimum bounding box that works in our favor is the requirement that one edge be flush with the Convex Hull C. In other words, one edge of C must lie on one of the edges of the minimum bounding box. This property limits the number of possible rotations to n. Therefore a minimum bounding box in two-dimensional space can be calculated in O(n log n) time. The exact algorithm for computing a minimum volume bounding box in three dimensions is as follows Given: A set of points P in IR3 space Begin: Compute the Complex Hull C of the point set P For each pair of edges (e1, e2) o Compute the minimum bounding boxes b1 and b2 with edges e1 and e2 flush with C. End For End Algorithm 3. Computing the Minimum Bounding Volume Box [12] In this algorithm, the for-loop is the dominating factor of the complexity. For each edge there are 3 two-dimensional planes in which the minimum bounding boxes can be placed. Each minimum bounding box has n possible rotations, giving us an overall complexity of O(n3) running time to find a minimum volume bounding box in three dimensions. Minimum bounding boxes are often used as a quick filter in range queries to avoid unnecessary and costly computations. As an illustration, consider the range query, ‘Find all the objects which lie in their entirety in a specified disc’, applied to the objects shown in Figure 2. [1] Figure2. Using minimum bounding boxes for a range query. It is easy to see that object A is automatically in our result set because its minimum bounding box is completely contained within the given circle. We can also rule out object D being part of the result set because its minimum bounding box is located completely outside the given query circle. Our work for objects A and D is done and no more computations are performed on these objects. Boxes B and C are not wholly inside or wholly outside the given circle, so we cannot make any assumptions as to whether the objects they represent are in the result set or not. These objects are retrieved for further calculations to determine whether the objects are wholly contained within the given circle before the final result is returned. KEY APPLICATIONS Minimum bounding boxes have uses in many application domains. Spatial Network/Geographical Information Systems Minimum bounding boxes are the basis for many spatial access methods and data structures. In spatial access methods, like the spatial range query above, the minimum bounding box acts as a simple heuristic that minimizes the amount of computational work needed to return the result. Spatial Data Structures, like the R-Tree, use minimum bounding boxes to minimize the size of the tree by taking advantage of the reduced representation complexity offered by the minimum bounding box. R-Tree The R-Tree is a spatial index structure that is an extension of the B-Tree in k dimensions. Its leaf nodes are the minimum axis-aligned bounding box containing the n-dimensional data object being indexed. Each parent node is the minimum axis-aligned bounding box that encloses all the bounding boxes of its leaf nodes. An example of nesting of minimum bounding boxes is shown in Figure 3. . Figure 3. An example R-Tree. The R-Tree is not concerned with minimizing the overlap of parent nodes. It is more concerned with minimizing the overall area of the minimum bounding boxes of the parent nodes. When we insert a new node into the tree, the R-Tree traverses the tree to find the leaf node that requires the least amount of enlargement to include the new node. This process provides us with a tree of nested minimum bounding boxes. To search this tree we provide the search algorithm with a box representing the range we wish to search. The result space is first pruned to eliminate the boxes that are wholly inside or outside of the querying rectangle. Boxes wholly contained within the rectangle are automatically reported. Boxes that intersect the querying rectangle, but are not wholly contained within the querying rectangle, are further examined using the actual object representation. Objects that are found to intersect the querying rectangle are then reported. This structure, laid out by Guttman in [3], has been built upon by many other spatial access methods and has helped further the popularity of the minimum bounding box as a heuristic and approximation tool. R+-Tree The R+-Tree is an extension of the R-Tree. Like the R-Tree, the R+-Tree also uses axis-aligned minimum bounding boxes for its leaf nodes. However, it differs from the R-Tree in its implementation of the parent nodes. The main idea behind the R+-Tree is to have zero overlap of the parent nodes. To do this, the R+-Tree allows partitions to split the intermediate bounding boxes. An example of the use of minimum bounding boxes in the R+-Tree is shown in Figure 4. Figure 4. An Example of an R+-Tree. The advantage gained by the R+-Tree’s constraint that the minimum bounding boxes cannot overlap is that queries do not suffer the excess overhead of traversing a tree that does not have any results in the querying rectangle. This was a significant improvement over the R-Tree’s implementation. R*-Tree The R*-Tree is yet another extension of the R-Tree. In his paper [4], Beckmann lists four parameters he believes are essential for retrieval performance which become the focus of the R*-Tree. Three of these parameters are directly related to the R*-Tree’s use of minimum bounding rectangles. As with the R-Tree, he agrees the area covered by the minimum bounding rectangles of the parent nodes should be minimized. However, unlike the R-Tree, the R*-Tree also tries to limit the overlap of the parent node’s MBRs. This provides an increase in retrieval performance by reducing the number of paths that must be traversed to find the result. Finally, the R*-Tree further differs from the R-Tree and R+-Tree in how it uses minimum bounding rectangles by limiting the perimeter. It achieves this by using more quadratic bounding rectangles, allowing the insertion algorithm to better pack the objects into the parent node’s minimum bounding rectangles. Manufacturing/Hardware Design Designs for circuit boards are typically done on computers. Every component that is attached to the circuit board takes up a finite amount of space. Because each of these components has a complex size, minimum bounding boxes are used to approximate the area taken by the component. In this case two intersecting minimum bounding boxes mean a component is being placed on top of another component. The minimum bounding box again acts as a heuristic to eliminate designs that can’t possibly be implemented. Computer Graphics Minimum bounding boxes are often used for collision detection in this discipline. Again, the minimum bounding box is being used as a heuristic filter. Imagine running a billiards simulation. Each of the n billiards on the table could potentially collide. Instead of checking every point of every billiard to see if it collided with another billiard, we can enclose each billiard in a minimum volume bounding box and search for intersections between minimum bounding boxes. The minimum bounding boxes that intersect contain the billiards that are most likely to collide, effectively pruning the number of calculations we have to consider before repainting the simulation. FUTURE DIRECTIONS One of the common problems with current minimum bounding box based spatial access methods is the growing storage overhead of the spatial structure as the number of dimensions increases. [6] These larger structures require a larger number of pages than spatial structures of lower dimensionality. This causes a degradation of retrieval performance in a search due to the increased number of page accesses. One solution to this problem is the minimum bounding box based spatial access method called the QSF-Tree, presented in [6]. The main idea behind the QSFTree is to use the partitioning approach of a point access method without incurring an overlap. The QSF-Tree’s structure is designed to effectively attack the conceptual problems of spatial access methods today. It eliminates the problems of over-lapping region schemes while also successfully avoiding the pitfalls of object transformation and clipping. The QSF-Tree’s demonstrated ability to scale to an increasing dimensionality of spatial data clearly shows it represents an important step towards the solution to the problem of data dimensionality; however, because it is a MBR based spatial access method it is still vulnerable to the problems of selectivity and structural degradation. The authors of [6] plan to continue investigating this problem for effective ways to attack these and other problems of spatial access methods in higher-dimensional spaces. CROSS REFERENCES R-Trees, R+-Trees, R*-Trees Spatial Access Methods Convex Hull RECOMMENDED READING [1] Worboys, Michael. GIS, A Computing Perspective. London; Bristol, PA: Taylor & Francis, 1995., pgs 271-2 [2] Guttman, Antonin. "R-Trees: A Dynamic Index Structure for Spatial Searching". Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data 1984: 47-57 [3] Graham, R.L. An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set. Information Processing Letters 1, 1972, 132-133 [4] Beckman, Norbert, et al. "The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles". Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data 1990: 322-331. [5] Sellis, Timos, et al. "The R+-Tree: A Dynamic Index for Multi-Dimensional Objects". Proceedings of the 13th VLDB Conference, Brighton 1987 1987: 507-518. [6] Orlandic, Ratko et al.. "A Study of MBR-Based Spatial Access Methods: How well They Perform in High Dimensional Spaces". Database Engineering and Applications Symposium, 2000 International 2000: 306315. [7] Papadias, Dimitris et.al. "Topological Relations in the World of Minimum Bounding Rectangles: A Study with R-Trees". Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data 1995: 92103. [8] Brinkhoff, Thomas et. al. "Comparison of Approximations of Complex Objects Used for Approximation-based Query Processing in Spatial Database Systems". Data Engineering, 1993. Proceedings. Ninth International Conference on 19-23 Apr 1993: 40-49. [9] Zhou, Yunhong et. Al. “Algorithms for Minimum Volume Enclosing Simplex in R3”, Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms, 2000, 500-509 [10] Zhou, Yunhong et. al. "Analysis of a Bounding Box Heuristic for Object Intersection". Journal of the ACM November 1999: 833-857. [11] Samet, Hanan. "Hierarchical Representations of Collections of Small Rectangles". ACM Computing Surveys December 1988: 271-309. [12] Har-Peled, Sariel. "Approximating the Minimum Volume Bounding Box of a Point Set". October 15, 2006 <http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/lec/13_mvbb.pdf> [13] Wikipedia. “Graham Scan” October 15, 2006 <http://en.wikipedia.org/wiki/Graham_scan>