Keywords
Years and Authors of Summarized Original Work
1990; Paterson, Yao
1992; Paterson, Yao
1992; D’Amore, Franciosa
2002; Berman, DasGupta, Muthukrishnan
2003; Tóth
2004; Dumitrescu, Mitchell, Sharir
2005; Hershberger, Suri, Tóth
2011; Tóth
Problem Definition
The binary space partition (for short, BSP) is a scheme for subdividing the ambient space \(\mathbb{R}^{d}\) into open convex sets (called cells) by hyperplanes in a recursive fashion. Each subdivision step for a cell results in two cells, in which the process may continue, independently of other cells, until a stopping criterion is met. The binary recursion tree, also called BSP-tree, is traditionally used as a data structure in computer graphics for efficient rendering of polyhedral scenes. Each node v of the BSP-tree, except for the leaves, corresponds to a cell \(C_{v} \subseteq \mathbb{R}^{d}\) and a partitioning hyperplane H v . The cell of the root r is \(C_{r} =\mathbb{R} ^{d}\), and the two children of a node v correspond to \(C_{v} \cap H_{v}^{-}\) and \(C_{v} \cap H_{v}^{+}\), where H v − and H v + denote the open half-spaces bounded by H v . Refer to Fig. 1.
A binary space partition for a set of n pairwise disjoint (typically polyhedral) objects in \(\mathbb{R}^{d}\) is a BSP where the space is recursively partitioned until each cell intersects at most one object. When the BSP-tree is used as a data structure, every leaf v stores the fragment of at most one object clipped in the cell C v , and every interior node v stores the fragments of any lower-dimensional objects that lie in \(C_{v} \cap H_{v}\).
A BSP for a set of objects has two parameters of interest: the size and the height of the corresponding BSP-tree. Ideally, a BSP partitions space so that each object lies entirely in a single cell or in a cutting hyperplane, yielding a so-called perfect BSP [4]. However, in most cases this is impossible, and the hyperplanes H v partition some of the input objects into fragments. Assuming that the input objects are k-dimensional, for some k ≤ d, the BSP typically stores only k-dimensional fragments, i.e., object parts clipped in leaf cells C v or in C v ∩ H v at interior nodes.
The size of the BSP-tree is typically proportional to the number of k-dimensional fragments that the input objects are partitioned into, or the number of nodes in the tree. Given a set S of objects in \(\mathbb{R}^{d}\), one would like to find a BSP for S with small size and/or height. The partition complexity of a set of objects S is defined as the minimum size of a BSP for S.
Glossary
-
Autopartition: a class of BSPs obtained by imposing the constraint that each cut is along a hyperplane containing a facet of one of the input objects.
-
Axis-aligned BSP: a class of BSPs obtained by imposing the constraint that each cut is orthogonal to a coordinate axis.
-
Round-robin BSP: An axis-aligned BSP in \(\mathbb{R}^{d}\) where any d consecutive recursive cuts are along hyperplanes orthogonal to the d coordinate axes.
-
Tiling in \(\mathbb{R}^{d}\): a set of interior-disjoint polyhedra that partition \(\mathbb{R}^{d}\).
-
Axis-aligned tiling: a set of full-dimensional boxes that partition \(\mathbb{R}^{d}\).
-
d-dimensional box: the cross product of d real-valued intervals.
Key Results
The theoretical study of BSPs was initiated by Paterson and Yao [10, 11].
Line Segments in the Plane
A classical result of Paterson and Yao [10] is a simple and elegant randomized algorithm, which, given n disjoint segments, produces a BSP whose expected size is O(nlogn); see also [3, Ch. 12]. It was widely believed for decades that every set of n disjoint line segments in the plane admits a BSP of size O(n); see e.g., [10, p. 502]; this was until Tóth proved a tight super-linear bound for this problem, first by constructing a set of segments for which any BSP must have size \(\varOmega (n\log n/\log \log n)\) and later by matching this bound algorithmically:
Theorem 1 ([12, 15]).
Every set of n disjoint line segments in the plane admits a BSP of size \(O(n\log n/\log \log n)\) . This bound is the best possible, and a BSP of this size can be computed in \(O(n\log ^{2}n)\) time.
Simplices in \(\mathbb{R}^{d}\)
The randomized partition technique of Paterson and Yao generalizes to higher dimensions yielding the following.
Theorem 2 ([10]).
Every set of n (d − 1)-dimensional simplices in \(\mathbb{R}^{d}\) , where d ≥ 3 admits a BSP of size O(n d−1 ).
While there exist n disjoint triangles in \(\mathbb{R}^{3}\) that require a BSP of size Ω(n 2), no super-quadratic lower bound is known in any dimension d. Near-linear upper bounds are known for “realistic” input models in \(\mathbb{R}^{3}\) such as uncluttered scenes [5] or fat axis-aligned rectangles [14].
Axis-Parallel Segments, Rectangles, and Hyperrectangles
Theorem 3 ([1, 7, 10]).
Every set of n pairwise disjoint axis-parallel line segments in the plane admits an auto-partition of size at most 2n − 1. Such a BSP can be computed using O(nlog n) time and space and has the additional property that no input segment is cut more than once. The upper bound on the size is the best possible apart from lower-order terms.
Theorem 4 ([7, 11]).
Let Γ be a collection of n line segments in \(\mathbb{R}^{d}\) , where d ≥ 3, consisting of n i segments parallel to the x i -axis, for i = 1,…,d. Then Γ admits a BSP of size at most
Theorem 5 ([7]).
For constants 1 ≤ k ≤ d − 1, every set of n axis-parallel k-rectangles in d-space admits an axis-aligned BSP of size \(O(n^{d/(d-k)})\) . This bound is the best possible for k < d∕2 apart from the constant factor.
For k ≥ d∕2, the best known upper and lower bounds do not match. No super-quadratic lower bound is known in any dimension d. In \(\mathbb{R}^{4}\), Dumitrescu et al. [7] constructed n 2-dimensional disjoint rectangles whose partition complexity is Ω(n 5∕3).
Tilings
Already in the plane, the worst-case partition complexity of axis-aligned tilings is smaller than that for disjoint boxes. Berman, DasGupta, and Muthukrishnan [6] showed that every axis-aligned tiling of size n admits an axis-aligned BSP of size at most 2n; apart from lower-order terms, this bound is the best possible. For higher dimensions, Hershberger, Suri, and Tóth obtained the following result.
Theorem 6 ([9]).
Every axis-aligned tiling of size n in \(\mathbb{R}^{d}\) , where d ≥ 2, admits a round-robin BSP of size \(O(n^{(d+1)/3})\) . On the other hand, there exist tilings of size n in \(\mathbb{R}^{d}\) for which every BSP has size Ω(n β(d) ), where \(\beta (3) = 4/3\) , and \(\lim _{d\rightarrow \infty }\beta (d) = (1 + \sqrt{5})/2 \approx 1.618\) .
In dimensions d = 3, the partition complexity of axis-aligned tilings of size n is O(n 4∕3), which is tight by a construction of Hershberger and Suri [8].
Applications
The initial and most prominent applications are in computer graphics: BSPs support fast hidden-surface removal and ray tracing for moving viewpoints [10]. Rendering is used for visualizing spatial opaque surfaces on the screen. A common and efficient rendering technique is the so-called painter’s algorithm. Every object is drawn sequentially according to the back-to-front order, starting with the deepest object and continuing with the objects closer to the viewpoint. When all the objects have been drawn, every pixel represents the color of the object closest to the viewpoint. Further computer graphics applications include constructive solid geometry and shadow generation. Other applications of BSP trees include range counting, point location, collision detection, robotics, graph drawing, and network design; see, for instance, [13] and the references therein.
In the original setting, the input objects of the BSP were assumed to be static. Recent research on BSPs for moving objects can be seen in the context of kinetic data structures (KDS) of Basch, Guibas, and Hershberger [2]. In this model, objects move continuously along a given trajectory (flight plan), typically along a line or a low-degree algebraic curve. The splitting hyperplanes are defined by faces of the input objects, and so they move continuously, too. The BSP is updated only at discrete events, though, when the combinatorial structure of the BSP changes.
Open Problems
-
What is the maximum partition complexity of n disjoint (d − 1)-dimensional simplices in \(\mathbb{R}^{d}\) for d ≥ 3?
-
What is the maximum partition complexity of n disjoint (axis-aligned) boxes in \(\mathbb{R}^{d}\) for d ≥ 3?
-
What is the maximum (axis-aligned) partition complexity of a tiling of n axis-aligned boxes in \(\mathbb{R}^{d}\) for d ≥ 4?
-
Are there families of n disjoint objects in \(\mathbb{R}^{d}\) whose partition complexity is super-quadratic in n?
-
How many combinatorial changes can occur in the kinetic BSP of n points moving with constant velocities in the plane?
In all five open problems, the dimension \(d \in \mathbb{N}\) of the ambient space \(\mathbb{R}^{d}\) is constant, and asymptotically tight bounds in terms of n are sought.
Recommended Reading
d’Amore F, Franciosa PG (1992) On the optimal binary plane partition for sets of isothetic rectangles. Inf Process Lett 44:255–259
Basch J, Guibas LJ, Hershberger J (1999) Data structures for mobile data. J Algorithms 31(1):1–28
de Berg M, Cheong O, van Kreveld M, Overmars M (2008) Computational geometry, 3rd edn. Springer, Berlin
de Berg M, de Groot M, Overmars MH (1997) Perfect binary space partitions. Comput Geom Theory Appl 7:81–91
de Berg M, Katz MJ, van der Stappen AF, Vleugels J (2002) Realistic input models for geometric algorithms. Algorithmica 34:81–97
Berman P, DasGupta B, Muthukrishnan S (2002) On the exact size of the binary space partitioning of sets of isothetic rectangles with applications. SIAM J Discret Math 15(2):252–267
Dumitrescu A, Mitchell JSB, Sharir M (2004) Binary space partitions for axis-parallel segments, rectangles, and hyperrectangles. Discret Comput Geom 31(2):207–227
Hershberger J, Suri S (2003) Binary space partitions for 3D subdivisions. In: Proceedings of the 14th ACM-SIAM symposium on discrete algorithms, Baltimore. ACM, pp 100–108
Hershberger J, Suri S, Tóth CsD (2005) Binary space partitions of orthogonal subdivisions. SIAM J Comput 34(6):1380–1397
Paterson MS, Yao FF (1990) Efficient binary space partitions for hidden-surface removal and solid modeling. Discret Comput Geom 5:485–503
Paterson MS, Yao FF (1992) Optimal binary space partitions for orthogonal objects. J Algorithms 13:99–113
Tóth CsD (2003) A note on binary plane partitions. Discret Comput Geom 30:3–16
Tóth CsD (2005) Binary space partitions: recent developments. In: Goodman JE, Pach J, Welzl E (eds) Combinatorial and Computational Geometry. Volume 52 of MSRI Publications, Cambridge University Press, Cambridge, pp 529–556
Tóth CsD (2008) Binary space partition for axis-aligned fat rectangles. SIAM J Comput 38(1):429–447
Tóth CsD (2011) Binary plane partitions for disjoint line segments. Discret Comput Geom 45(4):617–646
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer Science+Business Media New York
About this entry
Cite this entry
Dumitrescu, A., Tóth, C.D. (2015). Binary Space Partitions. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27848-8_511-1
Download citation
DOI: https://doi.org/10.1007/978-3-642-27848-8_511-1
Received:
Accepted:
Published:
Publisher Name: Springer, Berlin, Heidelberg
Online ISBN: 978-3-642-27848-8
eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering