Classroom examples of robustness problems in geometric computations

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

Research output: Contribution to journalArticlepeer-review


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 is no comprehensive documentation of what can go wrong and why. In this extended abstract, we study a simple incremental algorithm for planar convex hulls and give examples which make the algorithm fail in all possible ways. We also show how to construct failureexamples semi-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. The full paper is available at It contains further examples, more theory, and color pictures. We strongly recommend to read the full paper instead of this extended abstract.

Original languageEnglish (US)
Pages (from-to)702-713
Number of pages12
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
StatePublished - 2004

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Classroom examples of robustness problems in geometric computations'. Together they form a unique fingerprint.

Cite this