Classroom examples of robustness problems in geometric computations

Lutz Kettner, Kurt Mehlhorn, Sylvain Pion, Stefan Schirra, Chee Yap

Research output: Contribution to journalArticle

Abstract

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.

Original languageEnglish (US)
Pages (from-to)61-78
Number of pages18
JournalComputational Geometry: Theory and Applications
Volume40
Issue number1
DOIs
StatePublished - May 2008

Fingerprint

Robustness
Computational geometry
Computational Geometry
Digital arithmetic
Floating-point Arithmetic
Delaunay triangulation
Computing
Floating point
Triangulation
Convex Hull
Predicate
Teaching
Geometry
Model

Keywords

  • Floating-point geometry
  • Implementation
  • Numerical robustness problems

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Computational Mathematics
  • Control and Optimization
  • Geometry and Topology

Cite this

Classroom examples of robustness problems in geometric computations. / Kettner, Lutz; Mehlhorn, Kurt; Pion, Sylvain; Schirra, Stefan; Yap, Chee.

In: Computational Geometry: Theory and Applications, Vol. 40, No. 1, 05.2008, p. 61-78.

Research output: Contribution to journalArticle

Kettner, Lutz ; Mehlhorn, Kurt ; Pion, Sylvain ; Schirra, Stefan ; Yap, Chee. / Classroom examples of robustness problems in geometric computations. In: Computational Geometry: Theory and Applications. 2008 ; Vol. 40, No. 1. pp. 61-78.
@article{cd8b526dc9704174a5b4d27d1512a50f,
title = "Classroom examples of robustness problems in geometric computations",
abstract = "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.",
keywords = "Floating-point geometry, Implementation, Numerical robustness problems",
author = "Lutz Kettner and Kurt Mehlhorn and Sylvain Pion and Stefan Schirra and Chee Yap",
year = "2008",
month = "5",
doi = "10.1016/j.comgeo.2007.06.003",
language = "English (US)",
volume = "40",
pages = "61--78",
journal = "Computational Geometry: Theory and Applications",
issn = "0925-7721",
publisher = "Elsevier",
number = "1",

}

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

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

VL - 40

SP - 61

EP - 78

JO - Computational Geometry: Theory and Applications

JF - Computational Geometry: Theory and Applications

SN - 0925-7721

IS - 1

ER -