Свертка полусферических гармоник


10

Сферические гармоники (SH) - это способ представления низкочастотных сферических функций с помощью лишь нескольких коэффициентов. Они имеют некоторые хорошие математические свойства, например, свертка с функцией ядра h (x) (которая имеет круговую симметрию) может быть рассчитана как

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

В случае свертки с косинусной долей для ранга 3 SH это приводит к простому масштабированию полос с коэффициентами

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

Во многих случаях, например, падающий свет для данной точки на непрозрачной поверхности, полная сферическая информация не требуется, поскольку половина сферы в любом случае равна нулю / не определена / не используется. Таким образом, полусферические гармоники (HSH) родились.

Как свертка с произвольным ядром (с круговой симметрией) работает для HSH? Можно ли расширить свертку от SH, или есть какие-то документы, которые подробно об этом?


Вы пишете «произвольное ядро ​​с круговой симметрией»: не означает ли это, что вам на самом деле нужна только свертка с частью (полушария) зональной гармоники? Если ваша ось симметрии отличается, вы все равно можете использовать ее, добавив повороты до и после зональной свертки. Как выполнить вращение описано в статье. Интеграция с зональной частью (m = 0) должна быть сравнительно простой. Однако, как и в случае со сферическими гармониками, она не будет аналитически разрешимой для произвольных функций. Простые вещи, такие как косинусные доли, должны хорошо работать (хотя еще не пробовали).
Вумпф,

@Wumpf Ты прав, это почти то, к чему это сводится. Для SH я бы просто масштабировал «каждую полосу f на соответствующий член m = 0 из [функции ядра] h» (цитируя глупые трюки Слоана Слоана). Вопрос в том, могу ли я сделать то же самое для HSH?
Дэвид Кури

Ответы:


3

Этот ответ пытается дать краткий обзор некоторых важных аспектов. Поскольку определение HSH довольно сложное, и я не смог найти общий обзор некоторых предварительно оцененных функций, я не привел примеры просто потому, что сейчас мне потребуется слишком много времени.

Описание проблемы и грубая сила

Чтобы определить свертку с любым набором базисных функций и, таким образом, вычислить коэффициенты, нам обычно нужно вычислить интеграл по области (= сфера для SH, полусфера для HSH). Все , что нам нужно сделать, чтобы представить полусферической функцию п , которая определяется через углы тета ( «вверх / вниз») и фи ( «влево / вправо»), через коэффициент с для базисных функций HSH H является следующее:

\ 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

Грех (тета) существует , потому что мы интегрируем по поверхности (полу-) сфере. Концептуально, размер части области, которая появляется в результате изменения фи , больше или меньше в текущей тэте. Подробнее об этом здесь

Если мы не слишком заботимся о точности или времени вычислений, мы можем решить эту проблему просто путем выборки: генерировать одинаково распределенные (!) Направления на полушарии, вычислять произведение f и H и усреднять результаты (если вы действительно распределены одинаково указывает, что вам не нужен грех (тета) ).

Начните с аналитического решения

Конечно, мы хотели бы иметь аналитическое решение для нашей функции, но это то, где все может быть очень сложно. В качестве первого шага нам может понадобиться преобразовать функцию, заданную в декартовых направлениях, в сферические координаты. Эта часть все еще проста, просто замените все ваши x, y и z следующим образом:

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

Обратите внимание, что это дает нам систему, в которой ось z представляет собой «полушарие» вверх (тета = 0), которое должно быть представлено HSH. После этого уже может быть возможно вставить все в систему компьютерной алгебры и решить уравнение. Не пытайтесь решить для всех m & l, а скорее попробуйте один коэффициент за раз, так как маловероятно, что есть компактное выражение, которое описывает все их сразу. Определение HSH является относительно сложным, что делает очень утомительным оценивать эти функции. В этой статье базисные функции HSH нулевого и первого порядка упоминаются в декартовых координатах.

Заметки о вращениях и зональных гармониках

Функции, которые являются вращательно-симметричными вокруг этой оси z, являются очень хорошими кандидатами для успешного аналитического вывода, поскольку они влияют только на зональные коэффициенты, у которых все коэффициенты с индексом m равны нулю. Это особенно полезно для более общих Сферических Гармоник, где существует простая формула, которая позволяет повернуть любое представление Зональной Сферической Гармоники в произвольном направлении, что приводит к представлению Сферической Гармоники без потери данных (см. Здесь). Это означает, что вы можете вывести коэффициенты ZSH, предполагая, что ваша радиальная симметричная «функция указывает на z» и затем поворачивает ее в любом желаемом направлении. Это прекрасно работает, например, с различными вариациями косинусных долей, а также дает вам факторы, которые вы упомянули в вопросе.

Теперь плохие новости: для HSH любое вращение функции вокруг другой оси, кроме z, с потерями, так как ваша функция будет «касаться» нижней неопределенной полусферы после вращения. Следовательно, также не существует удобной формулы вращения "Hemi Zonal to HSH". Вместо этого есть несколько способов сделать это с разными недостатками. Для более подробной информации см. Документ и презентацию .


Кстати, все это проще с H-Basis , которая также является полусферической (но первоначально определялась только для ограниченного числа полос частот).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.