Convoluzione delle armoniche emisferiche


10

Le armoniche sferiche (SH) sono un modo per rappresentare le funzioni sferiche a bassa frequenza con solo una manciata di coefficienti. Hanno alcune belle proprietà matematiche, ad esempio una convoluzione con una funzione del kernel h (x) (che ha una simmetria circolare) può essere calcolata come

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

Nel caso di una convoluzione con un lobo del coseno per il grado 3 SH questo si traduce in un semplice ridimensionamento delle bande con i fattori

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

In molti casi, ad esempio la luce incidente per un dato punto su una superficie opaca, non sono necessarie informazioni sferiche complete, poiché metà della sfera è zero / indefinita / non utilizzata comunque. Così nacquero le armoniche emisferiche (HSH).

Come funziona la convoluzione con un kernel arbitrario (con simmetria circolare) per HSH? La convoluzione di SH può essere estesa o c'è qualche documento che approfondisce questo aspetto?


Scrivi "kernel arbitrario con simmetria circolare": Questo non significa che in realtà hai solo bisogno della convoluzione con la parte (emisferica) delle armoniche zonali? Se l'asse di simmetria è diverso, è ancora possibile utilizzarlo aggiungendo rotazioni prima e dopo la convoluzione zonale. Come eseguire le rotazioni è descritto nel documento. L'integrazione con la parte zonale (m = 0) dovrebbe essere relativamente semplice. Tuttavia, come con le armoniche sferiche, non sarà risolvibile analiticamente per funzioni arbitrarie. Cose semplici come i lobi del coseno dovrebbero funzionare bene (non ci ho ancora provato).
Wumpf,

@Wumpf Hai ragione, è praticamente ciò a cui si riduce. Per SH, ridimensionerei semplicemente "ogni banda di f del corrispondente m = 0 termine da [funzione del kernel] h" (citando i trucchi SH stupidi di Sloan). La domanda è: posso fare lo stesso per HSH?
David Kuri,

Risposte:


3

Questa risposta cerca di fornire una breve panoramica di alcuni aspetti importanti. Dato che la definizione di HSH è piuttosto complessa e non sono riuscito a trovare una panoramica di alcune funzioni pre-valutate, non ho fornito esempi semplicemente perché mi prenderebbe troppo tempo in questo momento.

Descrizione del problema e forza bruta

Per determinare la convoluzione con qualsiasi set di funzioni base e quindi calcolare i coefficienti, in genere è necessario calcolare l'integrale sul dominio (= sfera per SH, emisfero per HSH). Tutto ciò che dobbiamo fare, per rappresentare la funzione emisferica f , che è definita sugli angoli theta ("su / giù") e phi ("sinistra / destra"), tramite un coefficiente c per le funzioni di base di HSH H è il seguente:

\ 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

Il peccato (theta) è lì perché ci integriamo sulla superficie di una sfera (emi). Concettualmente, la dimensione di un pezzo di area che deriva dalla modifica del phi è maggiore o minore rispetto all'attuale theta. Maggiori informazioni qui

Se non ci preoccupiamo troppo dell'accuratezza o del tempo di calcolo, possiamo risolverlo semplicemente campionando: Genera direzioni equamente distribuite (!) Sull'emisfero, calcola il prodotto di f e H e calcola la media dei risultati (se hai distribuito equamente) punti in cui non hai bisogno del peccato (theta) ).

Inizia con una soluzione analitica

Ovviamente ci piacerebbe avere una soluzione analitica per la nostra funzione, ma è qui che le cose possono diventare molto difficili. Come primo passo potremmo aver bisogno di convertire una funzione che viene data sulle direzioni cartesiane in coordinate sferiche. Questa parte è ancora facile, basta sostituire tutte le tue x, yey come segue:

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

Si noti che questo ci dà un sistema in cui l'asse z è "su" dell'emisfero (theta = 0) che dovrebbe essere rappresentato da HSH. Dopodiché potrebbe già essere possibile inserire tutto in un sistema di algebra del computer e risolvere l'equazione. Non tentare di risolvere tutti i m & l, ma piuttosto provare un coefficiente alla volta, poiché è improbabile che esista un'espressione compatta che li descriva tutti in una volta. La definizione di HSH è relativamente complessa, il che rende molto noioso valutare queste funzioni. In questo documento le funzioni di base HSH di zero e 1 ° ordine sono menzionate in coordinate cartesiane.

Note su rotazioni e armoniche zonali

Le funzioni simmetriche di rotazione attorno a questo asse z sono ottime candidate per una corretta derivazione analitica, poiché influenzano solo i coefficienti zonali , che sono tutti coefficienti con indice m uguale a zero. Ciò è particolarmente utile per le armoniche sferiche più generali in cui esiste una formula semplice che consente di ruotare qualsiasi rappresentazione di armoniche sferiche zonali in una direzione arbitraria, risultando in una rappresentazione di armoniche sferiche senza perdita di dati (vedere qui). Ciò significa che è possibile derivare coefficienti ZSH ipotizzando che la "funzione radiale simmetrica punti su z" e ruotarla quindi in qualsiasi direzione desiderata. Funziona perfettamente, ad esempio, con varie variazioni del lobo del coseno e fornisce anche i fattori menzionati nella domanda.

Ora la cattiva notizia: per HSH, qualsiasi rotazione di una funzione attorno a un altro asse rispetto a z è in perdita, poiché la tua funzione "toccherà" l'emisfero indefinito inferiore dopo la rotazione. Pertanto, non esiste una formula di rotazione "da Hemi Zonal a HSH" conveniente. Invece, ci sono diversi modi per farlo con diversi svantaggi. Per maggiori dettagli vedi l' articolo e la presentazione .


A proposito: tutto questo è più facile con la H-Base , anch'essa emisferica (ma originariamente definita solo per un numero limitato di bande di frequenza).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.