A Robust and Stable 2D Triangulation Algorithm
15 March 1989
Can geometric algorithms be implemented using floating point arithmetic? A geometric algorithm uses a sequence of primitive operations on continuous data to produce a combinatorial output. A simple example is the `Graham-scan` algorithm that produces the convex hull of a set of points by performing triangle tests (determining whether three points form a positively oriented triangle). Computing a primitive exactly may not be feasible because of the large precision required for the calculation. Computing the primitive approximately, say with floating point arithmetic, may invalidate the correctness of the algorithm, since the primitive may give the wrong answer for some inputs.