gnuplot / spherical_harmonics / spharm (1)
球面調和関数極座標で表された球面調和関数 Y[lm](θ,φ)は次式で与えられます. ![]() ここで,P[lm]はLegendreの陪関数です.lとmは整数で,l=0,1,2,3…の値 gnuplotのparametric表示では,角度uがφと一致しますが,θの定 cos(theta)=sin(v) sin(theta)=cos(v) となります. 球面調和関数の最も簡単なものはl=0,m=0の場合で,これは定数 1/sqrt(4π) gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> set angle degree gnuplot> set urange [0:360] gnuplot> set vrange [-90:90] gnuplot> set isosample 36,18 gnuplot> set ticslevel 0 gnuplot> set size 0.65,1.0 gnuplot> a=1.0/(4*pi) gnuplot> fx(u,v)=cos(u)*cos(v) gnuplot> fy(u,v)=sin(u)*cos(v) gnuplot> fz(v)=sin(v) gnuplot> splot a*fx(u,v),a*fy(u,v),a*fz(v) 左がY[00]を自乗したグラフで,原点を中心に半径1/4πの球です.m=0なの 次にl=1,m=0の関数Y[1,0]を表示します.Y[00]と同様,m=0なのでφの項 gnuplot> a=3.0/(4*pi) gnuplot> g(v)=sin(v)*sin(v) gnuplot> splot a*g(v)*fx(u,v),a*g(v)*fy(u,v),a*g(v)*fz(v)
変数uの範囲を[0:180]にして隠線処理すると,球面調和関数の断面を表示で gnuplot> set urange [0:180] gnuplot> set hidden3d gnuplot> splot a*g(v)*fx(u,v),a*g(v)*fy(u,v),a*g(v)*fz(v)
from Dr.Nakamura of TUS. Thanks !
|