Efficient Algorithms to Test Digital Convexity
Loïc Crombez  1  , Guiherme D. Da Fonseca  1  , Yan Gérard  1  
1 : Laboratoire d'Informatique, de Modélisation et d'Optimisation des Systèmes
SIGMA Clermont, Université Clermont Auvergne, Centre National de la Recherche Scientifique : UMR6158

A set S ⊂ Z^d is digital convex if conv(S) ∩ Z^d = S, where conv(S) denotes the convex hull of S. In this paper, we consider the algorithmic problem of testing whether a given set S of n lattice points is digital convex. Although convex hull computation requires Ω(n log n) time even for dimension d = 2, we provide an algorithm for testing the digital convexity of S ⊂ Z^2 in O(n + h log r) time, where h is the number of edges of the convex hull and r is the diameter of S. This main result is obtained by proving that if S is digital convex, then the well-known quickhull algorithm computes the convex hull of S in linear time. In fixed dimension d, we present the first polynomial algorithm to test digital convexity, as well as a simpler and more practical algorithm whose running time may not be polynomial in n for certain inputs.


Online user: 1