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 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 www.mpi-sb.mpg.de/~mehlhorn/ftp/ ClassRooinExamples.ps. 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)
Volume3221
StatePublished - 2004

Fingerprint

Computational Geometry
Computational geometry
Robustness
Floating-point Arithmetic
Incremental Algorithm
Floating point
Convex Hull
Predicate
Digital arithmetic
Documentation
Teaching
Color
Geometry
Model

ASJC Scopus subject areas

  • Computer Science(all)
  • Biochemistry, Genetics and Molecular Biology(all)
  • Theoretical Computer Science

Cite this

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

In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 3221, 2004, p. 702-713.

Research output: Contribution to journalArticle

@article{4a117abeac9c4bbeb477e30a60a405a1,
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 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 www.mpi-sb.mpg.de/~mehlhorn/ftp/ ClassRooinExamples.ps. It contains further examples, more theory, and color pictures. We strongly recommend to read the full paper instead of this extended abstract.",
author = "Lutz Kettner and Kurt Mehlhorn and Sylvain Pion and Stefan Schirra and Chee Yap",
year = "2004",
language = "English (US)",
volume = "3221",
pages = "702--713",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

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 - 2004

Y1 - 2004

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 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 www.mpi-sb.mpg.de/~mehlhorn/ftp/ ClassRooinExamples.ps. It contains further examples, more theory, and color pictures. We strongly recommend to read the full paper instead of this extended abstract.

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 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 www.mpi-sb.mpg.de/~mehlhorn/ftp/ ClassRooinExamples.ps. It contains further examples, more theory, and color pictures. We strongly recommend to read the full paper instead of this extended abstract.

UR - http://www.scopus.com/inward/record.url?scp=35048841152&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=35048841152&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:35048841152

VL - 3221

SP - 702

EP - 713

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -