 CGAL 5.1.3 - Principal Component Analysis

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.

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.

CGAL::centroid()
CGAL::barycenter() (Linear Kernel)

## Functions

template<typename InputIterator >
Deduced CGAL::barycenter (InputIterator first, InputIterator beyond)
computes the barycenter of a non-empty set of 2D or 3D weighted points. More...

template<typename InputIterator , typename K >
Deduced CGAL::barycenter (InputIterator first, InputIterator beyond, const K &k)
computes the barycenter of a non-empty set of 2D or 3D weighted points. More...

## ◆ barycenter() [1/2]

template<typename InputIterator >
 Deduced CGAL::barycenter ( InputIterator first, InputIterator beyond )

#include <CGAL/barycenter.h>

computes the barycenter of a non-empty set of 2D or 3D weighted points.

Returns
K::Point_2 or K::Point_3 depending on the dimension of the input values, where K is
CGAL::Kernel_traits<
std::iterator_traits<InputIterator>::value_type::first_type
>::Kernel
Template Parameters
 InputIterator must have std::pair or std::pair as value type.
Precondition
first != beyond, and the sum of the weights is non-zero.

## ◆ barycenter() [2/2]

template<typename InputIterator , typename K >
 Deduced CGAL::barycenter ( InputIterator first, InputIterator beyond, const K & k )

#include <CGAL/barycenter.h>

computes the barycenter of a non-empty set of 2D or 3D weighted points.

Returns
K::Point_2 or K::Point_3 depending on the dimension of the input values.
Template Parameters
 InputIterator must have std::pair or std::pair as value type.
Precondition
first != beyond, and the sum of the weights is non-zero.