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 [Formula: see text] evaluated at a zero [Formula: see text] of a univariate polynomial [Formula: see text], where the coefficients of [Formula: see text] and [Formula: see text] are polynomials in the coordinates of the polyhedron vertices. A predicate is degenerate when [Formula: see text] is a zero of a common factor of [Formula: see text] and [Formula: see text]. 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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.