Fast Detection of Degenerate Predicates in Free Space Construction

Victor Milenkovic, Elisha Sacks, Nabeel Butt

Research output: Contribution to journalArticlepeer-review


An implementation of a computational geometry algorithm is robust if the combinatorial output is correct for every input. Robustness is achieved by ensuring that the predicates in the algorithm are evaluated correctly. A predicate is the sign of an algebraic expression whose variables are input parameters. The hardest case is detecting degenerate predicates where the value of the expression equals zero. We encounter this case in constructing the free space of a polyhedron that rotates around a fixed axis and translates freely relative to a stationary polyhedron. Each predicate involved in the construction is expressible as the sign of a univariate polynomial f evaluated at a zero t of a univariate polynomial g, where the coefficients of f and g are polynomials in the coordinates of the polyhedron vertices. A predicate is degenerate when t is a zero of a common factor of f and g. We present an efficient degeneracy detection algorithm based on a one-time factoring of all the univariate polynomials over the ring of multivariate polynomials in the vertex coordinates. Our algorithm is 3500 times faster than the standard algorithm based on greatest common divisor computation. It reduces the share of degeneracy detection in our free space computations from 90% to 0.5% of the running time.

Original languageEnglish (US)
Pages (from-to)219-237
Number of pages19
JournalInternational Journal of Computational Geometry and Applications
Issue number3
StatePublished - Sep 1 2019


  • Robust computational geometry
  • configuration spaces
  • multivariate polynomial factoring

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Geometry and Topology
  • Computational Theory and Mathematics
  • Computational Mathematics
  • Applied Mathematics


Dive into the research topics of 'Fast Detection of Degenerate Predicates in Free Space Construction'. Together they form a unique fingerprint.

Cite this