The Bentley Ottmann sweep line algorithm is a standard tool to compute the arrangement of algebraic curves in the plane. If degenerate positions are not excluded from the input, variants of this algorithm must, among other things, handle k ≥ 2 curves intersecting simultaneously in a single intersection point. In that situation, the algorithm knows the order of the curves immediately left of the intersection point and needs to compute the order immediately right of the intersection point. Segments and lines can be reordered efficiently in linear time by simply reversing their order, except for overlapping segments. Algebraic curves can be sorted with O(k logk) geometric comparisons in their order immediately right of the intersection point. A previous result shows that algebraic curves whose degree is at most d can be reordered in O(d2k) time, which is for constant d better than sorting. In this paper, we improve the complexity of the reordering of algebraic curves to O(k) time, i.e., independent of the degree of the algebraic curves. The maybe surprising implication is that algebraic curves, even of unbounded algebraic degree, cannot realize all possible permutations of their vertical order while passing through a common intersection from left to right. We give a short example for an infeasible permutation. Both linear time algorithms require the knowledge of the intersection multiplicities of curves that are neighbors immediately left of the intersection point, i.e., k−1 intersection multiplicities.
[1]
Thomas Ottmann,et al.
Algorithms for Reporting and Counting Geometric Intersections
,
1979,
IEEE Transactions on Computers.
[2]
Jean-Daniel Boissonnat,et al.
Effective computational geometry for curves and surfaces
,
2006
.
[3]
Kurt Mehlhorn,et al.
On degeneracy in geometric computations
,
1994,
SODA '94.
[4]
Mark de Berg,et al.
Computational geometry: algorithms and applications
,
1997
.
[5]
C. Hoffmann.
Algebraic curves
,
1988
.
[6]
Andreas Podelski,et al.
Summaries for While Programs with Recursion
,
2005,
ESOP.
[7]
Kurt Mehlhorn,et al.
A Computational Basis for Conic Arcs and Boolean Operations on Conic Polygons
,
2002,
ESA.
[8]
G. Fischer,et al.
Plane Algebraic Curves
,
1921,
Nature.
[9]
Joseph O'Rourke,et al.
Computational Geometry in C.
,
1995
.
[10]
Dan Halperin,et al.
Advanced programming techniques applied to Cgal's arrangement package
,
2007,
Comput. Geom..
[11]
Elmar Schömer,et al.
Exact, efficient, and complete arrangement computation for cubic curves
,
2006,
Comput. Geom..
[12]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[13]
Kurt Mehlhorn,et al.
LEDA: a platform for combinatorial and geometric computing
,
1997,
CACM.