mirror of https://github.com/CGAL/cgal
84 lines
4.3 KiB
Plaintext
84 lines
4.3 KiB
Plaintext
/// \defgroup PkgAlphaShape2 2D Alpha Shapes Reference
|
|
/// \defgroup PkgAlphaShape2Concepts Concepts
|
|
/// \ingroup PkgAlphaShape2
|
|
|
|
/*!
|
|
\addtogroup PkgAlphaShape2
|
|
|
|
\cgalPkgDescriptionBegin{2D Alpha Shapes,PkgAlphaShape2Summary}
|
|
\cgalPkgPicture{alpha-detail.png}
|
|
\cgalPkgSummaryBegin
|
|
\cgalPkgAuthors{Tran Kai Frank Da}
|
|
\cgalPkgDesc{This package offers a data structure encoding the whole family of alpha-complexes related to a given 2D Delaunay or regular triangulation. In particular, the data structure allows to retrieve the alpha-complex for any alpha value, the whole spectrum of critical alpha values and a filtration on the triangulation faces (this filtration is based on the first alpha value for which each face is included on the alpha-complex).}
|
|
\cgalPkgManuals{Chapter_2D_Alpha_Shapes,PkgAlphaShape2}
|
|
\cgalPkgSummaryEnd
|
|
\cgalPkgShortInfoBegin
|
|
\cgalPkgSince{2.1}
|
|
\cgalPkgDependsOn{\ref PkgTriangulation2Summary}
|
|
\cgalPkgBib{cgal:d-as2}
|
|
\cgalPkgLicense{\ref licensesGPL "GPL"}
|
|
\cgalPkgDemo{2D Alpha Shapes,alpha_shapes_2.zip}
|
|
\cgalPkgShortInfoEnd
|
|
\cgalPkgDescriptionEnd
|
|
|
|
This chapter presents a framework for alpha shapes. The description is based on
|
|
the articles \cite em-tdas-94, \cite e-was-92. Alpha shapes are
|
|
the generalization of the convex hull of a point set. Let \f$ S\f$ be a finite set of
|
|
points in \f$ \R^d\f$, \f$ d = 2,3\f$ and \f$ \alpha\f$ a parameter with \f$ 0 \leq \alpha \leq
|
|
\infty\f$. For \f$ \alpha = \infty\f$, the \f$ \alpha\f$-shape is the convex hull of \f$ S\f$. As
|
|
\f$ \alpha\f$ decreases, the \f$ \alpha\f$-shape shrinks and develops cavities, as soon as
|
|
a sphere of radius \f$ \sqrt{\alpha}\f$ can be put inside.
|
|
Finally, for \f$ \alpha = 0\f$, the \f$ \alpha\f$-shape is the set \f$ S\f$ itself.
|
|
|
|
We distinguish two versions of alpha shapes, one is based on the Delaunay
|
|
triangulation and the other on its generalization, the regular triangulation,
|
|
replacing the natural distance by the power to weighted points. The metric used
|
|
determines an underlying triangulation of the alpha shape and thus, the version
|
|
computed.
|
|
The <I>basic alpha shape</I> (cf. \ref I1_SectClassicAS2D) is associated with the Delaunay triangulation
|
|
(cf. Section \ref Section_2D_Triangulations_Delaunay "Delaunay Triangulations").
|
|
The <I>weighted alpha shape</I> (cf. \ref I1_SectWeightedAS2D ) is associated with the regular triangulation
|
|
(cf. Section \ref Section_2D_Triangulations_Regular "Regular Triangulations").
|
|
|
|
There is a close connection between alpha shapes and the underlying
|
|
triangulations. More precisely, the \f$ \alpha\f$-complex of \f$ S\f$ is a
|
|
subcomplex of this triangulation of \f$ S\f$, containing the \f$ \alpha\f$-exposed
|
|
\f$ k\f$-simplices, \f$ 0 \leq k \leq d\f$. A simplex is \f$ \alpha\f$-exposed, if there is an
|
|
open disk (resp. ball) of radius \f$ \sqrt{\alpha}\f$ through the vertices of the
|
|
simplex that does not contain any other point of \f$ S\f$, for the metric used in
|
|
the computation of the underlying triangulation. The corresponding
|
|
\f$ \alpha\f$-shape is defined as the underlying interior space of the
|
|
\f$ \alpha\f$-complex.
|
|
|
|
In general, an \f$ \alpha\f$-complex is a non-connected and non-pure polytope, it
|
|
means, that one \f$ k\f$-simplex, \f$ 0 \leq k \leq d-1\f$ is not necessary adjacent to
|
|
a \f$ (k+1)\f$-simplex.
|
|
|
|
The \f$ \alpha\f$-shapes of \f$ S\f$ form a discrete family, even though they
|
|
are defined for all real numbers \f$ \alpha\f$ with \f$ 0 \leq \alpha
|
|
\leq \infty\f$. Thus, we can represent the entire family of \f$ \alpha\f$-shapes
|
|
of \f$ S\f$ by the underlying triangulation of \f$ S\f$. In this representation
|
|
each \f$ k\f$-simplex of the underlying triangulation is associated with an
|
|
interval that specifies for which values of \f$ \alpha\f$ the \f$ k\f$-simplex
|
|
belongs to the \f$ \alpha\f$-shape. Relying on this result, the family of
|
|
\f$ \alpha\f$-shapes can be computed efficiently and relatively
|
|
easily. Furthermore, we can select an appropriate \f$ \alpha\f$-shape from a
|
|
finite number of different \f$ \alpha\f$-shapes and corresponding
|
|
\f$ \alpha\f$-values.
|
|
|
|
\cgalClassifedRefPages
|
|
|
|
## Concepts ##
|
|
- `AlphaShapeTraits_2`
|
|
- `AlphaShapeFace_2`
|
|
- `AlphaShapeVertex_2`
|
|
|
|
## Classes ##
|
|
- `CGAL::Alpha_shape_2<Dt>`
|
|
- `CGAL::Weighted_alpha_shape_euclidean_traits_2<K>`
|
|
- `CGAL::Alpha_shape_vertex_base_2<AlphaShapeTraits_2>`
|
|
- `CGAL::Alpha_shape_face_base_2<AlphaShapeTraits_2, TriangulationFaceBase_2>`
|
|
|
|
*/
|
|
|