Robust, Generic and Efficient Construction of Envelopes of Surfaces in Three-Dimensional Spaces
- Cite this paper as:
- Meyerovitch M. (2006) Robust, Generic and Efficient Construction of Envelopes of Surfaces in Three-Dimensional Spaces. In: Azar Y., Erlebach T. (eds) Algorithms – ESA 2006. ESA 2006. Lecture Notes in Computer Science, vol 4168. Springer, Berlin, Heidelberg
Lower envelopes are fundamental structures in computational geometry, which have many applications, such as computing general Voronoi diagrams and performing hidden surface removal in computer graphics. We present a generic, robust and efficient implementation of the divide-and-conquer algorithm for computing the envelopes of surfaces in IR3. To the best of our knowledge, this is the first exact implementation that computes envelopes in three-dimensional space. Our implementation is based on Cgal (the Computational Geometry Algorithms Library) and is designated as a Cgal package. The separation of topology and geometry in our solution allows for the reuse of the algorithm with different families of surfaces, provided that a small set of geometric objects and operations on them is supplied. We used our algorithm to compute the lower and upper envelope for several types of surfaces. Exact arithmetic is typically slower than floating-point arithmetic, especially when higher order surfaces are involved. Since our implementation follows the exact geometric computation paradigm, we minimize the number of geometric operations, and by that significantly improve the performance of the algorithm in practice. Our experiments show interesting phenomena in the behavior of the divide-and-conquer algorithm and the combinatorics of lower envelopes of random surfaces.
Unable to display preview. Download preview PDF.