#include <legendre.h>
Static Public Member Functions | |
static double | AssociatedPolynomial (unsigned l, unsigned m, ScalarType cos_theta, ScalarType sin_theta) |
static double | AssociatedPolynomial (unsigned l, unsigned m, ScalarType x) |
static double | Polynomial (unsigned l, ScalarType x) |
Static Protected Member Functions | |
static double | legendre_next (unsigned l, unsigned m, ScalarType P_lm1, ScalarType P_lm2, ScalarType x) |
static ScalarType | legendre_next (unsigned l, ScalarType P_lm1, ScalarType P_lm2, ScalarType x) |
static double | legendre_P_l (unsigned l, ScalarType x) |
static double | legendre_P_l_m (unsigned l, unsigned m, ScalarType cos_theta, ScalarType sin_theta) |
static double | legendre_P_m_m (unsigned m, ScalarType sin_theta) |
static double | legendre_P_m_mplusone (unsigned m, ScalarType p_m_m, ScalarType x) |
Definition at line 38 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::AssociatedPolynomial | ( | unsigned | l, | |
unsigned | m, | |||
ScalarType | cos_theta, | |||
ScalarType | sin_theta | |||
) | [inline, static] |
Reimplemented in vcg::math::DynamicLegendre< ScalarType, MAX_L >, vcg::math::DynamicLegendre< double, MAX_BAND >, vcg::math::DynamicLegendre< ScalarType, MAX_BAND >, and vcg::math::DynamicLegendre< float, MAX_BAND >.
Definition at line 160 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::AssociatedPolynomial | ( | unsigned | l, | |
unsigned | m, | |||
ScalarType | x | |||
) | [inline, static] |
Reimplemented in vcg::math::DynamicLegendre< ScalarType, MAX_L >, vcg::math::DynamicLegendre< double, MAX_BAND >, vcg::math::DynamicLegendre< ScalarType, MAX_BAND >, and vcg::math::DynamicLegendre< float, MAX_BAND >.
Definition at line 154 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::legendre_next | ( | unsigned | l, | |
unsigned | m, | |||
ScalarType | P_lm1, | |||
ScalarType | P_lm2, | |||
ScalarType | x | |||
) | [inline, static, protected] |
Associated Legendre Polynomial three term Recurrence Relation. Raises the band index.
Definition at line 54 of file legendre.h.
static ScalarType vcg::math::Legendre< ScalarType >::legendre_next | ( | unsigned | l, | |
ScalarType | P_lm1, | |||
ScalarType | P_lm2, | |||
ScalarType | x | |||
) | [inline, static, protected] |
Legendre Polynomial three term Recurrence Relation
Definition at line 45 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::legendre_P_l | ( | unsigned | l, | |
ScalarType | x | |||
) | [inline, static, protected] |
Definition at line 99 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::legendre_P_l_m | ( | unsigned | l, | |
unsigned | m, | |||
ScalarType | cos_theta, | |||
ScalarType | sin_theta | |||
) | [inline, static, protected] |
Computes the Associated Legendre Polynomial for any given positive m and l, with m <= l and -1 <= x <= 1.
Definition at line 119 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::legendre_P_m_m | ( | unsigned | m, | |
ScalarType | sin_theta | |||
) | [inline, static, protected] |
Starting relation to compute P_m_m according to the formula:
pow(-1, m) * double_factorial(2 * m - 1) * pow(1 - x*x, abs(m)/2)
which becomes, if x = cos(theta) :
pow(-1, m) * double_factorial(2 * m - 1) * pow(sin(theta), abs(m)/2)
Definition at line 76 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::legendre_P_m_mplusone | ( | unsigned | m, | |
ScalarType | p_m_m, | |||
ScalarType | x | |||
) | [inline, static, protected] |
Recurrence relation to compute P_m_(m+1) given P_m_m at the same x
Definition at line 62 of file legendre.h.
static double vcg::math::Legendre< ScalarType >::Polynomial | ( | unsigned | l, | |
ScalarType | x | |||
) | [inline, static] |
Reimplemented in vcg::math::DynamicLegendre< ScalarType, MAX_L >, vcg::math::DynamicLegendre< double, MAX_BAND >, vcg::math::DynamicLegendre< ScalarType, MAX_BAND >, and vcg::math::DynamicLegendre< float, MAX_BAND >.
Definition at line 148 of file legendre.h.