mirror of https://github.com/CGAL/cgal
fix up grouping in pca
This commit is contained in:
parent
b26220959d
commit
0c30375322
|
|
@ -1,24 +1,26 @@
|
|||
namespace CGAL {
|
||||
|
||||
/*!
|
||||
\defgroup PkgPrincipalComponentAnalysisDBary barycenter
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the barycenter of a non-empty set of 2D weighted points.
|
||||
|
||||
The function `barycenter` computes the barycenter (weighted center of
|
||||
mass) of a set of 2D or 3D weighted points. The weight associated to
|
||||
each point is specified using a `std::pair` storing the point and its
|
||||
weight.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
There is a set of overloaded `barycenter` functions for 2D and 3D
|
||||
weighted points. The user can also optionally pass an explicit kernel,
|
||||
in case the default, based on `Kernel_traits` is not sufficient. The
|
||||
dimension is also deduced automatically.
|
||||
|
||||
\sa `CGAL::centroid`
|
||||
*/
|
||||
/// @{
|
||||
|
||||
|
||||
`K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type::first_type>::Kernel`.
|
||||
/*!
|
||||
computes the barycenter of a non-empty set of 2D weighted points.
|
||||
`K` is `Kernel_traits<std::iterator_traits<InputIterator>::value_type::first_type>::Kernel`.
|
||||
The value type must be `std::pair<K::Point_2, K::FT>`.
|
||||
|
||||
\pre first != beyond, and the sum of the weights is non-zero.
|
||||
|
|
@ -28,20 +30,7 @@ K::Point_2
|
|||
barycenter(InputIterator first, InputIterator beyond);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the barycenter of a non-empty set of 2D weighted points.
|
||||
|
||||
The function `barycenter` computes the barycenter (weighted center of
|
||||
mass) of a set of 2D or 3D weighted points. The weight associated to
|
||||
each point is specified using a `std::pair` storing the point and its
|
||||
weight.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
|
||||
\sa `CGAL::centroid`
|
||||
computes the barycenter of a non-empty set of 2D weighted points.
|
||||
|
||||
The value type must be `std::pair<K::Point_2, K::FT>`.
|
||||
|
||||
|
|
@ -52,24 +41,9 @@ K::Point_2
|
|||
barycenter(InputIterator first, InputIterator beyond, const K & k);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
computes the barycenter of a non-empty set of 3D weighted points.
|
||||
|
||||
\brief computes the barycenter of a non-empty set of 3D weighted points.
|
||||
|
||||
The function `barycenter` computes the barycenter (weighted center of
|
||||
mass) of a set of 2D or 3D weighted points. The weight associated to
|
||||
each point is specified using a `std::pair` storing the point and its
|
||||
weight.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
|
||||
\sa `CGAL::centroid`
|
||||
|
||||
|
||||
`K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type::first_type>::Kernel`.
|
||||
`K` is `Kernel_traits<std::iterator_traits<InputIterator>::value_type::first_type>::Kernel`.
|
||||
The value type must be `std::pair<K::Point_3, K::FT>`.
|
||||
|
||||
\pre first != beyond, and the sum of the weights is non-zero.
|
||||
|
|
@ -79,20 +53,7 @@ K::Point_3
|
|||
barycenter(InputIterator first, InputIterator beyond);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the barycenter of a non-empty set of 3D weighted points.
|
||||
|
||||
The function `barycenter` computes the barycenter (weighted center of
|
||||
mass) of a set of 2D or 3D weighted points. The weight associated to
|
||||
each point is specified using a `std::pair` storing the point and its
|
||||
weight.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
|
||||
\sa `CGAL::centroid`
|
||||
computes the barycenter of a non-empty set of 3D weighted points.
|
||||
|
||||
The value type must be `std::pair<K::Point_3, K::FT>`.
|
||||
|
||||
|
|
@ -102,5 +63,6 @@ template < typename InputIterator, typename K >
|
|||
K::Point_3
|
||||
barycenter(InputIterator first, InputIterator beyond, const K & k);
|
||||
|
||||
/// @}
|
||||
} /* namespace CGAL */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,23 @@
|
|||
namespace CGAL {
|
||||
|
||||
/*!
|
||||
\defgroup PkgPrincipalComponentAnalysisDbb bounding_box
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
computes the bounding box of a non-empty set of 2D points.
|
||||
|
||||
The function `bounding_box` computes the axis-aligned bounding box of
|
||||
a set of 2D or 3D points. The bounding box is returned either as an
|
||||
iso rectangle in 2D or as an iso cuboid in 3D, the type being deduced
|
||||
automatically from the value type of the iterator range.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
There is a set of overloaded bounding_box functions for 2D and 3D
|
||||
points. The user can also optionally pass an explicit kernel, in case
|
||||
the default, based on `Kernel_traits` is not sufficient. The dimension
|
||||
is also deduced automatically.
|
||||
*/
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
computes the bounding box of a non-empty set of 2D points.
|
||||
|
||||
`K` is `Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
The value type must be `K::Point_2`.
|
||||
|
|
@ -24,20 +29,8 @@ K::Iso_rectangle_2
|
|||
bounding_box(InputIterator first, InputIterator beyond);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
computes the bounding box of a non-empty set of 2D points.
|
||||
|
||||
The function `bounding_box` computes the axis-aligned bounding box of
|
||||
a set of 2D or 3D points. The bounding box is returned either as an
|
||||
iso rectangle in 2D or as an iso cuboid in 3D, the type being deduced
|
||||
automatically from the value type of the iterator range.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default, based on `Kernel_traits` is not sufficient. The dimension is
|
||||
also deduced automatically.
|
||||
|
||||
|
||||
The value type must be `K::Point_2`.
|
||||
\pre first != beyond.
|
||||
*/
|
||||
|
|
@ -46,22 +39,11 @@ K::Iso_rectangle_2
|
|||
bounding_box(InputIterator first, InputIterator beyond, const K & k);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the bounding box of a non-empty set of 3D points.
|
||||
|
||||
The function `bounding_box` computes the axis-aligned bounding box of
|
||||
a set of 2D or 3D points. The bounding box is returned either as an
|
||||
iso rectangle in 2D or as an iso cuboid in 3D, the type being deduced
|
||||
automatically from the value type of the iterator range.
|
||||
|
||||
There is a set of overloaded `bounding_box` functions for 2D and 3D
|
||||
points. The user can also optionally pass an explicit kernel, in case
|
||||
the default, based on `Kernel_traits` is not sufficient. The dimension
|
||||
is also deduced automatically.
|
||||
computes the bounding box of a non-empty set of 3D points.
|
||||
|
||||
`K` is `Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
The value type must be `K::Point_3`.
|
||||
|
||||
\pre first != beyond.
|
||||
*/
|
||||
template < typename InputIterator >
|
||||
|
|
@ -69,20 +51,7 @@ K::Iso_cuboid_3
|
|||
bounding_box(InputIterator first, InputIterator beyond);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the bounding box of a non-empty set of 3D points.
|
||||
|
||||
The function `bounding_box` computes the axis-aligned bounding box of
|
||||
a set of 2D or 3D points. The bounding box is returned either as an
|
||||
iso rectangle in 2D or as an iso cuboid in 3D, the type being deduced
|
||||
automatically from the value type of the iterator range.
|
||||
|
||||
There is a set of overloaded `bounding_box` functions for 2D and 3D
|
||||
points. The user can also optionally pass an explicit kernel, in case
|
||||
the default, based on `Kernel_traits` is not sufficient. The dimension
|
||||
is also deduced automatically.
|
||||
|
||||
computes the bounding box of a non-empty set of 3D points.
|
||||
The value type must be `K::Point_3`.
|
||||
\pre first != beyond.
|
||||
*/
|
||||
|
|
@ -90,5 +59,7 @@ template < typename InputIterator, typename K >
|
|||
K::Iso_cuboid_3
|
||||
bounding_box(InputIterator first, InputIterator beyond, const K & k);
|
||||
|
||||
/// @}
|
||||
|
||||
} /* namespace CGAL */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
namespace CGAL {
|
||||
|
||||
/*!
|
||||
\defgroup PkgPrincipalComponentAnalysisDCentroid centroid
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the centroid of a non-empty set of 2D objects. The tag
|
||||
is used to specify the dimension to be considered from the
|
||||
objects. `K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
|
||||
The function `centroid` computes the (uniform) center of mass of a set
|
||||
of 2D or 3D bounded objects. In 2D these objects include points,
|
||||
segments, triangles, iso rectangles, circles and disks. In 3D these
|
||||
|
|
@ -25,7 +21,15 @@ computes the centroid of the tetrahedron edges (3D segments) and
|
|||
specifying a dimension 2 computes the centroid of the tetrahedron
|
||||
facets (3D triangles).
|
||||
|
||||
\sa `CGAL::barycenter`
|
||||
\sa \ref barycenter
|
||||
*/
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
computes the centroid of a non-empty set of 2D objects. The tag
|
||||
is used to specify the dimension to be considered from the
|
||||
objects. `K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
|
||||
The value type must be either `K::Point_2`, `K::Segment_2`,
|
||||
`K::Triangle_2`, `K::Rectangle_2` or `K::Circle_2`. To fit a set of
|
||||
|
|
@ -40,32 +44,11 @@ K::Point_2
|
|||
centroid(InputIterator first, InputIterator beyond, const Tag& t);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the centroid of a non-empty set of 2D objects. The tag
|
||||
computes the centroid of a non-empty set of 2D objects. The tag
|
||||
is used to specify the dimension to be considered from the
|
||||
objects. `K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
|
||||
The function `centroid` computes the (uniform) center of mass of a set
|
||||
of 2D or 3D bounded objects. In 2D these objects include points,
|
||||
segments, triangles, iso rectangles, circles and disks. In 3D these
|
||||
objects include points, segments, triangles, iso cuboids, spheres,
|
||||
balls and tetrahedra.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default based on `Kernel_traits` is not sufficient. The default
|
||||
dimension tag is deduced automatically, although the user can pass a
|
||||
`tag` specifying the dimension of the objects to be considered for the
|
||||
centroid computation. For example, the default dimension of a
|
||||
tetrahedron is 3, but specifying a dimension 0 computes the centroid
|
||||
of the tetrahedron vertices (3D points), specifying a dimension 1
|
||||
computes the centroid of the tetrahedron edges (3D segments) and
|
||||
specifying a dimension 2 computes the centroid of the tetrahedron
|
||||
facets (3D triangles).
|
||||
|
||||
\sa `CGAL::barycenter`
|
||||
|
||||
The value type must be either `K::Point_2`, `K::Segment_2`,
|
||||
`K::Triangle_2`, `K::Rectangle_2` or `K::Circle_2`. To fit a set of
|
||||
disks the user must call the function with value type `K::Circle_2`
|
||||
|
|
@ -79,32 +62,12 @@ K::Point_2
|
|||
centroid(InputIterator first, InputIterator beyond, const K & k, const Tag& t);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the centroid of a non-empty set of 3D objects. The tag
|
||||
computes the centroid of a non-empty set of 3D objects. The tag
|
||||
is used to specify the dimension to be considered from the
|
||||
objects. `K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
|
||||
The function `centroid` computes the (uniform) center of mass of a set
|
||||
of 2D or 3D bounded objects. In 2D these objects include points,
|
||||
segments, triangles, iso rectangles, circles and disks. In 3D these
|
||||
objects include points, segments, triangles, iso cuboids, spheres,
|
||||
balls and tetrahedra.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the
|
||||
default based on `Kernel_traits` is not sufficient. The default
|
||||
dimension tag is deduced automatically, although the user can pass a
|
||||
`tag` specifying the dimension of the objects to be considered for the
|
||||
centroid computation. For example, the default dimension of a
|
||||
tetrahedron is 3, but specifying a dimension 0 computes the centroid
|
||||
of the tetrahedron vertices (3D points), specifying a dimension 1
|
||||
computes the centroid of the tetrahedron edges (3D segments) and
|
||||
specifying a dimension 2 computes the centroid of the tetrahedron
|
||||
facets (3D triangles).
|
||||
|
||||
\sa `CGAL::barycenter`
|
||||
|
||||
The value type must be either `K::Point_3`, `K::Segment_3`,
|
||||
`Triangle_3`, `Cuboid_3`, `Sphere_3` or `Tetrahedron_3`. To fit a set
|
||||
of balls the user must call the function with value type `K::Sphere_3`
|
||||
|
|
@ -118,19 +81,11 @@ K::Point_3
|
|||
centroid(InputIterator first, InputIterator beyond, const Tag& t);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the centroid of a non-empty set of 3D objects. The tag
|
||||
computes the centroid of a non-empty set of 3D objects. The tag
|
||||
is used to specify the dimension to be considered from the
|
||||
objects. `K` is
|
||||
`Kernel_traits<std::iterator_traits<InputIterator>::value_type>::Kernel`.
|
||||
|
||||
The function `centroid` computes the (uniform) center of mass of a set of 2D or 3D bounded objects. In 2D these objects include points, segments, triangles, iso rectangles, circles and disks. In 3D these objects include points, segments, triangles, iso cuboids, spheres, balls and tetrahedra.
|
||||
|
||||
The user can also optionally pass an explicit kernel, in case the default based on `Kernel_traits` is not sufficient. The default dimension tag is deduced automatically, although the user can pass a `tag` specifying the dimension of the objects to be considered for the centroid computation. For example, the default dimension of a tetrahedron is 3, but specifying a dimension 0 computes the centroid of the tetrahedron vertices (3D points), specifying a dimension 1 computes the centroid of the tetrahedron edges (3D segments) and specifying a dimension 2 computes the centroid of the tetrahedron facets (3D triangles).
|
||||
|
||||
\sa `CGAL::barycenter`
|
||||
|
||||
The value type must be either `K::Point_3`, `K::Segment_3`,
|
||||
`Triangle_3`, `Cuboid_3`, `Sphere_3` or `Tetrahedron_3`. To fit a set
|
||||
of balls the user must call the function with value type `K::Sphere_3`
|
||||
|
|
@ -143,5 +98,7 @@ template < typename InputIterator, typename K, typename Tag >
|
|||
K::Point_3
|
||||
centroid(InputIterator first, InputIterator beyond, const K & k, const Tag& t);
|
||||
|
||||
/// @}
|
||||
|
||||
} /* namespace CGAL */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,13 @@
|
|||
namespace CGAL {
|
||||
|
||||
/*!
|
||||
\defgroup PkgPrincipalComponentAnalysisDLLSF3 linear_least_square_fitting_3
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the best fitting 3D line of a 3D object set in the
|
||||
range [`first`,`beyond`). The value returned is a fitting quality
|
||||
between \f$ 0\f$ and \f$ 1\f$, where \f$ 0\f$ means that the variance
|
||||
is the same along any line contained within the best fitting plane,
|
||||
and \f$ 1\f$ means that the variance is null orthogonally to the best
|
||||
fitting line (hence the fit is perfect).
|
||||
|
||||
Function `linear_least_squares_fitting_3` computes the best fitting 3D
|
||||
line or plane (in the least squares sense) of a set of 3D objects such
|
||||
as points, segments, triangles, spheres, balls, cuboids or tetrahedra.
|
||||
The function `linear_least_squares_fitting_3` computes the best
|
||||
fitting 3D line or plane (in the least squares sense) of a set of 3D
|
||||
objects such as points, segments, triangles, spheres, balls, cuboids
|
||||
or tetrahedra.
|
||||
|
||||
The best fitting linear sub-space (here line or plane) minimizes the
|
||||
sum of squared distances from all points comprising these objects to
|
||||
|
|
@ -41,6 +36,17 @@ smallest eigenvalue is different from the two others, otherwise all
|
|||
planes going through the best fitting line share the same fitting
|
||||
property.
|
||||
|
||||
*/
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
\brief computes the best fitting 3D line of a 3D object set in the
|
||||
range [`first`,`beyond`). The value returned is a fitting quality
|
||||
between \f$ 0\f$ and \f$ 1\f$, where \f$ 0\f$ means that the variance
|
||||
is the same along any line contained within the best fitting plane,
|
||||
and \f$ 1\f$ means that the variance is null orthogonally to the best
|
||||
fitting line (hence the fit is perfect).
|
||||
|
||||
The tag `tag` identifies the dimension to be considered from the
|
||||
objects. For point sets it should be 0. For segment sets it could be 1
|
||||
or 0 according to whether one wants to fit the entire segments or just
|
||||
|
|
@ -83,8 +89,6 @@ const Tag& tag,
|
|||
const K& k);
|
||||
|
||||
/*!
|
||||
\ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
\brief computes the best fitting 3D plane of a 3D object set in the
|
||||
range [`first`,`beyond`). The value returned is a fitting quality
|
||||
between \f$ 0\f$ and \f$ 1\f$, where \f$ 0\f$ means that the variance
|
||||
|
|
@ -120,5 +124,7 @@ typename K::Point_3& centroid,
|
|||
const Tag& tag,
|
||||
const K& k);
|
||||
|
||||
/// @}
|
||||
|
||||
} /* namespace CGAL */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/// \defgroup PkgPrincipalComponentAnalysisD Principal Component Analysis
|
||||
/// \defgroup PkgPrincipalComponentAnalysisDConcepts Concepts
|
||||
/// \ingroup PkgPrincipalComponentAnalysisD
|
||||
|
||||
/*!
|
||||
\addtogroup PkgPrincipalComponentAnalysisD
|
||||
\todo check generated documentation
|
||||
|
|
@ -10,7 +9,7 @@
|
|||
\PkgDesc{This package provides functions to compute global information about the shape of a set of 2D or 3D objects. It provides the computation of axis-aligned bounding boxes for point sets, and barycenters of weighted point sets. In addition, it provides computation of centroids (center of mass) and linear least squares fitting for point sets as well as for sets of other bounded objects. More specifically, it is possible to fit 2D lines to 2D segments, circles, disks, iso rectangles and triangles, as well as to fit 3D lines or 3D planes to 3D segments, triangles, iso cuboids, tetrahedra, spheres and balls. The common interface to these functions takes an iterator range of objects.}
|
||||
\PkgSince{3.2}
|
||||
\cgalbib{cgal:ap-pcad}
|
||||
\license{ \ref licensesGPL "GPL" }
|
||||
\license{\ref licensesGPL "GPL"}
|
||||
\PkgDescriptionEnd
|
||||
|
||||
This \cgal component provides functions to compute global information
|
||||
|
|
|
|||
Loading…
Reference in New Issue