Main Content

sph2cartvec

球面基底成分から直交成分へのベクトルの変換

説明

vr = sph2cartvec(vs,az,el) は、ベクトルまたは一連のベクトル vs の成分を "球面基底表現" からローカル直交座標系の表現に変換します。球面基底表現は、(e^az,e^el,e^R) で求められる右手球面基底に投影されるベクトルの一連の成分です。球面基底の方向は、方位角 az および仰角 el によって決定される、球体上の球面基底の位置によって異なります。

すべて折りたたむ

方位角 45° および仰角 45° の位置にある球面基底のベクトルから始めます。このベクトルは方位角方向に沿います。直交座標に対するベクトル成分を計算します。

vs = [1;0;0];
vr = sph2cartvec(vs,45,45)
vr = 3×1

   -0.7071
    0.7071
         0

入力引数

すべて折りたたむ

球面基底表現のベクトル。3 行 1 列の列ベクトルまたは 3 行 N 列の行列として指定します。vs の各列には、右手球面基底 (e^az,e^el,e^R) のベクトルの 3 つの成分が含まれます。

例: [4.0; -3.5; 6.3]

データ型: double
複素数のサポート: あり

方位角。閉値域 [–180,180] のスカラーとして指定します。角度の単位は度です。球体上の点の方位角を定義するには、原点からその点へのベクトルを構築します。方位角は、正の x 軸から xy 平面へのベクトルの直交投影までの xy 平面における角度です。例として、方位角 0 と仰角 0 は x 軸上の点を指定し、方位角 90° と仰角 0 は y 軸上の点を指定します。

例: 45

データ型: double

仰角。閉値域 [–90,90] のスカラーとして指定します。角度の単位は度です。球体上の点の仰角を定義するには、原点からその点へのベクトルを構築します。仰角は、xy 平面へのベクトルの直交投影からベクトル自体までの角度です。例として、仰角 0 は球体の赤道を定義し、仰角 ±90° はそれぞれ北極と南極を定義します。

例: 30

データ型: double

出力引数

すべて折りたたむ

直交ベクトル。vs と同じ次元をもつ 3 行 1 列の列ベクトルまたは 3 行 N 列の行列として返されます。vr の各列には、右手 x,y,z 基底のベクトルの 3 つの成分が含まれます。

詳細

すべて折りたたむ

ベクトルの球面基底表現

球面基底ベクトルは、空間内の任意の点の半径方向と角度方向に沿った基底ベクトルのローカル セットです。

球面基底は、球体上の点で定義される、3 つの相互に直交する単位ベクトル (e^az,e^el,e^R) のセットです。最初の単位ベクトルは、一定の半径および仰角における方位角のラインに沿います。2 番目は、一定の方位角および半径における仰角のラインに沿います。どちらも球体の表面に接します。3 番目の単位ベクトルは、半径方向に外側を向きます。

基底の方向は球体上の点ごとに変わりますが、R には依存しないため、半径に沿って外側に移動しても基底の方向は同じままになります。次の図は、方位角と仰角の関数としての球面基底ベクトルの方向を示しています。

az と el で指定された球体上の任意の点について、基底ベクトルは次で求められます。

e^az=sin(az)i^+cos(az)j^e^el=sin(el)cos(az)i^sin(el)sin(az)j^+cos(el)k^e^R=cos(el)cos(az)i^+cos(el)sin(az)j^+sin(el)k^   .

ベクトルは、この基底の成分で v=vaze^az+vele^el+vRe^R のように記述できます。球面基底成分と直交成分の間の変換は、次の形式になります。

[vxvyvz]=[sin(az)sin(el)cos(az)cos(el)cos(az)cos(az)sin(el)sin(az)cos(el)sin(az)0cos(el)sin(el)][vazvelvR]

[vazvelvR]=[sin(az)cos(az)0sin(el)cos(az)sin(el)sin(az)cos(el)cos(el)cos(az)cos(el)sin(az)sin(el)][vxvyvz].

拡張機能

バージョン履歴

R2020a で導入