Abstract

Thanks to the advances in hardware (sensors and cameras) the number of points that convex hull algorithms must process is now much greater than when these algorithms were developed. This limitation entails focusing current research in convex hull algorithms on finding approaches capable of processing large sets of points. From the many works proposed in this area, the heuristic by Akl-Toussaint deserves a special mention, with outstanding results in execution times. In this article, we take the basic principles of this heuristic to create a convex hull algorithm, called SymmetricHull, that takes advantage of geometric and symmetric properties of the formed quadrants in 2D spaces. The proposed algorithm achieves better exe-cution times than that heuristic, reducing the basic operations to a series of comparisons between consecutive points in an array lexicographically sorted by its y coordinate. SymmetricHull organizes the set of points by quadrants and, instead of using the orientation function as the main operation, it appends the slope s between the analyzed point and its predecessor as a property of the point structure (without causing numerical errors). Point operations can be summarized as follows: 1) a rapid discard of a point, based on its coordinates and the ones of its neighbors; 2) a simple comparison between the property s of the current point and the one of its predecessor in the sorted array, in order to determine whether the current point is a strong candidate to be a part of the convex hull; 3) the addition of a point to a stack of candidates for the convex hull; and 4) the simple elimination of a point from the stack of candidates by comparing the property s of the current point with its predecessors in the stack. Our experiments show that SymmetricHull optimizations achieve good results, in terms of time and number of operations required (multiplications, sums, pushs and pops), being espe-cially efficient with point sets greater than 10^4.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call