CGAL 6.2 - Principal Component Analysis

Loading...
Searching...
No Matches
Functions
CGAL::barycenter()
Reference Manual

##

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.

See also
  `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.
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.

## Function Documentation

## ◆ 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
  Kernel
  CGAL::Kernel_traits

Template Parameters

  InputIterator | must have `std::pair<K::Point_2, K::FT>` or `std::pair<K::Point_3, K::FT> 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<K::Point_2, K::FT>` or `std::pair<K::Point_3, K::FT>` as value type.

Precondition
  first != beyond, and the sum of the weights is non-zero.