Пример #1
0
/*******************************************************************************
 ** Compute Y_lm (spherical harmonics)
 *******************************************************************************/
static void Ylm(int l, int m, double theta, double phi, double *realYlm, double *imgYlm)
{
    double factor, arg, val;


    val = Plm(l, m, cos(theta));
    factor = ((2.0 * (double)l + 1.0) * factorials[l - m]) / (4.0 * CONST_PI * factorials[l + m]);
    factor = sqrt(factor);

    arg = (double) m * phi;
    *realYlm = factor * val * cos(arg);
    *imgYlm = factor * val *  sin(arg);
}
Пример #2
0
//
// Zwraca wartosc rzeczywistej harmoniki sferycznej w punkcie (theta, phi) w sferycznym ukladzie wspolrzednych.
//
double ShReal::Get(int l, int m, double theta, double phi) const
{
	return Plm(l, m, theta) * Qm(m, phi);
}