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

## Definition

Refines:
AdaptableFunctor (with two arguments)
CGAL::Weighted_point_2<Kernel>
ComputePowerProduct_3

## Operations

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...

## ◆ 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.