Results 1  10
of
31
On the design of CGAL a computational geometry algorithms library
 SOFTW. – PRACT. EXP
, 1999
"... CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major ..."
Abstract

Cited by 91 (16 self)
 Add to MetaCart
CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major design goals for CGAL, which are correctness, flexibility, easeofuse, efficiency, and robustness, and present our approach to reach these goals. Generic programming using templates in C++ plays a central role in the architecture of CGAL. We give a short introduction to generic programming in C++, compare it to the objectoriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGALlibrary and consider software engineering aspects in the CGALproject.
Arrangements and Their Applications
 Handbook of Computational Geometry
, 1998
"... The arrangement of a finite collection of geometric objects is the decomposition of the space into connected cells induced by them. We survey combinatorial and algorithmic properties of arrangements of arcs in the plane and of surface patches in higher dimensions. We present many applications of arr ..."
Abstract

Cited by 78 (20 self)
 Add to MetaCart
The arrangement of a finite collection of geometric objects is the decomposition of the space into connected cells induced by them. We survey combinatorial and algorithmic properties of arrangements of arcs in the plane and of surface patches in higher dimensions. We present many applications of arrangements to problems in motion planning, visualization, range searching, molecular modeling, and geometric optimization. Some results involving planar arrangements of arcs have been presented in a companion chapter in this book, and are extended in this chapter to higher dimensions. Work by P.A. was supported by Army Research Office MURI grant DAAH049610013, by a Sloan fellowship, by an NYI award, and by a grant from the U.S.Israeli Binational Science Foundation. Work by M.S. was supported by NSF Grants CCR9122103 and CCR9311127, by a MaxPlanck Research Award, and by grants from the U.S.Israeli Binational Science Foundation, the Israel Science Fund administered by the Israeli Ac...
Using Generic Programming for Designing a Data Structure for Polyhedral Surfaces
 Comput. Geom. Theory Appl
, 1999
"... Appeared in Computational Geometry  Theory and Applications 13, 1999, 6590. Software design solutions are presented for combinatorial data structures, such as polyhedral surfaces and planar maps, tailored for program libraries in computational geometry. Design issues considered are flexibility, ..."
Abstract

Cited by 46 (5 self)
 Add to MetaCart
Appeared in Computational Geometry  Theory and Applications 13, 1999, 6590. Software design solutions are presented for combinatorial data structures, such as polyhedral surfaces and planar maps, tailored for program libraries in computational geometry. Design issues considered are flexibility, time and space efficiency, and easeofuse. We focus on topological aspects of polyhedral surfaces and evaluate edgebased representations with respect to our design goals. A design for polyhedral surfaces in a halfedge data structure is developed following the generic programming paradigm known from the Standard Template Library STL for C++. Connections are shown to planar maps and facebased structures. Key words: Library design; Generic programming; Combinatorial data structure; Polyhedral surface; Halfedge data structure 1 Introduction Combinatorial structures, such as planar maps, are fundamental in computational geometry. In order to be useful in practice, a solid library for compu...
The Design and Implementation of Planar Maps in CGAL
 Special Issue, selected papers of the Workshop on Algorithm Engineering (WAE
, 1999
"... this paper has been supported in part by ESPRIT IV LTR Projects No. 21957 (CGAL) and No. 28155 (GALIA), by the USAIsrael Binational Science Foundation, by The Israel Science Foundation founded by the Israel Academy of Sciences and Humanities (Center for Geometric Computing and its Applications), by ..."
Abstract

Cited by 39 (17 self)
 Add to MetaCart
this paper has been supported in part by ESPRIT IV LTR Projects No. 21957 (CGAL) and No. 28155 (GALIA), by the USAIsrael Binational Science Foundation, by The Israel Science Foundation founded by the Israel Academy of Sciences and Humanities (Center for Geometric Computing and its Applications), by a FrancoIsraeli research grant "factory of the future" (monitored by AFIRST/France and The Israeli Ministry of Science), and by the Hermann Minkowski  Minerva Center for Geometry at Tel Aviv University
Robust Geometric Computing in Motion
, 2000
"... In this paper we discuss the gap between the theory and practice of geometric algorithms. We then describe effors to settle this gap and facilitate the successful implementation of geometric algorithms in general and of algorithms for geometric arrangements and motion planning in particular. ..."
Abstract

Cited by 24 (2 self)
 Add to MetaCart
In this paper we discuss the gap between the theory and practice of geometric algorithms. We then describe effors to settle this gap and facilitate the successful implementation of geometric algorithms in general and of algorithms for geometric arrangements and motion planning in particular.
The Design and Implementation of Planar Arrangements of Curves in CGAL
, 2000
"... Contents Acknowledgments iii 1 Introduction 3 2 Preliminaries and Related Work 9 2.1 CGAL and Generic Programming . . . . . . . . . . . . . . . . 9 2.2 Robustness in Geometric Computation . . . . . . . . . . . . . 11 2.2.1 Exact Arithmetic . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Floating ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Contents Acknowledgments iii 1 Introduction 3 2 Preliminaries and Related Work 9 2.1 CGAL and Generic Programming . . . . . . . . . . . . . . . . 9 2.2 Robustness in Geometric Computation . . . . . . . . . . . . . 11 2.2.1 Exact Arithmetic . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Floating Point Filters . . . . . . . . . . . . . . . . . . . 13 2.3 Planar Maps in CGAL . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Geometric Traits . . . . . . . . . . . . . . . . . . . . . 16 2.3.2 Point Location Strategies . . . . . . . . . . . . . . . . . 17 2.4 Computing the Combinatorial Structure of an Arrangement . 18 2.4.1 Conditions for Curves . . . . . . . . . . . . . . . . . . 18 2.4.2 Isolation of Intersection Points . . . . . . . . . . . . . . 21 3 Arrangements in CGAL 23 3.1 Hierarchy Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Design and Implementation Details . . . . . . . . . . . . . . . 26 3.2.1 General Design . . . . . . .
Circular Incident Edge Lists: a Data Structure for Rendering Complex Unstructured Grids
, 2001
"... We present the Circular Incident Edge Lists (CIEL), a new data structure and a highperformance algorithm for generating a series of isosurfaces in a highly unstructured grid. Slicingbased volume rendering is also considered. The CIEL data structure represents all the combinatorial information of ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
We present the Circular Incident Edge Lists (CIEL), a new data structure and a highperformance algorithm for generating a series of isosurfaces in a highly unstructured grid. Slicingbased volume rendering is also considered. The CIEL data structure represents all the combinatorial information of the grid, making it possible to optimize the classical propagation from local minima paradigm. The usual geometric structures are replaced by a more efficient combinatorial structure. An active edges list is maintained, and iteratively propagated from an isosurface to the next one in a very efficient way. The intersected cells incident to each active edge are retrieved, and the intersection polygons are generated by circulating around their facets. This latter feature enables arbitrary irregular cells to be treated, such as those encountered in certain computational fluid dynamics (CFD) simulations. Since the CIEL data structure solely depends on the connections between the cells, it is possible to take into account dynamic changes in the geometry of the mesh and in property values, which only requires the sorted extrema list to be updated. Experiments have shown that our approach is significantly faster than classical methods. The major drawback of our method is its memory consumption, higher than most classical methods. However, experimental results show that it stays within a practical range.
Milena: Write Generic Morphological Algorithms Once, Run on Many Kinds of Images
"... Abstract. We present a programming framework for discrete mathematical morphology centered on the concept of genericity. We show that formal definitions of morphological algorithms can be translated into actual code, usable on virtually any kind of compatible images, provided a general definition of ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Abstract. We present a programming framework for discrete mathematical morphology centered on the concept of genericity. We show that formal definitions of morphological algorithms can be translated into actual code, usable on virtually any kind of compatible images, provided a general definition of the concept of image is given. This work is implemented in Milena, a generic, efficient, and userfriendly image processing library 3 1
Overlaying surface meshes, part I: Algorithms
 INT. J. COMPUT. GEOM. APPL.
, 2004
"... We describe an efficient and robust algorithm for computing a common refinement of two meshes modeling the same surface of arbitrary shape by overlaying them on lop of each other. A common refinement is an important data structure for transferring data between meshes that have different combinatoria ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We describe an efficient and robust algorithm for computing a common refinement of two meshes modeling the same surface of arbitrary shape by overlaying them on lop of each other. A common refinement is an important data structure for transferring data between meshes that have different combinatorial structures. Our algorithm is optimal in time and space, with linear complexity, and is robust even with inexact computations, through the techniques of error analysis, detection of topological inconsistencies, and automatic resolution of such inconsistencies. We present the verification and some further enhancement of robustness in Part II.
Detecting and Reconstructing Subdivision Connectivity
, 2001
"... In this paper we introduce fast and efficient inverse subdivision algorithms, with linear time and space complexity, to detect and reconstruct uniform Loop, CatmullClark, and DooSabin subdivision structure in irregular triangular, quadrilateral, and polygonal meshes. We consider two main applicati ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper we introduce fast and efficient inverse subdivision algorithms, with linear time and space complexity, to detect and reconstruct uniform Loop, CatmullClark, and DooSabin subdivision structure in irregular triangular, quadrilateral, and polygonal meshes. We consider two main applications for these algorithm. The first one is to enable interactive modeling systems that support uniform subdivision surfaces, to use popular interchange file formats which do not preserve the subdivision structure, such as VRML, without loss of information. The second application is to improve the compression efficiency of existing lossless connectivity compression schemes, by optimally compressing meshes with Loop subdivision connectivity. Our Loop inverse subdivision algorithm is based on global connectivity properties of the covering mesh, a concept motivated by the covering surface from Algebraic Topology. Although the same approach can be used for other subdivision schemes such as CatmullClark, we present a CatmullClark inverse subdivision algorithm based on a much simpler graph coloring algorithm, and a DooSabin inverse subdivision algorithm based on properties of the dual mesh. Straightforward extensions of these approaches to other popular uniform subdivision schemes are also discussed.