Results 1 - 10
of
29
On the design of CGAL a computational geometry algorithms library
- Softw. – Pract. Exp
, 1998
"... 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 82 (15 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, ease-of-use, 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 object-oriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGAL-library and consider software engineering aspects in the CGAL-project. Copyright c ○ 1999 John Wiley & Sons, Ltd. KEY WORDS: computational geometry; software library; C++; generic programming;
Computing a Canonical Polygonal Schema of an Orientable Triangulated Surface
, 2001
"... A closed orientable surface of genus g can be obtained by appropriate identication of pairs of edges of a 4ggon (the polygonal schema). The identied edges form 2g loops on the surface, that are disjoint except for their common end-point. These loops are generators of both the fundamental group and t ..."
Abstract
-
Cited by 52 (5 self)
- Add to MetaCart
A closed orientable surface of genus g can be obtained by appropriate identication of pairs of edges of a 4ggon (the polygonal schema). The identied edges form 2g loops on the surface, that are disjoint except for their common end-point. These loops are generators of both the fundamental group and the homology group of the surface. The inverse problem is concerned with nding a set of 2g loops on a triangulated surface, such that cutting the surface along these loops yields a (canonical) polygonal schema. We present two optimal algorithms for this inverse problem. Both algorithms have been implemented using the CGAL polyhedron data structure.
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 USA-Israel 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 36 (16 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 USA-Israel 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 Franco-Israeli 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
A realtime GPU subdivision kernel
- ACM Trans. Graph
, 2005
"... Figure 1: Catmull-Clark surfaces fully reevaluated (40 patches, depth 5) at 21 fps on an ATi 9700 mobile graphics chip. By organizing the control mesh of subdivision in texture memory so that irregularities occur strictly inside independently refinable fragment meshes, all major features of subdivis ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
Figure 1: Catmull-Clark surfaces fully reevaluated (40 patches, depth 5) at 21 fps on an ATi 9700 mobile graphics chip. By organizing the control mesh of subdivision in texture memory so that irregularities occur strictly inside independently refinable fragment meshes, all major features of subdivision algorithms can be realized in the framework of highly parallel stream processing. Our implementation of Catmull-Clark subdivision as a GPU kernel in programmable graphics hardware can model features like semi-smooth creases and global boundaries; and a simplified version achieves near-realtime depth-five re-evaluation of moderatesized subdivision meshes. The approach is easily adapted to other refinement patterns, such as Loop, Doo-Sabin or √ 3 and it allows for postprocessing with additional shaders.
Isotropic Surface Remeshing
, 2003
"... This paper proposes a new method for isotropic remeshing of triangulated surface meshes. Given a triangulated surface mesh to be resampled and a user-specified density function defined over it, we first distribute the desired number of samples by generalizing error diffusion, commonly used in image ..."
Abstract
-
Cited by 29 (5 self)
- Add to MetaCart
This paper proposes a new method for isotropic remeshing of triangulated surface meshes. Given a triangulated surface mesh to be resampled and a user-specified density function defined over it, we first distribute the desired number of samples by generalizing error diffusion, commonly used in image halftoning, to work directly on mesh triangles and feature edges. We then use the resulting sampling as an initial configuration for building a weighted centroidal Voronoi tessellation in a conformal parameter space, where the specified density function is used for weighting. We finally create the mesh by lifting the corresponding constrained Delaunay triangulation from parameter space. A precise control over the sampling is obtained through a flexible design of the density function, the latter being possibly low-pass filtered to obtain a smoother gradation. We demonstrate the versatility of our approach through various remeshing examples.
Exact and efficient construction of Minkowski sums of convex polyhedra with applications
- In Proc. 8th Workshop Alg. Eng. Exper. (Alenex’06
, 2006
"... We present an exact implementation of an efficient algorithm that computes Minkowski sums of convex polyhedra in R 3. Our implementation is complete in the sense that it does not assume general position. Namely, it can handle degenerate input, and it produces exact results. We also present applicati ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
We present an exact implementation of an efficient algorithm that computes Minkowski sums of convex polyhedra in R 3. Our implementation is complete in the sense that it does not assume general position. Namely, it can handle degenerate input, and it produces exact results. We also present applications of the Minkowski-sum computation to answer collision and proximity queries about the relative placement of two convex polyhedra in R 3. The algorithms use a dual representation of convex polyhedra, and their implementation is mainly based on the Arrangement package of Cgal, the Computational Geometry Algorithm Library. We compare our Minkowski-sum construction with the only three other methods that produce exact results we are aware of. One is a simple approach that computes the convex hull of the pairwise sums of vertices of two convex polyhedra. The second is based on Nef polyhedra embedded on the sphere, and the third is an output-sensitive approach based on linear programming. Our method is significantly faster. The results of experimentation with a broad family of convex polyhedra are reported. The relevant programs, source code, data sets, and documentation are available at
An adaptable and extensible geometry kernel
- In Proc. Workshop on Algorithm Engineering
, 2001
"... ii ..."
Compact representations of simplicial meshes in two and three dimensions
- International Journal of Computational Geometry and Applications
, 2003
"... We describe data structures for representing simplicial meshes compactly while supporting online queries and updates efficiently. Our data structure requires about a factor of five less memory than the most efficient standard data structures for triangular or tetrahedral meshes, while efficiently su ..."
Abstract
-
Cited by 18 (6 self)
- Add to MetaCart
We describe data structures for representing simplicial meshes compactly while supporting online queries and updates efficiently. Our data structure requires about a factor of five less memory than the most efficient standard data structures for triangular or tetrahedral meshes, while efficiently supporting traversal among simplices, storing data on simplices, and insertion and deletion of simplices. Our implementation of the data structures uses about 5 bytes/triangle in two dimensions (2D) and 7.5 bytes/tetrahedron in three dimensions (3D). We use the data structures to implement 2D and 3D incremental algorithms for generating a Delaunay mesh. The 3D algorithm can generate 100 Million tetrahedrons with 1 Gbyte of memory, including the space for the coordinates and all data used by the algorithm. The runtime of the algorithm is as fast as Shewchuk’s Pyramid code, the most efficient we know of, and uses a factor of 3.5 less memory overall. 1
Code flexibility and program efficiency by genericity: Improving cgal’s arrangements
- In Proc. 12th Annu. Euro. Sympos. Alg
, 2004
"... Abstract. Arrangements of planar curves are fundamental structures in computational geometry. We describe the recent developments in the arrangement package of Cgal, the Computational Geometry Algorithms Library, making it easier to use, to extend and to adapt to a variety of applications. This impr ..."
Abstract
-
Cited by 18 (13 self)
- Add to MetaCart
Abstract. Arrangements of planar curves are fundamental structures in computational geometry. We describe the recent developments in the arrangement package of Cgal, the Computational Geometry Algorithms Library, making it easier to use, to extend and to adapt to a variety of applications. This improved flexibility of the code does not come at the expense of efficiency as we mainly use generic-programming techniques, which make dexterous use of the compilation process. To the contrary, we expedited key operations as we demonstrate by experiments. 1

