Main Content

cart2sphvec

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

R2020a 以降

説明

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

すべて折りたたむ

z 方向に沿った、方位角 45° および仰角 45° の位置にある直交座標のベクトルから始めます。その時点の球面基底に対して、ベクトルの成分を計算します。

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

         0
    0.7071
    0.7071

入力引数

すべて折りたたむ

直交基底表現のベクトル。3 行 1 列の列ベクトルまたは 3 行 N 列の行列として指定します。vr の各列には、右手直交基底 x,y,x のベクトルの 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 列の行列として返されます。vs の各列には、右手 (e^az,e^el,e^R) 基底のベクトルの 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 で導入