Convolução de Harmônicos Hemisféricos


10

Os harmônicos esféricos (SH) são uma maneira de representar funções esféricas de baixa frequência com apenas alguns coeficientes. Eles têm boas propriedades matemáticas, por exemplo, uma convolução com uma função do kernel h (x) (que possui simetria circular) pode ser calculada como

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

No caso de uma convolução com um lobo cosseno para classificação SH 3, isso resulta em um simples dimensionamento das bandas com os fatores

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

Em muitos casos, por exemplo, luz incidente para um determinado ponto em uma superfície opaca, não são necessárias informações esféricas completas, pois metade da esfera é zero / indefinida / não utilizada de qualquer maneira. Assim, nasceram os Harmônicos Hemisféricos (HSH).

Como a convolução com um núcleo arbitrário (com simetria circular) funciona para o HSH? A convolução da SH pode ser prorrogada ou há algum artigo que entre em detalhes sobre isso?


Você escreve "núcleo arbitrário com simetria circular": isso não significa que você realmente só precisa da convolução com a parte Harmônica Zonal (Hemisférica)? Se o seu eixo de simetria for diferente, você ainda poderá usá-lo adicionando rotações antes e depois da convolução zonal. Como executar rotações é descrito no documento. A integração com a parte Zonal (m = 0) deve ser comparativamente fácil. No entanto, como com Harmônicas esféricas, não será analiticamente solucionável para funções arbitrárias. Coisas simples como lóbulos de cosseno devem funcionar bem (ainda não tentei).
Wumpf 27/09/2015

@ Wumpf Você está certo, isso é basicamente o que se resume. Para SH, eu escalaria "cada banda de f pelo termo m = 0 correspondente de [função do kernel] h" (citando os Stupid SH Tricks de Sloan). A pergunta é: posso fazer o mesmo com o HSH?
David Kuri

Respostas:


3

Esta resposta tenta fornecer uma breve visão geral sobre alguns aspectos importantes. Como a definição de HSH é bastante complexa e não consegui encontrar uma visão geral de algumas funções pré-avaliadas, não forneci exemplos simplesmente porque levaria muito tempo no momento.

Descrição do Problema e Força Bruta

Para determinar a convolução com qualquer conjunto de funções básicas e, assim, calcular os coeficientes, geralmente precisamos calcular a integral sobre o domínio (= esfera para SH, hemisfério para HSH). Tudo o que precisamos fazer para representar a função hemisférica f , definida sobre os ângulos teta ("para cima / baixo") e phi ("esquerda / direita"), através de um coeficiente c para as funções de base HSH H, é o seguinte:

\ 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

O pecado (teta) existe porque nos integramos sobre a superfície de uma (hemi) esfera. Conceitualmente, o tamanho de um pedaço de área resultante da mudança de phi é maior ou menor no theta atual. Mais sobre isso aqui

Se não nos importamos muito com precisão ou tempo de computação, podemos resolver isso simplesmente por amostragem: Gere instruções igualmente distribuídas (!) No hemisfério, calcule o produto de f e H e calcule a média dos resultados (se você tiver realmente distribuído igualmente pontos que você não precisa do pecado (teta) ).

Introdução a uma solução analítica

É claro que gostaríamos de ter uma solução analítica para nossa função, mas é aqui que as coisas podem ficar muito difíceis. Como primeiro passo, podemos precisar converter uma função que é dada nas direções cartesianas em coordenadas esféricas. Essa parte ainda é fácil, basta substituir todos os seus x, ye z da seguinte maneira:

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

Observe que isso nos dá um sistema em que o eixo z é o "up" do hemisfério (theta = 0) que deve ser representado pelo HSH. Depois disso, talvez já seja possível inserir tudo em um sistema de álgebra computacional e resolver a equação. Não tente resolver todos os M & L, mas tente um coeficiente de cada vez, pois é improvável que exista uma expressão compacta que descreva todos eles de uma só vez. A definição de HSH é relativamente complexa, o que torna muito tedioso avaliar essas funções. No presente trabalho as funções de base zero e de 1ª ordem HSH são mencionados em coordenadas cartesianas.

Notas sobre rotações e harmônicas zonais

Funções simétricas de rotação em torno desse eixo z são muito boas candidatas a uma derivação analítica bem-sucedida, pois afetam apenas os coeficientes zonais , todos coeficientes com índice m igual a zero. Isso é especialmente útil para os harmônicos esféricos mais gerais, onde existe uma fórmula fácil que permite girar qualquer representação de harmônicos esféricos zonais para uma direção arbitrária, resultando em uma representação de harmônicos esféricos sem perda de dados (veja aqui) Isso significa que você pode derivar coeficientes de ZSH assumindo que sua "função radial simétrica aponta para z" e girando-a na direção desejada. Isso funciona perfeitamente, por exemplo, com várias variações do lobo cosseno e também fornece os fatores que você mencionou na pergunta.

Agora as más notícias: para HSH, qualquer rotação de uma função em torno de outro eixo que z é com perda, pois sua função "tocará" o hemisfério indefinido inferior após a rotação. Portanto, também não existe uma fórmula de rotação "Hemi Zonal to HSH" conveniente. Em vez disso, existem várias maneiras de fazer isso com diferentes desvantagens. Para mais detalhes, consulte o artigo e a apresentação .


A propósito: Tudo isso é mais fácil com a H-Basis , que também é hemisférica (mas originalmente definida apenas para um número limitado de faixas de frequência).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.