## Designing a Computational Geometry Algorithms Library (1996)

Venue: | Lecture Notes for Advanced School on Algorithmic Foundations of Geographic Information Systems, CISM |

Citations: | 6 - 1 self |

### BibTeX

@INPROCEEDINGS{Schirra96designinga,

author = {Stefan Schirra},

title = {Designing a Computational Geometry Algorithms Library},

booktitle = {Lecture Notes for Advanced School on Algorithmic Foundations of Geographic Information Systems, CISM},

year = {1996},

pages = {16--20}

}

### OpenURL

### Abstract

Introduction Geometric problems arise in many areas. Computer graphics, robotics, manufacturing, and geographic information systems are some examples. Often the same geometric subproblems are to be solved. Hence a library providing solutions for core problems in geometric computing has a wide range of applications and can be very useful. The success of LEDA [16], a library of efficient data types and algorithms, has shown that the existence of a library can make a tremendous difference for taking advanced techniques in data structures and algorithms from theory to practice. The field of computational geometry is now very close to a state where it can provide such a library of geometric algorithms. Over the past twenty years many algorithms for geometric problems have been developed by computational geometers. Many of these algorithms clearly have no direct impact for geometric computing in practice, because they are efficient compared to other solutions only for huge problem i

### Citations

452 | Computational geometry
- Preparata, Shamos
(Show Context)
Citation Context ... predicates in an implementation is not easy. It is much easier to built an implementation upon exact geometric predicates. With exact predicates all the algorithms developed under the real RAM model =-=[21]-=- can be implemented in a straightforward way. A redesign that deals with imprecision in the predicates is not necessary. Using exact predicates is the easiest and hence most promising way to get relia... |

244 | The Standard Template Library
- Stepanov, Lee
- 1995
(Show Context)
Citation Context ...hoice of the programming language. C++ seems to be a good choice since it is widely available and supports library design [5]. Furthermore it allows to use other C++-libraries, e.g. LEDA [16] and STL =-=[25, 19]-=- and gives access to functions coded in C. 3 Robustness of Library Components In the computational geometry literature the term robustness is used with slightly different meanings. Sometimes an algori... |

134 | Adaptive precision floating-point arithmetic and fast robust geometric predicates
- Shewchuk
- 1996
(Show Context)
Citation Context ...at the algorithm would compute the exact result if all computations would be precise. According to this definition no algorithm that uses a symbolic perturbation scheme [23] could be robust. Shewchuk =-=[24]-=- suggest to call algorithms quasi-robust if they compute some useful information which is not necessarily a correct output for any perturbation of the input. Often it is not too difficult to get stabl... |

95 | Efficient exact arithmetic for computational geometry
- Fortune, Wyk
- 1993
(Show Context)
Citation Context ...mputation. It should clear that one has to pay for exactness. Recently, there has been much progress on exact geometric computations [26] and various tools for exact computation are already available =-=[3, 8, 11]-=-. How efficiently a predicate can be exactly evaluated depends on the numerical data that are involved. In applications the numerical input data are hardly arbitrary real numbers. The numerical input ... |

94 | The exact computation paradigm
- Yap, Dubé
(Show Context)
Citation Context ...uld be chosen appropriately and not suggest exactness if approximate solutions are computed. Correctness in the sense of reliability is the primary goal, not exactness, but exact computation paradigm =-=[26]-=- seems to be the safest way to reach it. 4 Efficiency, Generality, and Modularity Users of a computational geometry algorithms library may have fairly different needs. For some users speed might be mo... |

85 |
STL Tutorial and Reference Guide
- Musser, Derge, et al.
- 2001
(Show Context)
Citation Context ...hoice of the programming language. C++ seems to be a good choice since it is widely available and supports library design [5]. Furthermore it allows to use other C++-libraries, e.g. LEDA [16] and STL =-=[25, 19]-=- and gives access to functions coded in C. 3 Robustness of Library Components In the computational geometry literature the term robustness is used with slightly different meanings. Sometimes an algori... |

69 |
Computer Graphics
- Hearn, Baker
- 1997
(Show Context)
Citation Context ...nts and vectors with homogeneous coordinates besides points and vectors with ordinary Cartesian coordinates. Homogeneous coordinates have also benefits for the representation of affine transformation =-=[13]-=-. 5 Generic Code For the correctness of an algorithm the correctness of its components is important, not their actual implementation. Layered geometric algorithms will work with a variety of implement... |

55 |
a platform for combinatorial and geometric computing
- LEDA
- 1995
(Show Context)
Citation Context ... same geometric subproblems are to be solved. Hence a library providing solutions for core problems in geometric computing has a wide range of applications and can be very useful. The success of LEDA =-=[16]-=-, a library of efficient data types and algorithms, has shown that the existence of a library can make a tremendous difference for taking advanced techniques in data structures and algorithms from the... |

47 | onherr. The CGAL Kernel: A Basis for Geometric Computation
- Fabri, Giezeman, et al.
- 1996
(Show Context)
Citation Context ...ed in Section 6. The view held in these notes is a personal view, not the official view of CGAL. However, many of the presented concepts have been developed jointly in the kernel design group of CGAL =-=[9]-=-. They are also influenced by discussions in the research group interested in exact geometric computation at Max-PlanckInstitute for Computer Science [3, 18], LEDA [16], and CGAL's prototype-like ance... |

47 |
The nature and meaning of perturbations in geometric computing
- Seidel
- 1998
(Show Context)
Citation Context ...ger. It requires in addition that the algorithm would compute the exact result if all computations would be precise. According to this definition no algorithm that uses a symbolic perturbation scheme =-=[23]-=- could be robust. Shewchuk [24] suggest to call algorithms quasi-robust if they compute some useful information which is not necessarily a correct output for any perturbation of the input. Often it is... |

44 |
Stable maintenance of point-set triangulations in two dimensions
- Fortune
- 1989
(Show Context)
Citation Context ...obust. Therefore, in addition, one should require that the perturbation of the input is small. Robustness with small perturbation is called stability. Fortune's definition of robustness and stability =-=[10]-=- is a bit stronger. It requires in addition that the algorithm would compute the exact result if all computations would be precise. According to this definition no algorithm that uses a symbolic pertu... |

35 | Exact geometric computation in LEDA
- Burnikel, Könnemann, et al.
- 1995
(Show Context)
Citation Context ...ped jointly in the kernel design group of CGAL [9]. They are also influenced by discussions in the research group interested in exact geometric computation at Max-PlanckInstitute for Computer Science =-=[3, 18]-=-, LEDA [16], and CGAL's prototype-like ancestors C++GAL [1], PlaGeo/SpaGeo [12], and XYZ-library [20]. 2 Geometric Algorithms in a Library Geometric algorithms consist of different layers, the bottomm... |

30 | Checking geometric programs or verification of geometric structures
- Mehlhorn, Näher, et al.
- 1996
(Show Context)
Citation Context .... Since the correctness of an implementation depends on the correctness of the components that are used, the components in a library should be designed for checkability and (by default) self-checking =-=[17]. For exam-=-ple, preconditions of routines can be checked and results of computations are "verified" by checking postconditions. Such checkings are of great help in the implementation process and can re... |

26 |
The implementation of geometric algorithms
- Mehlhorn, Nher
- 1994
(Show Context)
Citation Context ...easons there is a definite need for correct and efficient implementations of geometric algorithms. Although much progress has been made concerning the implementation of geometric algorithms, see e.g. =-=[15]-=-, there is still a lot of theoretical and experimental research to be done to get a robust and efficient library of geometric algorithms. It is one of the goals of the CGAL-project, a common project o... |

19 |
Designing and Coding Reusable C
- Carroll, Ellis
- 1995
(Show Context)
Citation Context ...combined in a fairly seamless way. A major design issue for a library is the choice of the programming language. C++ seems to be a good choice since it is widely available and supports library design =-=[5]-=-. Furthermore it allows to use other C++-libraries, e.g. LEDA [16] and STL [25, 19] and gives access to functions coded in C. 3 Robustness of Library Components In the computational geometry literatur... |

16 | The LEDA class real number
- Burnikel, Mehlhorn, et al.
- 1996
(Show Context)
Citation Context ...ers arising in the evaluation are sufficiently small, calculations can be done with limited precision number types like int and double. A very general and powerful number type is the number type real =-=[4]-=-. It guarantees exact comparisons for numbers given by arithmetic expressions with integral operands over the basic operations +; \Gamma; ; = and the square root operation. Operator overloading in C++... |

5 | A computational basis for higher-dimensional computational geometry and its applications. Computational Geometry: Theory and Applications
- Mehlhorn, Müller, et al.
- 1998
(Show Context)
Citation Context ...ped jointly in the kernel design group of CGAL [9]. They are also influenced by discussions in the research group interested in exact geometric computation at Max-PlanckInstitute for Computer Science =-=[3, 18]-=-, LEDA [16], and CGAL's prototype-like ancestors C++GAL [1], PlaGeo/SpaGeo [12], and XYZ-library [20]. 2 Geometric Algorithms in a Library Geometric algorithms consist of different layers, the bottomm... |

4 |
C++GAL: A C++ Library for Geometric Algorithms
- Avnaim
- 1994
(Show Context)
Citation Context ...so influenced by discussions in the research group interested in exact geometric computation at Max-PlanckInstitute for Computer Science [3, 18], LEDA [16], and CGAL's prototype-like ancestors C++GAL =-=[1]-=-, PlaGeo/SpaGeo [12], and XYZ-library [20]. 2 Geometric Algorithms in a Library Geometric algorithms consist of different layers, the bottommost layers being basic objects and predicates, and the arit... |

4 |
a library for planar geometry, and SpaGeo, a library for spatial geometry
- PlaGeo
- 1994
(Show Context)
Citation Context ...scussions in the research group interested in exact geometric computation at Max-PlanckInstitute for Computer Science [3, 18], LEDA [16], and CGAL's prototype-like ancestors C++GAL [1], PlaGeo/SpaGeo =-=[12]-=-, and XYZ-library [20]. 2 Geometric Algorithms in a Library Geometric algorithms consist of different layers, the bottommost layers being basic objects and predicates, and the arithmetic used to do th... |

3 |
XYZ : Software for geometric computation
- Nievergelt, Schorn, et al.
- 1991
(Show Context)
Citation Context ...rch group interested in exact geometric computation at Max-PlanckInstitute for Computer Science [3, 18], LEDA [16], and CGAL's prototype-like ancestors C++GAL [1], PlaGeo/SpaGeo [12], and XYZ-library =-=[20]-=-. 2 Geometric Algorithms in a Library Geometric algorithms consist of different layers, the bottommost layers being basic objects and predicates, and the arithmetic used to do the computations. A geom... |

2 |
Evaluating signs of determinants using single precision arithmetic
- Avnaim, Boissonnat, et al.
- 1994
(Show Context)
Citation Context ...some determinant could deviate from the standard evaluation provided by the template code and use a special method for computing the sign, e.g. for determinants with entries given as integral doubles =-=[2]-=- could be used. Parametrization of geometric objects, data structures and algorithms by a class that maps basic geometric objects via typedefs to representations (and number types) allows to write gen... |

2 |
Standards Committee Working Paper for Draft Proposed International Standard for Information Systems -- Programming Language C++. Doc No
- ANSIISO
- 687
(Show Context)
Citation Context ...t where a library can make user's life easier is how it deals with a collections of objects. The iterator concept of the C++ Standard Template Library [25, 19], a part of the forthcoming C++ standard =-=[6]-=-, can be used to make the feeding of an algorithm with a set of input data of the same type uniform. There is no need for a user to copy the data from his favorite container to a library container bef... |

2 |
Delaunay traingulations in three dimensions with finite precision arithmetic. Computer Aided Geometric Design
- Dey, Sugihara, et al.
- 1992
(Show Context)
Citation Context ...ary Components In the computational geometry literature the term robustness is used with slightly different meanings. Sometimes an algorithm is already called robust if it does not fail. Some authors =-=[7]-=- use robustness to denote the ability of an algorithm to deal with inaccuracies and degenerate cases, whatever that means. Often an algorithm is called robust if the computed result is the exact resul... |

1 |
A basis for implementing exact computational geometry. extended abstract
- Dub'e, Yap
- 1994
(Show Context)
Citation Context ...mputation. It should clear that one has to pay for exactness. Recently, there has been much progress on exact geometric computations [26] and various tools for exact computation are already available =-=[3, 8, 11]-=-. How efficiently a predicate can be exactly evaluated depends on the numerical data that are involved. In applications the numerical input data are hardly arbitrary real numbers. The numerical input ... |

1 |
Precision and robustness
- Schirra
- 1996
(Show Context)
Citation Context ...redicates does not automatically give a stable algorithm. Globally inconsistent decisions have to be avoided. For a few basic geometric problems there are algorithms that reach (quasi)robustness, cf. =-=[22]-=-. The techniques used in these algorithms are fairly special 4 Lecture Notes on Designing a Computational Geometry Algorithm Library and it seems unlikely that they can be easily transferred to other ... |