CGAL 5.1.3 - 2D and 3D Linear Geometry Kernel
Kernel::ComputePowerProduct_2 Concept Reference



A model of this concept must provide:

Kernel::FT operator() (const Kernel::Weighted_point_2 &pw, const Kernel::Weighted_point_2 &qw) const
 returns the power product of pw and qw. More...

Member Function Documentation

◆ operator()()

Kernel::FT Kernel::ComputePowerProduct_2::operator() ( const Kernel::Weighted_point_2 pw,
const Kernel::Weighted_point_2 qw 
) const

returns the power product of pw and qw.

Let \( {p}^{(w)} = (p,w_p), p\in\mathbb{R}^2, w_p\in\mathbb{R}\) and \( {q}^{(w)}=(q,w_q), q\in\mathbb{R}^2, w_q\in\mathbb{R}\) be two weighted points.

The power product, also called power distance between \( {p}^{(w)}\) and \( {q}^{(w)}\) is defined as

\[ \Pi({p}^{(w)},{q}^{(w)}) = {\|{p-q}\|^2-w_p-w_q} \]

where \( \|{p-q}\|\) is the Euclidean distance between \( p\) and \( q\).

The weighted points \( {p}^{(w)}\) and \( {q}^{(w)}\) are said to be orthogonal iff \( \Pi{({p}^{(w)},{q}^{(w)})} = 0\).

Three weighted points have, in 2D, a unique common orthogonal weighted point called the power circle. The power segment will denote the weighted point orthogonal to two weighted points on the line defined by these two points.