Algorithmica

, Volume 10, Issue 1, pp 1–23

# An efficient algorithm for finding the CSG representation of a simple polygon

• David Dobkin
• Leonidas Guibas
• John Hershberger
• Jack Snoeyink
Article

DOI: 10.1007/BF01908629

Dobkin, D., Guibas, L., Hershberger, J. et al. Algorithmica (1993) 10: 1. doi:10.1007/BF01908629

## Abstract

Modeling two-dimensional and three-dimensional objects is an important theme in computer graphics. Two main types of models are used in both cases: boundary representations, which represent the surface of an object explicitly but represent its interior only implicitly, and constructive solid geometry representations, which model a complex object, surface and interior together, as a boolean combination of simpler objects. Because neither representation is good for all applications, conversion between the two is often necessary.

We consider the problem of converting boundary representations of polyhedral objects into constructive solid geometry (CSG) representations. The CSG representations for a polyhedronP are based on the half-spaces supporting the faces ofP. For certain kinds of polyhedra this problem is equivalent to the corresponding problem for simple polygons in the plane. We give a new proof that the interior of each simple polygon can be represented by a monotone boolean formula based on the half-planes supporting the sides of the polygon and using each such half-plane only once. Our main contribution is an efficient and practicalO(n logn) algorithm for doing this boundary-to-CSG conversion for a simple polygon ofn sides. We also prove that such nice formulae do not always exist for general polyhedra in three dimensions.

### Key words

Constructive solid geometryComputational geometryBoundary representationMonotone boolean formulaeIncremental convex hull

© Springer-Verlag New York Inc 1993

## Authors and Affiliations

• David Dobkin
• 1
• Leonidas Guibas
• 2
• 3
• John Hershberger
• 3
• Jack Snoeyink
• 4
1. 1.Department of Computer SciencePrinceton UniversityPrincetonUSA
2. 2.Stanford UniversityStanfordUSA
3. 3.DEC Systems Research CenterPalo AltoUSA
4. 4.Department of Computer ScienceUniversity of British ColumbiaVancouverCanada