An approximate arrangement algorithm for semi-algebraic curves

Victor Milenkovic, Elisha Sacks

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)

Abstract

We present an arrangement algorithm for plane curves. The inputs are (1) continuous, compact, x-monotone curves and (2) a module that computes approximate crossing points of these curves. There are no general position requirements. We assume that the crossing module output is e accurate, but allow it to be inconsistent, meaning that three curves are in cyclic y order over an x interval. The curves are swept with a vertical line using the crossing module to compute and process sweep events. When the sweep detects an inconsistency, the algorithm breaks the cycle to obtain a linear order. We prove correctness in a realistic computational model of the crossing module. The number of vertices in the output is V = 2n + N + min(3kn, n2/2) and the running time is O(Vlogn) for n curves with N crossings and k inconsistencies. The output arrangement is realizable by curves that are 0(ε + knε) close to the input curves, except in kn neighborhoods of the curve tails. The accuracy can be guaranteed everywhere by adding tiny horizontal extensions to the segment tails, but without the running time bound. An implementation is described for semi-algebraic curves based on a numerical equation solver. Experiments show that the extensions only slightly increase the running time and have little effect on the error. On challenging data sets, the number of inconsistencies is at most 3N, the output accuracy is close to ε, and the running time is close to that of the standard, non-robust floating point sweep.

Original languageEnglish (US)
Title of host publicationProceedings of the Annual Symposium on Computational Geometry
Pages237-245
Number of pages9
Volume2006
StatePublished - 2006
Event22nd Annual Symposium on Computational Geometry 2006, SCG'06 - Sedona, AZ, United States
Duration: Jun 5 2006Jun 7 2006

Other

Other22nd Annual Symposium on Computational Geometry 2006, SCG'06
CountryUnited States
CitySedona, AZ
Period6/5/066/7/06

Fingerprint

Algebraic curve
Arrangement
Curve
Sweep
Inconsistency
Module
Output
Tail
Experiments
Plane Curve
Floating point
Linear Order
Inconsistent
Computational Model
Correctness
Monotone
Horizontal
Vertical
Cycle
Interval

Keywords

  • Arrangements
  • Robust computational geometry

ASJC Scopus subject areas

  • Software
  • Geometry and Topology
  • Safety, Risk, Reliability and Quality
  • Chemical Health and Safety

Cite this

Milenkovic, V., & Sacks, E. (2006). An approximate arrangement algorithm for semi-algebraic curves. In Proceedings of the Annual Symposium on Computational Geometry (Vol. 2006, pp. 237-245)

An approximate arrangement algorithm for semi-algebraic curves. / Milenkovic, Victor; Sacks, Elisha.

Proceedings of the Annual Symposium on Computational Geometry. Vol. 2006 2006. p. 237-245.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Milenkovic, V & Sacks, E 2006, An approximate arrangement algorithm for semi-algebraic curves. in Proceedings of the Annual Symposium on Computational Geometry. vol. 2006, pp. 237-245, 22nd Annual Symposium on Computational Geometry 2006, SCG'06, Sedona, AZ, United States, 6/5/06.
Milenkovic V, Sacks E. An approximate arrangement algorithm for semi-algebraic curves. In Proceedings of the Annual Symposium on Computational Geometry. Vol. 2006. 2006. p. 237-245
Milenkovic, Victor ; Sacks, Elisha. / An approximate arrangement algorithm for semi-algebraic curves. Proceedings of the Annual Symposium on Computational Geometry. Vol. 2006 2006. pp. 237-245
@inproceedings{4212bae0c4fd421c98b681f96f7b2bc1,
title = "An approximate arrangement algorithm for semi-algebraic curves",
abstract = "We present an arrangement algorithm for plane curves. The inputs are (1) continuous, compact, x-monotone curves and (2) a module that computes approximate crossing points of these curves. There are no general position requirements. We assume that the crossing module output is e accurate, but allow it to be inconsistent, meaning that three curves are in cyclic y order over an x interval. The curves are swept with a vertical line using the crossing module to compute and process sweep events. When the sweep detects an inconsistency, the algorithm breaks the cycle to obtain a linear order. We prove correctness in a realistic computational model of the crossing module. The number of vertices in the output is V = 2n + N + min(3kn, n2/2) and the running time is O(Vlogn) for n curves with N crossings and k inconsistencies. The output arrangement is realizable by curves that are 0(ε + knε) close to the input curves, except in kn neighborhoods of the curve tails. The accuracy can be guaranteed everywhere by adding tiny horizontal extensions to the segment tails, but without the running time bound. An implementation is described for semi-algebraic curves based on a numerical equation solver. Experiments show that the extensions only slightly increase the running time and have little effect on the error. On challenging data sets, the number of inconsistencies is at most 3N, the output accuracy is close to ε, and the running time is close to that of the standard, non-robust floating point sweep.",
keywords = "Arrangements, Robust computational geometry",
author = "Victor Milenkovic and Elisha Sacks",
year = "2006",
language = "English (US)",
isbn = "1595933409",
volume = "2006",
pages = "237--245",
booktitle = "Proceedings of the Annual Symposium on Computational Geometry",

}

TY - GEN

T1 - An approximate arrangement algorithm for semi-algebraic curves

AU - Milenkovic, Victor

AU - Sacks, Elisha

PY - 2006

Y1 - 2006

N2 - We present an arrangement algorithm for plane curves. The inputs are (1) continuous, compact, x-monotone curves and (2) a module that computes approximate crossing points of these curves. There are no general position requirements. We assume that the crossing module output is e accurate, but allow it to be inconsistent, meaning that three curves are in cyclic y order over an x interval. The curves are swept with a vertical line using the crossing module to compute and process sweep events. When the sweep detects an inconsistency, the algorithm breaks the cycle to obtain a linear order. We prove correctness in a realistic computational model of the crossing module. The number of vertices in the output is V = 2n + N + min(3kn, n2/2) and the running time is O(Vlogn) for n curves with N crossings and k inconsistencies. The output arrangement is realizable by curves that are 0(ε + knε) close to the input curves, except in kn neighborhoods of the curve tails. The accuracy can be guaranteed everywhere by adding tiny horizontal extensions to the segment tails, but without the running time bound. An implementation is described for semi-algebraic curves based on a numerical equation solver. Experiments show that the extensions only slightly increase the running time and have little effect on the error. On challenging data sets, the number of inconsistencies is at most 3N, the output accuracy is close to ε, and the running time is close to that of the standard, non-robust floating point sweep.

AB - We present an arrangement algorithm for plane curves. The inputs are (1) continuous, compact, x-monotone curves and (2) a module that computes approximate crossing points of these curves. There are no general position requirements. We assume that the crossing module output is e accurate, but allow it to be inconsistent, meaning that three curves are in cyclic y order over an x interval. The curves are swept with a vertical line using the crossing module to compute and process sweep events. When the sweep detects an inconsistency, the algorithm breaks the cycle to obtain a linear order. We prove correctness in a realistic computational model of the crossing module. The number of vertices in the output is V = 2n + N + min(3kn, n2/2) and the running time is O(Vlogn) for n curves with N crossings and k inconsistencies. The output arrangement is realizable by curves that are 0(ε + knε) close to the input curves, except in kn neighborhoods of the curve tails. The accuracy can be guaranteed everywhere by adding tiny horizontal extensions to the segment tails, but without the running time bound. An implementation is described for semi-algebraic curves based on a numerical equation solver. Experiments show that the extensions only slightly increase the running time and have little effect on the error. On challenging data sets, the number of inconsistencies is at most 3N, the output accuracy is close to ε, and the running time is close to that of the standard, non-robust floating point sweep.

KW - Arrangements

KW - Robust computational geometry

UR - http://www.scopus.com/inward/record.url?scp=33748080785&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=33748080785&partnerID=8YFLogxK

M3 - Conference contribution

SN - 1595933409

SN - 9781595933409

VL - 2006

SP - 237

EP - 245

BT - Proceedings of the Annual Symposium on Computational Geometry

ER -