CGAL 5.1  2D and 3D Linear Geometry Kernel

AdaptableFunctor
(with two arguments)Operations  
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...  
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)}) = {\{pq}\^2w_pw_q} \]
where \( \{pq}\\) 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.