Hemisphärische Kugelflächenfunktionen




Kugelflächenfunktionen sind mathematische Funktionen, die auf der Oberfläche einer Kugel definiert sind. Sie spielen eine wichtige Rolle in der Lösung von partiellen Differentialgleichungen. Die Kugelflächenfunktionen beschreiben die räumliche Verteilung von Strahlung, Schall oder elektrischen Feldern in einer kugelförmigen Umgebung. So werden z.B. Kugelflächenfunktionen verwendet, um die Verteilung von Gravitations- oder Magnetfeldern auf der Erde zu beschreiben.

Ähnlich der diskreten Fouriertransformation gibt es auch für die Kugelflächenfunktionen einen schnellen Algorithmus, bekannt als Fast Spherical Harmonic Transform (FSHT). Dieser Algorithmus ermöglicht die effiziente Berechnung der Kugelflächenkoeffizienten aus den Daten einer sphärischen Funktion.

Basisfunktionen

Gautron [1] stellt eine Basis aus Kugelflächenfunktionen für die Hemisphäre vor. Durch die Transformation $\theta \rightarrow 2\,\cos(\theta)-1$, welche das Intervall $[0,\pi/2]$ nach $[-1,1]$ abbildet, können Kugelflächenfunktionen auf der Halbkugel erklärt werden.

Hemisphärische Kugelflächenfunktionen: Definitionsbereich
Definitionsbereich Halbkugel

Seien $l \in \mathbb{N}$, $m \in \mathbb{Z}$ mit $|m| \leq l$, $\phi \in [0,2\pi)$ der Azimutwinkel und $\theta \in [0, \pi/2]$ der Polarwinkel.
$$
H_l^m: \, [0, \pi/2]\times [0,2\pi) \rightarrow \mathbb{R} , \quad H_l^m(\theta, \phi) := \begin{cases}
\sqrt{2} \, K_l^m \, \cos( m\, \phi) \, \widetilde{P}_l^m( \cos \theta ) & \quad \text{für } m > 0 \\
\sqrt{2} \, K_l^m \, \sin( |m| \, \phi) \, \widetilde{P}_l^{|m|}( \cos \theta ) & \quad \text{für } m < 0 \\ K_l^0 \, \widetilde{P}_l^0( \cos \theta ) & \quad m = 0 \\ \end{cases}
$$
wobei
$$
\widetilde{P}_l^m( x ) = P_l^m(2\, x-1), \quad x\in [0,1]
$$
die geshifteten assoziierte Legendre-Funktionen, (siehe auch hier) und
$$
K_l^m= \sqrt{ \frac{(2\,l+1)}{ 2 \, \pi } \frac{(l-|m|)!}{(l+|m|)!} }
$$ Normierungsfaktoren sind. Insbesondere ist
$$
K_l^0= \sqrt{ \frac{2\,l+1}{ 2 \, \pi } }, \qquad K_l^m = K_l^{-m}.
$$ Die Funktionen $H_l^m$ werden als hemispherical harmonics, kurz HSH, bezeichnet.

  • Die Ansatzfunktionen werden durch das Paar $(l,m)$ indiziert, wobei $l$ den Grad und $m$ die Ordnung angibt.
  • $$
    \mathcal{I}_{\omega}(n) := \{ (l,m) \, : \, l \in \mathbb{N} , m\in \mathbb{Z}, \text{ mit } l \leq n, \; |m|\leq n \} .
    $$
    Ein Ansatz (wie hier) über die ersten $n+1$ Bänder enthält insgesamt $(n+1)^2$ Basis­funktionen $H_l^m$, d.h. $|\mathcal{I}_{\omega}(n)| = (n+1)^2.$

  • Die HSHs sind othonormal: $$ \newcommand{\Spro}[2]{\langle {#1},{#2} \rangle} \Spro{H_l^m}{H_k^n}_{\mathcal{H}^2}:= \int_{\mathcal{H}^2} H_l^m(\theta, \phi) \, H_k^n(\theta, \phi) d\omega = \delta_{lk}\delta_{mn} .$$ Dabei bezeichnet $\mathcal{H}^2 := [0, \pi/2]\times [0,2\pi] $ die Halbkugel.
Reihenentwicklung

Sei $f: \mathcal{H}^2 \rightarrow \mathbb{R}$ eine quadratintegrierbare Funktion. Dann gilt
$$
f(\theta, \phi) = \sum_{l=0}^\infty \sum_{m=-l}^l f_{l}^m \, H_l^m(\theta, \phi)
$$
mit den Entwicklungskoeffizienten
$$
f_{l}^m = \Spro{f}{H_l^m}_{\mathcal{H}^2} = \int_0^{\pi/2} \int_0^{2\, \pi} f(\theta,\phi) \, H_l^m(\theta, \phi) \, d\phi \,\sin(\theta) \, d\theta .
$$

Es kann gezeigt werden, dass
$$
\sum_{l=0}^n \sum_{m=-l}^l f_l^m \, H_l^m(\theta, \phi) = \sum_{m=-n}^n \sum_{l=-n}^n c_l^m \, e^{i \, k \theta} \, e^{i \, m \phi}
$$
gilt. Das bedeutet, dass im Fall äquidistanter Richtungen die Synthese mithilfe einer 2D-FFT berechnet werden kann.

Plots

Nachfolgend Plots zu den ersten 5 Bändern.

HSHPlots

Hier ein entsprechendes SageMath-Script zum Plot der Basisfunktionen.

1.
Gautron, P., Krivanek, J., Pattanaik, S., Bouatouch, K.: A Novel Hemispherical Basis for Accurate and Efficient Rendering, http://diglib.eg.org/handle/10.2312/EGWR.EGSR04.321-330, (2004) [Source]