-
Notifications
You must be signed in to change notification settings - Fork 4
A Matlab toolbox for spherical harmonics.
License
yxiong/SHBox
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
================================================================ SHBox --- A matlab toolbox for spherical harmonics. ================================================================ Author: Ying Xiong. Created: Jul 21, 2013. Release: Jan 17, 2014 (v0.1). ================================================================ Quick start. ================================================================ >> addpath('Utils'); >> SHBoxTest; >> demoSHBox; ================================================================ Definitions. ================================================================ The inner product in spherical space is defined as / \pi / \pi <f, g> = | | f(\theta,\phi) g*(\theta,\phi) d\Omega, / \theta=0 / \phi=-pi where d\Omega = sin(\theta) d\phi d\theta. The spherical harmonic functions are defined as (2l+1) (l-m)! Y_l^m(\theta,\phi) = sqrt{---------------} P_l^m(cos(\theta)) exp(im\phi) 4 pi (l+m)! = (-1)^m sqrt{1/(2 pi)} N_l^m(cos(\theta)) exp(im\phi), where P_l^m is associated Legendre function, and N_l^m is fully normalized associated Legendre function. Therefore, we have < Y_{l1}^{m1}, Y_{l2}^{m2} > = \delta_{l1,l2} \delta_{m1,m2}. The real spherical harmonic functions are defined as / 1/sqrt(2) (Y_l^{-m} + (-1)^m Y_l^m) if m>0 Y_{l,m} = | Y_l^0 if m=0 \ 1/sqrt(2) (Y_l^m - (-1)^m Y_l^{-m}) if m<0. ================================================================ Representations. ================================================================ A spherical function f(\theta, \phi) is represented by a matrix 'F' with two (optional) coordinate lists 'lTheta' and 'lPhi', such that F(i,j) = f(lTheta(i), lPhi(j)). If not specified, 'lTheta' and 'lPhi' are by default lTheta = linspace(0, pi, size(F,1)), lPhi = linspace(-pi, pi, size(F,2)). If 'lTheta' and 'lPhi' are scalars, they will be converted to lTheta = linspace(0, pi, lTheta), lPhi = linspace(-pi, pi, lPhi). ================================================================ Features. ================================================================ * Generate real and complex spherical harmonic functions. * Visualize spherical functions. * Inner product in spherical space. * Decompose spherical function into spherical harmonic components. See 'SphericalHarmonics.pdf' for a more detailed documentation. ================================================================ Other notes. ================================================================ The 'pisa.png' file is a light probe image downloaded from http://gl.ict.usc.edu/Data/HighResProbes/ and modified (tone-mapped and resized) by Ying Xiong.
About
A Matlab toolbox for spherical harmonics.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published