Main Content

cart2sph

直交座標を球面座標に変換

説明

[azimuth,elevation,r] = cart2sph(x,y,z) は、直交座標配列 xy および z の対応する要素を、球面座標 azimuthelevation および r に変換します。

すべて折りたたむ

行列 xy および z の対応する要素で定義された 3 次元の直交座標を、球面座標 azel および r に変換します。これらの点は立方体の 8 つの頂点に対応します。

x = [1 1 1 1; -1 -1 -1 -1]
x = 2×4

     1     1     1     1
    -1    -1    -1    -1

y = [1 1 -1 -1; 1 1 -1 -1]
y = 2×4

     1     1    -1    -1
     1     1    -1    -1

z = [1 -1 1 -1; 1 -1 1 -1]
z = 2×4

     1    -1     1    -1
     1    -1     1    -1

[az,el,r] = cart2sph(x,y,z)
az = 2×4

    0.7854    0.7854   -0.7854   -0.7854
    2.3562    2.3562   -2.3562   -2.3562

el = 2×4

    0.6155   -0.6155    0.6155   -0.6155
    0.6155   -0.6155    0.6155   -0.6155

r = 2×4

    1.7321    1.7321    1.7321    1.7321
    1.7321    1.7321    1.7321    1.7321

入力引数

すべて折りたたむ

直交座標。スカラー、ベクトル、行列、または多次元配列として指定します。xyz は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、xMN 列の行列、y がスカラー、z がスカラーまたは 1N 列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: single | double

出力引数

すべて折りたたむ

方位角。配列として返されます。azimuth は、x-y 平面での角度 (単位: ラジアン) で、正の x 軸から反時計回りに測定します。角度の値の範囲は [-pi pi] です。

仰角。配列として返されます。elevation は x-y 平面からの仰角 (単位: ラジアン) です。角度の値の範囲は [-pi/2, pi/2] です。

半径。配列として返されます。r は、原点から点までの距離です。r の長さの単位は任意で、入力配列 xy および z の単位と一致します。

アルゴリズム

3次元直交座標から球面座標へのマッピングは、以下のようになります。

azimuth = atan2(y,x)
elevation = atan2(z,sqrt(x.^2 + y.^2))
r = sqrt(x.^2 + y.^2 + z.^2)

Figure shows a point plotted in 3-D space with X and Y in the horizontal plane and Z along the vertical axis. The point has a radius measured from the origin, an azimuthal angle measured in relation to X in the horizontal plane, and an elevation angle measured as elevation above the XY plane.

球面座標のこの表記法は標準的なものではありません。関数 cart2sph の場合、elevationx-y 平面から計測されます。elevation = 0 の場合、点は x-y 平面にあります。elevation = pi/2 の場合、点は正の z 軸上にあります。

拡張機能

バージョン履歴

R2006a より前に導入