Efficient binary space partitions for hidden-surface removal and solid modeling

Michael S. Paterson, F. Frances Yao
1990 Discrete & Computational Geometry  
We consider schemes for recursively dividing a set of geometric objects by hyperplanes until all objects are separated. Such a binary space partition, or BSP, is naturally considered as a binary tree where each internal node corresponds to a division. The goal is to choose the hyperplanes properly so that the size of the BSP, i.e., the number of resulting fragments of the objects, is minimized. For the twodimensional case, we construct BSPs of size O(n log n) for n edges, while in three
more » ... ns, we obtain BSPs of size O(n 2) for n planar facets and prove a matching lower bound of f~(n2). Two applications of efficient BSPs are given. The first is an O(n2)-sized data structure for implementing a hidden-surface removal scheme of Fuchs et al. [6] . The second application is in solid modeling: given a polyhedron described by its n faces, we show how to generate an O(n2)-sized CSG (constructivesolid-#eometry) formula whose literals correspond to half-spaces supporting the faces of the polyhedron. The best previous results for both of these problems were O(n3).
doi:10.1007/bf02187806 fatcat:lv6gjvjmxnaxvf7xayvicgcrri