HOME

TheInfoList



OR:

The Computational Geometry Algorithms Library (CGAL) is an open source software
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
of computational geometry
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s. While primarily written in C++, Scilab bindings and bindings generated with SWIG (supporting Python and
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
for now) are also available. The software is available under dual licensing scheme. When used for other open source software, it is available under open source licenses ( LGPL or GPL depending on the component). In other cases commercial license may be purchased, under different options for academic/research and industrial customers.


History

The CGAL project was founded in 1996, as a consortium of eight research institutions in Europe and Israel: Utrecht University,
ETH Zurich (colloquially) , former_name = eidgenössische polytechnische Schule , image = ETHZ.JPG , image_size = , established = , type = Public , budget = CHF 1.896 billion (2021) , rector = Günther Dissertori , president = Joël Mesot , a ...
, Free University of Berlin, INRIA Sophia Antipolis,
Martin-Luther-University Halle-Wittenberg Martin Luther University of Halle-Wittenberg (german: Martin-Luther-Universität Halle-Wittenberg), also referred to as MLU, is a public, research-oriented university in the cities of Halle and Wittenberg and the largest and oldest university i ...
, Max Planck Institute for Informatics Saarbrücken, Johannes Kepler University Linz, and
Tel-Aviv University Tel Aviv University (TAU) ( he, אוּנִיבֶרְסִיטַת תֵּל אָבִיב, ''Universitat Tel Aviv'') is a public research university in Tel Aviv, Israel. With over 30,000 students, it is the largest university in the country. Loc ...
. The original funding for the project came from the
ESPRIT Esprit or L'Esprit may refer to: * the French for Spirit; as a loanword: ** Enthusiasm, intense interest or motivation ** Morale, motivation and readiness ** Geist "mind/spirit; intellect" * Esprit (name), a given name and surname * ''Esprit'' (m ...
project of the
European Union The European Union (EU) is a supranational political and economic union of member states that are located primarily in Europe. The union has a total area of and an estimated total population of about 447million. The EU has often been ...
. Originally, its licensing terms allowed its software to be used freely for academic purposes, with commercial licenses available for other uses. CGAL Releases 3.x were distributed under the QPL license. Starting with CGAL 4.0, released in 2012, CGAL is distributed under the GPL version 3. it is managed by a thirteen-member editorial board, with an additional 30 developers and reviewers. The project started in 1996 as the pooling of the previous efforts of several project participants:PlaGeo and SpaGeo from Utrecht University, LEDA of the Max-Planck-Institute for Informatics and C++GAL of INRIA Sophia Antipolis. The LEDA library encompasses a broader range of algorithms. A comparison of the two libraries is provided by Kettner and Näher. Three CGAL User workshops held in 2002, 2004, and 2008 highlighted research results related to CGAL, and many additional papers related to CGAL have appeared in other conferences, workshops, and journals.


Scope

The library covers the following topics: * Geometry kernels - basic geometric operations on geometric primitives *
Arithmetic Arithmetic () is an elementary part of mathematics that consists of the study of the properties of the traditional operations on numbers—addition, subtraction, multiplication, division, exponentiation, and extraction of roots. In the 19th c ...
and
algebra Algebra () is one of the areas of mathematics, broad areas of mathematics. Roughly speaking, algebra is the study of mathematical symbols and the rules for manipulating these symbols in formulas; it is a unifying thread of almost all of mathem ...
* Convex hull algorithms * Polygons and polyhedra * Polygon and polyhedron operations *
Arrangement In music, an arrangement is a musical adaptation of an existing composition. Differences from the original composition may include reharmonization, melodic paraphrasing, orchestration, or formal development. Arranging differs from orchestr ...
s * Point set triangulations * Delaunay triangulations * Voronoi diagrams * Mesh generation * Geometry processing * Search structures ( ''k''-d tree) * Shape analysis, fitting, and distances *
Interpolation In the mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points. In engineering and science, one often has ...
*
Kinetic data structures Kinetic (Ancient Greek: κίνησις “kinesis”, movement or to move) may refer to: * Kinetic theory, describing a gas as particles in random motion * Kinetic energy, the energy of an object that it possesses due to its motion Art and enter ...


Platforms

The library is supported on a number of platforms:CGAL Supported Platforms
/ref> * Microsoft Windows ( GNU G++, Microsoft Visual C++, Intel C++ Compiler) * GNU g++ ( Solaris,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
Mac OS Two major famlies of Mac operating systems were developed by Apple Inc. In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded " ...
) *
Clang Clang is a compiler front end for the C, C++, Objective-C, and Objective-C++ programming languages, as well as the OpenMP, OpenCL, RenderScript, CUDA, and HIP frameworks. It acts as a drop-in replacement for the GNU Compiler Collection ...
The CGAL library depends on the
Boost libraries Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It co ...
, and several CGAL packages on the Eigen C++ library.


See also

*
OPEN CASCADE Open Cascade is an Information Technology Company of Capgemini,. Open Cascade provides services in the domain of scientific and technical computing and simulation tools. Open Cascade is primarily known to public for its Open Source platforms th ...
* OpenSCAD (uses CGAL)


References

{{Reflist


External links


CGAL Homepage
Geometric algorithms C++ libraries Python (programming language) libraries Free computer libraries Max Planck Institute for Informatics