/******************************************************************************* ** 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); }
// // 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); }