Set operations on polyhedra using binary space partitioning trees
- 1 August 1987
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGGRAPH Computer Graphics
- Vol. 21 (4) , 153-162
- https://doi.org/10.1145/37402.37421
Abstract
We introduce a new representation for polyhedra by showing how Binary Space Partitioning Trees (BSP trees) can be used to represent regular sets. We then show how they may be used in evaluating set operations on polyhedra. The BSP tree is a binary tree representing a recursive partitioning of d-space by (sub-)hyperplanes, for any dimension d. Their previous application to computer graphics has been to organize an arbitrary set of polygons so that a fast solution to the visible surface problem could be obtained. We retain this property (in 3D) and show how BSP trees can also provide an exact representation of arbitrary polyhedra of any dimension. Conversion from a boundary representation (B-reps) of polyhedra to a BSP tree representation is described. This technique leads to a new method for evaluating arbitrary set theoretic (boolean) expressions on B-reps, represented as a CSG tree, producing a BSP tree as the result. Results from our language-driven implmentation of this CSG evaluator are discussed. Finally, we show how to modify a BSP tree to represent the result of a set operation between the BSP tree and a B-rep. We describe the embodiment of this approach in an interactive 3D object design program that allows incremental modification of an object with a tool. Placement of the tool, selection of views, and performance of the set operation are all performed at interactive speeds for modestly complex objects.Keywords
This publication has 15 references indexed in Scilit:
- Constructive solid geometry for polyhedral objectsACM SIGGRAPH Computer Graphics, 1986
- Object representation by means of nonminimal division quadtrees and octreesACM Transactions on Graphics, 1985
- A null-object detection algorithm for constructive solid geometryCommunications of the ACM, 1984
- Near real-time shaded display of rigid objectsACM SIGGRAPH Computer Graphics, 1983
- Localized set operations for solid modelingACM SIGGRAPH Computer Graphics, 1983
- Determining the spatial containment of a point in general polyhedraComputer Graphics and Image Processing, 1982
- Reducing the effect of complexity on volume model evaluationComputer-Aided Design, 1982
- Representations for Rigid Solids: Theory, Methods, and SystemsACM Computing Surveys, 1980
- On visible surface generation by a priori tree structuresACM SIGGRAPH Computer Graphics, 1980
- Data Structures for Range SearchingACM Computing Surveys, 1979