Indirect predicates for geometric constructions
Marco Attene
TL;DR
This paper tackles the robustness gap in floating point geometric predicates when intermediate constructions are used. It introduces indirect geometric predicates that treat the intermediate constructions as implicit parameters represented by polynomial fractions, enabling arithmetic filtering to preserve exactness with near-FP performance. The authors develop specialized FP, interval, and exact evaluation paths, plus caching and code-generation techniques to tailor implementations to input configurations. Experiments in 2D and 3D, explicit and implicit data, show that indirect predicates outperform state-of-the-art approaches while maintaining robustness, with practical memory and speed benefits. The work demonstrates a feasible path to robust, efficient geometric algorithms that rely on intermediate constructions, and discusses remaining limitations and avenues for future research.
Abstract
Geometric predicates are a basic ingredient to implement a vast range of algorithms in computational geometry. Modern implementations employ floating point filtering techniques to combine efficiency and robustness, and state-of-the-art predicates are guaranteed to be always exact while being only slightly slower than corresponding (inexact) floating point implementations. Unfortunately, if the input to these predicates is an intermediate construction of an algorithm, its floating point representation may be affected by an approximation error, and correctness is no longer guaranteed. This paper introduces the concept of indirect geometric predicate: instead of taking the intermediate construction as an explicit input, an indirect predicate considers the primitive geometric elements which are combined to produce such a construction. This makes it possible to keep track of the floating point approximation, and thus to exploit efficient filters and expansion arithmetic to exactly resolve the predicate with minimal overhead with respect to a naive floating point implementation. As a representative example, we show how to extend standard predicates to the case of points of intersection of linear elements (i.e. lines and planes) and show that, on classical problems, this approach outperforms state-of-the-art solutions based on lazy exact intermediate representations.
