3D Alpha Shapes
Reference Manual

Tran Kai Frank Da, Sébastien Loriot, and Mariette Yvinec

Alpha shapes definition is based on an underlying triangulation that may be a Delaunay triangulation in case of basic alpha shapes or a regular triangulation (cf. 39.3) in case of weighted alpha shapes.

Let us consider the basic case with a Delaunay triangulation. We first define the alpha complex of the set of points S. The alpha complex is a subcomplex of the Delaunay triangulation. For a given value of α, the alpha complex includes all the simplices in the Delaunay triangulation which have an empty circumscribing sphere with squared radius equal or smaller than α. Here ``empty'' means that the open sphere do not include any points of S. The alpha shape is then simply the domain covered by the simplices of the alpha complex (see [EM94]).

In general, an alpha complex is a non-connected and non-pure complex. This means in particular that the alpha complex may have singular faces. For 0 k d-1, a k-simplex of the alpha complex is said to be singular if it is not a facet of a (k+1)-simplex of the complex

The alpha shapes of a set of points S form a discrete family, even though they are defined for all real numbers α. The entire family of alpha shapes can be represented through the underlying triangulation of S. In this representation each k-simplex of the underlying triangulation is associated with an interval that specifies for which values of α the k-simplex belongs to the alpha complex. Relying on this fact, the family of alpha shapes can be computed efficiently and relatively easily. Furthermore, we can select the optimal value of α to get an alpha shape including all data points and having less than a given number of connected components.

The definition is analog in the case of weighted alpha shapes. The input set is now a set of weighted points (which can be regarded as spheres) and the underlying triangulation is the regular triangulation of this set. Two spheres, or two weighted points , with centers C1, C2 and radii r1, r2 are said to be orthogonal iff C1C2 2 = r12 + r22 and suborthogonal iff C1C2 2 < r12 + r22. For a given value of α the weighted alpha complex is formed with the simplices of the regular triangulation triangulation such that there is a sphere orthogonal to the weighted points associated with the vertices of the simplex and suborthogonal to all the other input weighted points. Once again the alpha shape is then defined as the domain covered by a the alpha complex.

CGAL provides two versions to compute alpha shapes. The first one gives access to an explicit classification of all the simplices for a fixed alpha value. The second one gives access to the entire family of alpha shapes of a set of points. This latter version comes with two modes. In the general mode, the alpha shapes correspond strictly to the definition previously made. The regularized mode provides a regularized version of the alpha shapes corresponding to the domain covered by a regularized version of the alpha complex where singular faces are removed.

43.6   Classified Reference Pages

Concepts

AlphaShapeTraits_3
WeightedAlphaShapeTraits_3
AlphaShapeCell_3
AlphaShapeVertex_3
FixedAlphaShapeTraits_3
FixedWeightedAlphaShapeTraits_3
FixedAlphaShapeCell_3
FixedAlphaShapeVertex_3

Classes

CGAL::Alpha_status<NT>
CGAL::Alpha_shape_3<Dt,ExactAlphaComparisonTag>
CGAL::Alpha_shape_vertex_base_3<Traits,Vb>
CGAL::Alpha_shape_cell_base_3<Traits,Fb>

CGAL::Fixed_alpha_shape_3<Dt>
CGAL::Fixed_alpha_shape_vertex_base_3<Traits,Vb>
CGAL::Fixed_alpha_shape_cell_base_3<Traits,Fb>

43.7   Alphabetical List of Reference Pages

AlphaShapeCell_3
AlphaShapeTraits_3
AlphaShapeVertex_3
Alpha_shape_3<Dt,ExactAlphaComparisonTag>
Alpha_shape_cell_base_3<Traits,Fb,ExactAlphaComparisonTag,WeightedTag>
Alpha_shape_vertex_base_3<Traits,Vb,ExactAlphaComparisonTag,WeightedTag>
Alpha_status<NT>
FixedAlphaShapeCell_3
FixedAlphaShapeTraits_3
FixedAlphaShapeVertex_3
FixedWeightedAlphaShapeTraits_3
Fixed_alpha_shape_3<Dt>
Fixed_alpha_shape_cell_base_3<Traits,Fb>
Fixed_alpha_shape_vertex_base_3<Traits,Vb>
WeightedAlphaShapeTraits_3
Weighted_alpha_shape_euclidean_traits_3<K>