## Simulation of Simplicity: A Technique to Cope with Degenerate Cases in Geometric Algorithms (1990)

Venue: | ACM TRANS. GRAPH |

Citations: | 276 - 21 self |

### BibTeX

@ARTICLE{Edelsbrunner90simulationof,

author = {Herbert Edelsbrunner and Ernst Peter Mücke},

title = {Simulation of Simplicity: A Technique to Cope with Degenerate Cases in Geometric Algorithms},

journal = {ACM TRANS. GRAPH},

year = {1990},

volume = {9},

number = {1},

pages = {66--104}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper describes a general-purpose programming technique, called the Simulation of Simplicity, which can be used to cope with degenerate input data for geometric algorithms. It relieves the programmer from the task to provide a consistent treatment for every single special case that can occur. The programs that use the technique tend to be considerably smaller and more robust than those that do not use it. We believe that this technique will become a standard tool in writing geometric software.

### Citations

2435 |
The Design and Analysis of Computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...h smaller index is smaller (assuming the integers are indexed, e.g., by their positions in an array). Or think of Kruskal's algorithm for constructing a minimum spanning tree of a weighted graph (see =-=[AHU74]-=-). At each step it chooses the shortest edge that can be added to the current collection of edges without creating a cycle. If this edge is not unique, then any one of the candidate edges is taken. Th... |

1957 |
CV: Matrix Computations
- Golub, Loan
- 1996
(Show Context)
Citation Context ...re that the correct value is different from zero and lies on the same side of zero. But how can we quantify "sufficiently far from zero"? In any case, we could now use Gaussian elimination (=-=see e.g., [GVL83]-=-) which takes O(D 3 ) time or asymptotically faster methods based on matrix multiplication as described for instance in [AHU74]. We do not believe that the latter methods could be of any practical use... |

1763 |
Computational Geometry: An Introduction
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ...mplicity 8 There are plenty of algorithms for point set problems which are based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see [PH77], =-=[PS85]-=-, [Se81], [Se86], or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the primitive ... |

809 |
Linear programming and extension
- Dantzig
(Show Context)
Citation Context ...ut less elaborate method has been used to solve degenerate linear programs. This leads to the implementation of the simplex algorithm referred to as the "lexicographical method" (see [Ch52],=-= [DOW55], [Da63]-=-, or [Ch83] for details). In computational geometry, this technique has been used in a couple of papers, including [Ed86] and [EW86], to avoid the otherwise necessary Simulation of Simplicity 3 discus... |

688 |
Algorithms in Combinatorial Geometry
- Edelsbrunner
- 1987
(Show Context)
Citation Context ... of algorithms for point set problems which are based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see [PH77], [PS85], [Se81], [Se86], or =-=[Ed87]-=-), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the primitive operations required by the ... |

675 |
The Art of Computer Programming, volume 2: Seminumerical Algorithms
- Knuth
- 1988
(Show Context)
Citation Context ... Assuming that the coordinates or parameters are integers, we can either use long integer arithmetic or modular arithmetic based on the Chinese remainder theorem. For details on both methods refer to =-=[Kn69]-=-. If we actually compute the determinant in order to find its sign --- and no method is known to the authors that avoids the actual computation of the determinant --- we have to be prepared to deal wi... |

457 |
Primitives for the manipulation of general subdivisions and the computational of voronoi diagrams
- Guibas, Stolfi
- 1985
(Show Context)
Citation Context ...can determine whether p d+1 lies inside or outside the sphere specified by the first d + 1 points, assuming this sphere is unique. Such a test is useful for constructing Voronoi diagrams (as shown in =-=[GS85]-=- for d = 2) and other problems where circles and spheres play a role. An elegant solution to this problem can be given using a transform that lifts a sphere in d dimensions to d + 1 dimensions where i... |

124 |
Topologically sweeping an arrangement
- Edelsbrunner, Guibas
- 1989
(Show Context)
Citation Context ...ts. Prime examples are the construction of convex hulls (see [PH77], [PS85], [Se81], [Se86], or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], =-=[EG89]-=-, and [Ed87]). The remainder of this section considers the primitive operations required by the three-dimensional convex hull algorithm of Preparata and Hong which is described in [PH77], [PS85], and ... |

97 |
Convex hulls of finite sets of points in two and three dimensions
- Preparata, Hong
- 1977
(Show Context)
Citation Context ...on of Simplicity 8 There are plenty of algorithms for point set problems which are based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see =-=[PH77]-=-, [PS85], [Se81], [Se86], or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the pr... |

70 |
Constructing higher-dimensional convex hulls at logarithmic cost per face
- Seidel
- 1986
(Show Context)
Citation Context ... are plenty of algorithms for point set problems which are based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see [PH77], [PS85], [Se81], =-=[Se86]-=-, or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the primitive operations requi... |

67 | A geometric consistency theorem for a symbolic perturbation scheme - Yap - 1988 |

45 |
Symbolic treatment of geometric degeneracies
- Yap
- 1990
(Show Context)
Citation Context ... the convex hull. This is because the perturbation may decide that a point is inside the hull if it lies on a boundary edge or face. In this case the point would be prematurely discarded. We refer to =-=[Ya87]-=- for a more extensive discussion of the limitations of symbolic methods aimed at resolving robustness problems in geometric algorithms. In order to increase the credibility of our claim that SoS is in... |

40 |
Multidimensional sorting
- Goodman, Pollack
(Show Context)
Citation Context ...re based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see [PH77], [PS85], [Se81], [Se86], or [Ed87]), computing -matrices as discussed in =-=[GP83]-=- and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the primitive operations required by the three-dimensional convex hull algorithm of Pr... |

31 |
The generalized simplex method for minimizing a linear form under inequality restraints
- Dantzig, Orden, et al.
- 1955
(Show Context)
Citation Context ...similar but less elaborate method has been used to solve degenerate linear programs. This leads to the implementation of the simplex algorithm referred to as the "lexicographical method" (se=-=e [Ch52], [DOW55]-=-, [Da63], or [Ch83] for details). In computational geometry, this technique has been used in a couple of papers, including [Ed86] and [EW86], to avoid the otherwise necessary Simulation of Simplicity ... |

24 |
A convex hull algorithm optimal for point sets in even dimensions
- Seidel
- 1981
(Show Context)
Citation Context ... 8 There are plenty of algorithms for point set problems which are based on computing the orientation of a sequence of points. Prime examples are the construction of convex hulls (see [PH77], [PS85], =-=[Se81]-=-, [Se86], or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see [CK80], [EG89], and [Ed87]). The remainder of this section considers the primitive operatio... |

19 |
Optimality and degeneracy in linear programming
- Charnes
- 1952
(Show Context)
Citation Context ...rams. A similar but less elaborate method has been used to solve degenerate linear programs. This leads to the implementation of the simplex algorithm referred to as the "lexicographical method&q=-=uot; (see [Ch52]-=-, [DOW55], [Da63], or [Ch83] for details). In computational geometry, this technique has been used in a couple of papers, including [Ed86] and [EW86], to avoid the otherwise necessary Simulation of Si... |

18 |
Geometric relations among Voronoi diagrams, Geom. Dedicata 27
- Aurenhammer, Imai
- 1988
(Show Context)
Citation Context ...y intersect the d-th coordinate axis in a unique point. Examples are Voronoi diagrams or, more generally, power diagrams for arbitrary order and weighted Voronoi diagrams (see for instance [Ed87] and =-=[AI86]-=-). It is beyond the scope of this paper to describe how the data for those problems are used to generate hyperplanes --- it will be enough to know that they are obtained via geometric transforms which... |

14 |
Computing a ham-sandwich cut in two dimensions
- Edelsbrunner, Waupotitsch
- 1986
(Show Context)
Citation Context ...m referred to as the "lexicographical method" (see [Ch52], [DOW55], [Da63], or [Ch83] for details). In computational geometry, this technique has been used in a couple of papers, including [=-=Ed86] and [EW86]-=-, to avoid the otherwise necessary Simulation of Simplicity 3 discussion of degenerate cases. This paper presents the theoretical foundations of SoS as well as details of its implementation. The basic... |

7 |
Edge-skeletons in arrangements with applications
- EDELSBRUNNER
- 1986
(Show Context)
Citation Context ...ex algorithm referred to as the "lexicographical method" (see [Ch52], [DOW55], [Da63], or [Ch83] for details). In computational geometry, this technique has been used in a couple of papers, =-=including [Ed86]-=- and [EW86], to avoid the otherwise necessary Simulation of Simplicity 3 discussion of degenerate cases. This paper presents the theoretical foundations of SoS as well as details of its implementation... |

6 |
Computational geometry in practice
- Forrest
- 1985
(Show Context)
Citation Context ...ntersections between r and the edges of the polygon. If that number is odd, then the test point lies within the polygon, and if the number is even, then it lies outside the polygon. As pointed out in =-=[Fo85]-=-, it is not a trivial matter to implement this algorithm, even if we assume that the test point does not lie on the boundary of the polygon. There are only two nondegenerate cases: Either the intersec... |

5 |
Finding largest convex subsets
- Chv'atal, Klincsek
- 1980
(Show Context)
Citation Context ... of points. Prime examples are the construction of convex hulls (see [PH77], [PS85], [Se81], [Se86], or [Ed87]), computing -matrices as discussed in [GP83] and [Ed87], and finding convex subsets (see =-=[CK80]-=-, [EG89], and [Ed87]). The remainder of this section considers the primitive operations required by the three-dimensional convex hull algorithm of Preparata and Hong which is described in [PH77], [PS8... |

1 |
A First Implementation
- SoS
- 1988
(Show Context)
Citation Context ...ss problems in geometric algorithms. In order to increase the credibility of our claim that SoS is indeed a practical programming tool, the second author compiled a prototype version of a SoS library =-=[Mu88]-=- and implemented the threedimensional edge-skeleton algorithm of [Ed86]. We believe it is fair to say that this algorithm is an extraordinary challenge for someone who wants to do it without SoS. From... |

1 |
On the size of closest-point Voronoi diagrams
- Seidel
- 1982
(Show Context)
Citation Context ...his problem can be given using a transform that lifts a sphere in d dimensions to d + 1 dimensions where it is represented by a hyperplane. This transformation can be traced back in the literature to =-=[Se82]-=- and has since been used throughout the computational geometry literature (see [GS85], [PS85], and [Ed87]). For the case of circles in the plane we explain this transformation in detail and finally ph... |