Convolution des harmoniques hémisphériques


10

Les harmoniques sphériques (SH) sont un moyen de représenter les fonctions sphériques à basse fréquence avec seulement une poignée de coefficients. Ils ont de belles propriétés mathématiques, par exemple une convolution avec une fonction de noyau h (x) (qui a une symétrie circulaire) peut être calculée comme

(h * f) ^ m_l = \ sqrt {\ frac {4 \ pi} {2l + 1}} h ^ 0_l f ^ m_l

Dans le cas d'une convolution avec un lobe cosinus pour le rang 3 SH, il en résulte une simple mise à l'échelle des bandes avec les facteurs

[\ pi, \ frac {2 \ pi} {3}, \ frac {\ pi} {4}]

Dans de nombreux cas, par exemple la lumière incidente pour un point donné sur une surface opaque, des informations sphériques complètes ne sont pas nécessaires, car la moitié de la sphère est nulle / indéfinie / inutilisée de toute façon. Ainsi, les harmoniques hémisphériques (HSH) sont nées.

Comment fonctionne la convolution avec un noyau arbitraire (avec symétrie circulaire) pour HSH? La convolution de SH peut-elle être prolongée ou y a-t-il un document qui détaille ces détails?


Vous écrivez «noyau arbitraire à symétrie circulaire»: cela ne signifie-t-il pas que vous n'avez en fait besoin que de la convolution avec la partie (hémisphérique) des harmoniques zonaux? Si votre axe de symétrie est différent, vous pouvez toujours l'utiliser en ajoutant des rotations avant et après la convolution zonale. Comment effectuer des rotations est décrit dans le document. L'intégration avec la partie zonale (m = 0) devrait être relativement facile. Cependant, comme avec les harmoniques sphériques, il ne sera pas résolu analytiquement pour les fonctions arbitraires. Des choses simples comme les lobes cosinus devraient fonctionner correctement (mais je n'ai pas encore essayé).
Wumpf

@Wumpf Vous avez raison, c'est à peu près ce que cela se résume. Pour SH, je mettrais simplement à l'échelle "chaque bande de f par le terme m = 0 correspondant de [fonction du noyau] h" (en citant les astuces SH stupides de Sloan). La question est, puis-je faire la même chose pour HSH?
David Kuri

Réponses:


3

Cette réponse tente de donner un bref aperçu de certains aspects importants. Étant donné que la définition HSH est assez complexe et que je n'ai pas pu trouver un aperçu de certaines fonctions pré-évaluées, je n'ai pas fourni d'exemples simplement parce que cela me prendrait trop de temps en ce moment.

Description du problème et force brute

Pour déterminer la convolution avec n'importe quel ensemble de fonctions de base et donc calculer les coefficients, nous devons généralement calculer l'intégrale sur le domaine (= sphère pour SH, hémisphère pour HSH). Tout ce que nous devons faire, pour représenter la fonction hémisphérique f , qui est définie sur les angles thêta ("haut / bas") et phi ("gauche / droite"), via un coefficient c pour les fonctions de base HSH H est le suivant:

\ int_0 ^ {2 \ pi} \ int_0 ^ {\ frac {2} {\ pi}} f (\ theta, \ phi) \ cdot H_l ^ m (\ theta, \ phi) \ cdot sin (\ theta) \ , \, \ mathrm {d} \ theta \ mathrm {d} \ phi

Le péché (thêta) est là parce que nous nous intégrons à la surface d'une (hémi-) sphère. Sur le plan conceptuel, la taille d'un morceau de zone qui provient du changement de phi est plus ou moins grande sur le thêta actuel. Plus à ce sujet ici

Si nous ne nous soucions pas trop de la précision ou du temps de calcul, nous pouvons résoudre ce problème simplement en échantillonnant: Générez des directions également réparties (!) Sur l'hémisphère, calculez le produit de f et H et faites la moyenne des résultats (si vous avez vraiment une répartition également vous n'avez pas besoin du péché (thêta) ).

Commencez avec une solution analytique

Bien sûr, nous aimerions avoir une solution analytique pour notre fonction, mais c'est là que les choses peuvent devenir très difficiles. Dans un premier temps, nous devrons peut-être convertir une fonction donnée sur les directions cartésiennes en coordonnées sphériques. Cette partie est toujours facile, il suffit de remplacer tous vos x, y et z comme suit:

(x, y, z) \ rightarrow (\ sin \ theta \ cos \ phi, \ sin \ theta \ sin \ phi, \ cos \ theta)

Notez que cela nous donne un système où l'axe z est le "haut" de l'hémisphère (thêta = 0) qui devrait être représenté par le HSH. Après cela, il sera peut-être déjà possible de tout insérer dans un système d'algèbre informatique et de résoudre l'équation. N'essayez pas de résoudre tous les m & l, mais essayez plutôt un coefficient à la fois, car il est peu probable qu'il existe une expression compacte qui les décrit tous à la fois. La définition de HSH est relativement complexe, ce qui rend très fastidieuse l'évaluation de ces fonctions. Dans cet article, les fonctions de base HSH d'ordre zéro et 1er sont mentionnées en coordonnées cartésiennes.

Remarques sur les rotations et les harmoniques zonales

Les fonctions qui sont symétriques en rotation autour de cet axe z sont de très bons candidats pour une dérivation analytique réussie, car elles n'affectent que les coefficients zonaux , qui sont tous des coefficients avec un indice m égal à zéro. Ceci est particulièrement utile pour les harmoniques sphériques plus générales où une formule simple existe qui permet de faire pivoter n'importe quelle représentation harmonique sphérique zonale dans une direction arbitraire, résultant en une représentation harmonique sphérique sans aucune perte de données (voir ici). Cela signifie que vous pouvez dériver des coefficients ZSH en supposant que votre "fonction radiale symétrique pointe vers z" et la faire pivoter ensuite dans la direction souhaitée. Cela fonctionne parfaitement par exemple avec diverses variations du lobe cosinus et vous donne également les facteurs que vous avez mentionnés dans la question.

Maintenant, la mauvaise nouvelle: pour HSH, toute rotation d'une fonction autour d'un autre axe que z est avec perte, car votre fonction "touchera" l'hémisphère inférieur non défini après la rotation. Par conséquent, il n'y a pas non plus de formule de rotation "semi-zonale à HSH". Au lieu de cela, il existe plusieurs façons de le faire avec différents inconvénients. Pour plus de détails, voir l' article et la présentation .


Soit dit en passant: tout cela est plus facile avec la base H , qui est également hémisphérique (mais à l'origine uniquement définie pour un nombre limité de bandes de fréquences).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.