TY - JOUR
T1 - Classroom examples of robustness problems in geometric computations
AU - Kettner, Lutz
AU - Mehlhorn, Kurt
AU - Pion, Sylvain
AU - Schirra, Stefan
AU - Yap, Chee
N1 - Funding Information:
✩ Partially supported by the IST Program of the EU under Contract No IST-2000-26473, Effective Computational Geometry for Curves and Surfaces (ECG). A preliminary version of this paper appeared at ESA 2004, LNCS, vol. 3221, pp. 702–713. * Corresponding author. E-mail addresses: [email protected] (L. Kettner), [email protected] (K. Mehlhorn), [email protected] (S. Pion), [email protected] (S. Schirra), [email protected] (C. Yap).
PY - 2008/5
Y1 - 2008/5
N2 - The algorithms of computational geometry are designed for a machine model with exact real arithmetic. Substituting floating-point arithmetic for the assumed real arithmetic may cause implementations to fail. Although this is well known, there are no concrete examples with a comprehensive documentation of what can go wrong and why. In this paper, we provide a case study of what can go wrong and why. For our study, we have chosen two simple algorithms which are often taught, an algorithm for computing convex hulls in the plane and an algorithm for computing Delaunay triangulations in space. We give examples that make the algorithms fail in many different ways. We also show how to construct such examples systematically and discuss the geometry of the floating-point implementation of the orientation predicate. We hope that our work will be useful for teaching computational geometry.
AB - The algorithms of computational geometry are designed for a machine model with exact real arithmetic. Substituting floating-point arithmetic for the assumed real arithmetic may cause implementations to fail. Although this is well known, there are no concrete examples with a comprehensive documentation of what can go wrong and why. In this paper, we provide a case study of what can go wrong and why. For our study, we have chosen two simple algorithms which are often taught, an algorithm for computing convex hulls in the plane and an algorithm for computing Delaunay triangulations in space. We give examples that make the algorithms fail in many different ways. We also show how to construct such examples systematically and discuss the geometry of the floating-point implementation of the orientation predicate. We hope that our work will be useful for teaching computational geometry.
KW - Floating-point geometry
KW - Implementation
KW - Numerical robustness problems
UR - http://www.scopus.com/inward/record.url?scp=84867924186&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84867924186&partnerID=8YFLogxK
U2 - 10.1016/j.comgeo.2007.06.003
DO - 10.1016/j.comgeo.2007.06.003
M3 - Article
AN - SCOPUS:84867924186
SN - 0925-7721
VL - 40
SP - 61
EP - 78
JO - Computational Geometry: Theory and Applications
JF - Computational Geometry: Theory and Applications
IS - 1
ER -