Minimum Bounding Box

advertisement
MINIMUM BOUNDING BOX (MBB)
Esten Rye
University of Minnesota
Undergraduate Computer Science
SYNONYMS
MINIMUM BOUNDING RECTANGLE (MBR)
ROTATED MINIMUM BOUNDING BOX (RMBB)
DEFINITION
A minimum bounding box 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. [1]
(This image will be replaced with one of my own later)
HISTORICAL BACKGROUND
The minimum bounding box is one of the most popular approximation methods in
spatial access methods. 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
Computing the Convex Hull C of the point set P is the most computationally
intensive part of the algorithm 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
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. To illustrate this, 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. [1]
(This image will be replaced with one of my own later)
It is easy to see the object C is automatically in our result set because its minimum
bounding box is completely contained within the given circle. We can also rule
out object A being part of the result set because its minimum bounding box is
located completely outside the given circle. Our work for objects A and C is done
and no more computations are performed on these objects. Boxes B, D and E 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 complex object being indexed. Each parent node is the minimum
axis-aligned bounding box that encloses all the bounding boxes of its leaf nodes.
The R-Tree is not concerned with minimizing the overlap of parent nodes. It is
more concerned with minimizing the overall area of the parent nodes.
Description of how bounding boxes are used in R-Trees will be expanded later.
R+-Tree
The R+-Tree is an extension of the R-Tree. Like the R-Tree, the R+-Tree also uses
minimum axis-aligned 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.
Description of how bounding boxes are used in R+-Trees will be expanded later.
R*-Tree
The R*-Tree is yet another extension of the R-Tree. Unlike the R+-Tree, the R*Tree allows overlap of parent nodes, but tries to minimize it by using a more
complex insertion algorithm than the R-Tree.
Description of how bounding boxes are used in R*-Tree will be expanded later.
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 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.
Ray Tracing
I will expand this section in the next iteration, at the time of the extension of the
assignment the reference material I had gathered does not allow me to go into
how bounding boxes are used in this situation.
Collision Detection
I will expand this section in the next iteration, at the time of the extension of the
assignment the reference material I had gathered does not allow me to go into
how bounding boxes are used in this situation.
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. [5] 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 [5]. 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 adapt gracefully to an increasing dimensionality of spatial data clearly
shows it represents an important step towards the solution to the problem of data
dimensionality.
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]
Har-Peled, Sariel. "Approximating the Minimum Volume Bounding Box of
a Point Set". October 15, 2006
<http://www.google.com/search?q=cache:AjA47sEJrM8J:valis.cs.uiuc.edu/
~sariel/research/book/aprx/lec/11_mvbb.pdf+algorithm+for+finding+%22m
inimum+bounding+box%22&hl=en&gl=us&ct=clnk&cd=3&client=firefoxa>.
[3]
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.
[4]
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.
[5]
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.
[6]
Barequet, Gill et. al. "Efficiently Approximating the minimum-volume
bounding box of a Pointset in Three Dimensions". Proceedings of The Tenth
Annual ACM-SIAM Symposium on Discrete Algorithms 1999: 82-91.
[7]
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
[8]
Zhou, Yunhong et. al. "Analysis of a Bounding Box Heuristic for Object
Intersection". Journal of the ACM November 1999: 833-857.
[9]
Samet, Hanan. "Hierarchical Representations of Collections of Small
Rectangles". ACM Computing Surveys December 1988: 271-309.
[10] "Bounding Volume". Wikipedia. October 15, 2006; October 14, 2006
<http://en.wikipedia.org/wiki/Bounding_box>.
[11] "Minimum Bounding Rectangle". Wikipedia. October 15, 2006; October 14,
2006 <http://en.wikipedia.org/wiki/Minimum_bounding_rectangle>.
[12] "Intersection Detection". The Algorithm Design Manual. October 15, 2006
<http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE19
1.HTM#SECTION03168000000000000000>.
[13] Chen, Austin H. "Bounding Box Techniques to Initialize Optimization of
Primitive Geometry Fitting". Journal of Manufacturing Systems 2004:
<http://findarticles.com/p/articles/mi_qa3685/is_200401/ai_n9356156>
Download