SymmetricHull: A Convex Hull Algorithm Based on 2D Geometry and Symmetry
Autor: | Alberto Beltran, Sonia Mendoza |
---|---|
Rok vydání: | 2018 |
Předmět: |
Convex hull
0209 industrial biotechnology General Computer Science Convex hull algorithms Series (mathematics) Computer science Heuristic Sorted array 02 engineering and technology Lexicographical order Set (abstract data type) 020901 industrial engineering & automation 0202 electrical engineering electronic engineering information engineering 020201 artificial intelligence & image processing Point (geometry) Electrical and Electronic Engineering Algorithm |
Zdroj: | IEEE Latin America Transactions. 16:2289-2295 |
ISSN: | 1548-0992 |
DOI: | 10.1109/tla.2018.8528248 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |