### 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 language | English (US) |
---|---|

Pages (from-to) | 61-78 |

Number of pages | 18 |

Journal | Computational Geometry: Theory and Applications |

Volume | 40 |

Issue number | 1 |

DOIs | |

State | Published - May 2008 |

### Keywords

- Floating-point geometry
- Implementation
- Numerical robustness problems

### ASJC Scopus subject areas

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

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

## Cite this

*Computational Geometry: Theory and Applications*,

*40*(1), 61-78. https://doi.org/10.1016/j.comgeo.2007.06.003