Efficient Algorithms to Test Digital Convexity

01/15/2019
by   Loïc Crombez, et al.
0

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 n) time even for dimension d = 2, we provide an algorithm for testing the digital convexity of S⊂Z^2 in O(n + h 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/13/2018

Peeling Digital Potatoes

The potato-peeling problem (also known as convex skull) is a fundamental...
research
04/15/2020

Efficient Algorithms for Battleship

We consider an algorithmic problem inspired by the Battleship game. In t...
research
08/20/2018

Asymmetric Convex Intersection Testing

We consider asymmetric convex intersection testing (ACIT). Let P ⊂R^d ...
research
03/08/2021

Digital Convex + Unimodular Mapping =8-Connected (All Points but One 4-Connected)

In two dimensional digital geometry, two lattice points are 4-connected ...
research
11/15/2022

About the Reconstruction of Convex Lattice Sets from One or Two X-rays

We consider a class of problems of Discrete Tomography which has been de...
research
02/15/2023

Two-sided convexity testing with certificates

We revisit the problem of property testing for convex position for point...
research
10/18/2018

On estimation of biconvex sets

A set in the Euclidean plane is said to be θ-biconvex, for some θ∈[0,π/2...

Please sign up or login with your details

Forgot password? Click here to reset