An elementary digital plane recognition algorithm
Résumé
A naive digital plane is a subset of points $(x,y,z) \in \mathbb{Z} ^3$ verifying $h\leq ax+by+cz < h+\rm{ max }\{ | a|,|b|,|c| \}$ where $(a,b,c,h)\in \mathbb{Z} ^4 $. Given a finite unstructured subset of $\mathbb{Z} ^3$, the problem of the digital plane recognition is to determine whether there exists a naive digital plane containing it. This question is rather classical in the field of digital geometry (also called discrete geometry). We suggest in this paper a new algorithm to solve it. Its asymptotic complexity is bounded by $O( n^7)$ but its behavior seems to be linear in practice. It uses an original strategy of optimization in a set of triangular facets (triangles). The code is short and elementary (less than 300 lines) and available on \url{http://www.loria.fr/~debled/plane}.