{{Short description|Set of polygons in mathematics}} In mathematics '''Nef polygons''' and '''Nef polyhedra''' are the sets of polygons and 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),<ref>{{cite web |title=In memoriam Prof. Walter Nef (21/01/1919 - 12/04/2013) |url=https://math.ch/archive/documents/WalterNef.pdf |website=math.ch |access-date=1 September 2023 |language=de}}</ref> who introduced them in his 1978 book on polyhedra.<ref>{{cite book | last = Nef | first = W.| year = 1978 | title = Beiträge zur Theorie der Polyeder | publisher = Herbert Lang | location = Bern }}</ref><ref>{{Cite book |last=Bieri |first=Hanspeter |title=Geometric Modelling |year=1995 |isbn=978-3-211-82666-9 |series=Computing Supplement |volume=10 |pages=43–60 |chapter=Nef Polyhedra: A Brief Introduction |doi=10.1007/978-3-7091-7584-2_3}}</ref>

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.<ref>{{cite web | url = http://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html#part_VI | title = 2D Boolean Operations on Nef Polygons | work = the CGAL package overview | access-date = 2010-06-13 | archive-date = 2013-10-03 | archive-url = https://web.archive.org/web/20131003103849/http://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html#part_VI | url-status = dead }}</ref>

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.<ref>{{cite CiteSeerX |citeseerx = 10.1.1.89.6020 |title = AutoCAD Nef Polyhedron Implementation |first = Jeremy |last = Tammik |year = 2007}}</ref>

Convex polytopes are a special subclass of Nef polyhedra, being the set of polyhedra which are the intersections of a finite set of half-planes.<ref>{{cite conference | title = Boolean Operations on 3D Selective Nef Complexes: Optimized Implementation and Experiments | first1 = Peter | last1 = Hachenberger | first2 = Lutz | last2 = Kettner | book-title = Proc. of 2005 ACM Symposium on Solid and Physical Modeling | conference = SPM | location = Boston, MA. |date=June 2005 | doi = 10.1145/1060244.1060263 | url = http://www.win.tue.nl/EWCG2005/Proceedings/36.pdf}}</ref>

==Terminology==

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'.<ref name=planck1/>

==Implementations==

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.<ref name=planck1/>

== External links ==

* [https://www.cgal.org/Pkg/Nef2 2D Boolean Operations on Nef Polygons] in CGAL, the Computational Geometry Algorithms Library

==References== <references>

<ref name=planck1> {{cite CiteSeerX | citeseerx = 10.1.1.73.157 | title = Boolean Operations on 3D Selective Nef Complexes: Data Structure, Algorithms, Optimized Implementation and Experiments | first1 = Peter | last1 = Hachenberger | first2 = Lutz | last2 = Kettner | first3 = Kurt | last3 = Mehlhorn | year = 2006}} </ref>

</references>

Category:Types of polygons Category:Polyhedra