A Practical Algorithm for Enumerating Collinear Points

This paper studies the problem of enumerating all maximal collinear subsets of size at least three in a given set of $n$ points. An algorithm for this problem, besides solving degeneracy testing and the exact fitting problem, can also help with other problems, such as point line cover and general position subset selection. The classic \emph{topological sweeping} algorithm of Edelsbrunner and Guibas can find these subsets in $O(n^2)$ time in the dual plane. We present an alternative algorithm that, although asymptotically slower than their algorithm in the worst case, is simpler to implement and more amenable to parallelization. If the input points are decomposed into $m$ convex polygons, our algorithm has time complexity $O(n^2 \log m)$ and space complexity $O(n)$. Our algorithm can be parallelized on the CREW PRAM with time complexity $O(n \log m)$ using $n$ processors.

[1]  Ivan J. Balaban,et al.  An optimal algorithm for finding segments intersections , 1995, SCG '95.

[2]  Kevin Anderson,et al.  Multi-core parallelism for plane sweep algorithms as a foundation for GIS operations , 2016, GeoInformatica.

[3]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[4]  Mark H. Overmars,et al.  On a Class of O(n2) Problems in Computational Geometry , 1995, Comput. Geom..

[5]  Vikram Jandhyala,et al.  A Variant of Parallel Plane Sweep Algorithm for Multicore Systems , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  R. Seidel,et al.  Lower bounds for fundamental geometric problems , 1996 .

[7]  Michael T. Goodrich,et al.  Constructing arrangements optimally in parallel , 1993, Discret. Comput. Geom..

[8]  Selim G. Akl Optimal parallel algorithms for computing convex hulls and for sorting , 2005, Computing.

[9]  Stefan Kratsch,et al.  Point Line Cover: The Easy Kernel is Essentially Tight , 2014, SODA.

[10]  Mark H. Overmars,et al.  On a Class of O(n2) Problems in Computational Geometry , 1995, Comput. Geom..

[11]  Bernard Chazelle,et al.  On the convex layers of a planar set , 1985, IEEE Trans. Inf. Theory.

[12]  R. A. Rufai Convex Hull Problems , 2015 .

[13]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[14]  Rolf Niedermeier,et al.  Finding Points in General Position , 2015, CCCG.

[15]  Leonidas J. Guibas,et al.  Topologically sweeping an arrangement , 1986, STOC '86.

[16]  Leonidas J. Guibas,et al.  The Exact Fitting Problem in Higher Dimensions , 1996, Comput. Geom..

[17]  Pankaj K. Agarwal Partitioning arrangements of lines I: An efficient deterministic algorithm , 1990, Discret. Comput. Geom..

[18]  Michael T. Goodrich,et al.  Sweep methods for parallel computational geometry , 1996, Algorithmica.

[19]  Richard J. Anderson,et al.  Parallel algorithms for arrangements , 1996, Algorithmica.

[20]  Diane L. Souvaine,et al.  Topological Sweep in Degenerate Cases , 2002, ALENEX.

[21]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[22]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[23]  Torben Hagerup,et al.  Efficient parallel computation of arrangements of hyperplanes in d dimensions , 1990, SPAA '90.