Efficient and exact manipulation of algebraic points and curves
An important part of solid modeling systems based on curved primitives is the representation and manipulation of algebraic plane curves with rational coefficients and points with algebraic coordinates. These objects are often approximated by floating-point numbers and spline curves, which are easy to manipulate, but are subject to accuracy and robustness problems. Exact computation can eliminate these numerical robustness problems, but efficient exact methods have not been available. Moreover, it is widely believe that exact arithmetic is impractical for manipulating curved primitives. In this paper, we present an efficient approach for exact manipulation of algebraic points and non-singular curves in the plane. We describe the underlying representations and discuss techniques for making exact computations more efficient through two algorithms and the use of floating-point speedups. Specifically, we describe algorithms for curvecurve intersections and curve topology. We also discuss various issues related to their implementation in a library, MAPC. We demonstrate their performance on a number of applications including curve topology evaluation, computing arrangements of curves and boundary evaluation of low degree algebraic solids.
plane curves exact computation algebraic numbers boundary generation