Abstract
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 language | English (US) |
---|---|
Pages (from-to) | 219-237 |
Number of pages | 19 |
Journal | International Journal of Computational Geometry and Applications |
Volume | 29 |
Issue number | 3 |
DOIs | |
State | Published - Sep 1 2019 |
Keywords
- 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