ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

cart2sph

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

構文

  • [azimuth,elevation,r] = cart2sph(x,y,z)

説明

[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 =

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

y = [1 1 -1 -1; 1 1 -1 -1]
y =

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

z = [1 -1 1 -1; 1 -1 1 -1]
z =

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

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

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


el =

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


r =

    1.7321    1.7321    1.7321    1.7321
    1.7321    1.7321    1.7321    1.7321

入力引数

すべて折りたたむ

直交座標。スカラー、ベクトル、行列または多次元配列として指定します。xy および z は、同じサイズでなければなりません (または、いずれかをスカラーにすることもできます)。

データ型: single | double

出力引数

すべて折りたたむ

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

仰角。配列として返されます。elevation は x-y 平面からの仰角 (単位: ラジアン) です。

半径。配列として返されます。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)

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

R2006a より前に導入

この情報は役に立ちましたか?