Nef polygons and Nef polyhedra are the sets of polygons (resp. polyhedra) which can be obtained from a finite set of halfplanes (halfspaces) by Boolean operations of set intersection and set complement. The objects are named after the Swiss mathematician Walter Nef (1919–2013), who introduced them in his 1978 book on polyhedra.
Since other Boolean operations, such as union or difference, may be expressed via intersection and complement operations, the sets of Nef polygons (polyhedra) are closed with respect to these operations as well.
In addition, the class of Nef polyhedra is closed with respect to the topological operations of taking closure, interior, exterior, and boundary. Boolean operations, such as difference or intersection, may produce non-regular sets. However the class of Nef polyhedra is also closed with respect to the operation of regularization.
In the language of Nef polyhedra you can refer to various objects as 'faces' with different dimensions. What would normally be called a 'corner' or 'vertex' of a shape is called a 'face' with dimension of 0. An 'edge' or 'segment' is a face with dimension 1. A flat shape in 3D space, like a triangle, is called a face with dimension 2 - or a 'facet'. A shape in 3D space, like a cube, is called a face with dimension 3 - or a 'volume'.
The Computational Geometry Algorithms Library, or CGAL, represents Nef Polyhedra by using two main data structures. The first is a 'Sphere map' and the second is a 'Selective Nef Complex' (or SNC). The 'sphere map' stores information about the polyhedron by creating an imaginary sphere around each vertex, and painting it with various points and lines representing how the polyhedron divides space. The SNC basically stores and organizes the sphere maps. Each face contains a 'label' or 'mark' telling whether it is part of the object or not.
- Nef, W. (1978). Beiträge zur Theorie der Polyeder. Bern: Herbert Lang.
- Bieri, H. (1995). "Nef polyhedra: A brief introduction". Computational Suppl. 10: 43–60.
- "2D Boolean Operations on Nef Polygons". the CGAL package overview.
- Tammik, Jeremy (2007). "AutoCAD Nef Polyhedron Implementation". CiteSeerX .
- Hachenberger, Peter; Kettner, Lutz (June 2005). "Boolean Operations on 3D Selective Nef Complexes: Optimized Implementation and Experiments". Proc. of 2005 ACM Symposium on Solid and Physical Modeling. SPM. Boston, MA.
- Hachenberger, Peter; Kettner, Lutz; Mehlhorn, Kurt. "Boolean Operations on 3D Selective Nef Complexes: Data Structure, Algorithms, Optimized Implementation and Experiments". Saarbrücken, Germany: Max Planck Institut Informatik. CiteSeerX .