Efficient Algorithms to Test Digital Convexity
Résumé
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.
Domaines
Géométrie algorithmique [cs.CG]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...