DOSEIの日記

技術メモ+日常ログ

球面上のコンボリューション

球面上で定義された関数 f, g の畳み込みは
 (f \ast g)(x) = \int_{R \in {\rm SO3}} f(Rn)g(R^{-1}x)dR
を計算すればいいらしい。x は |x|=1 で,その球面座標を (ϕ,θ) とする。 n は北極の座標 [0 0 1]' = (*,0)。
ここで、
 R := R_z(\phi)R_y(\theta)R_z(\psi)
と分解するとき, dR = sin(θ)dϕdθdψ となるらしい。うーん、なんか本でちゃんと調べよう…。

で、だ。これをどうやって離散化するのか。今 f が有限の点
f(p) = \sum_i f_i \delta(x-x_i)
だったとすれば?
f(Rn) の項が 0 以外の値をとるのは Rn = x_i の時。これを満たす R は…

R_z n = n なので、各 x_i = (ϕ_i,θ_i) に対して全ての ψ について計算が必要?



R^{-1} = R_z(-\psi) [x' y' z'] とかける.ψ は ϕ' を不変にする.
g は ϕ に依らないとき,ψ について g(R^{-1}x) は定数.