CGAL 5.4.2 - Weights
|
#include <CGAL/Weights/mean_value_weights.h>
This weight is computed as \(w = \pm 2 \sqrt{\frac{2 (d_1 d_2 - D)}{(d d_1 + D_1)(d d_2 + D_2)}}\) with notations shown in the figure below and dot products
\(D_1 = (p_0 - q) \cdot (p_1 - q)\), \(D_2 = (p_1 - q) \cdot (p_2 - q)\), and \(D = (p_0 - q) \cdot (p_2 - q)\).
The \(\pm\) sign is a sign of the weight that depends on the configuration.
Here, q
is a query point and the points p0
, p1
, and p2
are its neighbors.
This weight supports only planar configurations (see more in section about Coplanarity) while alternative formulations are explained in Implementation.
Alternative Formulations
GeomTraits | a model of AnalyticWeightTraits_2 for 2D points; a model of AnalyticWeightTraits_3 for 3D points |
Functions | |
template<typename GeomTraits > | |
GeomTraits::FT | CGAL::Weights::mean_value_weight (const typename GeomTraits::Point_2 &p0, const typename GeomTraits::Point_2 &p1, const typename GeomTraits::Point_2 &p2, const typename GeomTraits::Point_2 &q, const GeomTraits &traits) |
computes the mean value weight in 2D at q using the points p0 , p1 , and p2 , given a traits class traits with geometric objects, predicates, and constructions. | |
template<typename K > | |
K::FT | CGAL::Weights::mean_value_weight (const CGAL::Point_2< K > &p0, const CGAL::Point_2< K > &p1, const CGAL::Point_2< K > &p2, const CGAL::Point_2< K > &q) |
computes the mean value weight in 2D at q using the points p0 , p1 , and p2 which are parameterized by a Kernel K. | |