CGAL 4.12.1 - 2D and 3D Linear Geometry Kernel
Kernel::ComputePowerProduct_3 Concept Reference

## Definition

Refines:
AdaptableFunctor (with two arguments)
CGAL::Weighted_point_3<Kernel>
ComputePowerProduct_2

## Operations

A model of this concept must provide:

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

## ◆ operator()()

 Kernel::FT Kernel::ComputePowerProduct_3::operator() ( const Kernel::Weighted_point_3 & pw, const Kernel::Weighted_point_3 & qw ) const

returns the power product of pw and qw.

Let $${p}^{(w)}=(p,w_p), p\in\mathbb{R}^3, w_p\in\mathbb{R}$$ and $${q}^{(w)}=(q,w_q), q\in\mathbb{R}^3, 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$$.

Four weighted points have, in 3D, a unique common orthogonal weighted point called the power sphere. The weighted point orthogonal to three weighted points in the plane defined by these three points is 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.