Main Content

sph2cart

球面座標から直交座標への変換

説明

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

すべて折りたたむ

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

az = [0.7854 0.7854 -0.7854 -0.7854; 2.3562 2.3562 -2.3562 -2.3562]
az = 2×4

    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]
el = 2×4

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

r = 1.7321*ones(2,4)
r = 2×4

    1.7321    1.7321    1.7321    1.7321
    1.7321    1.7321    1.7321    1.7321

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

    1.0000    1.0000    1.0000    1.0000
   -1.0000   -1.0000   -1.0000   -1.0000

y = 2×4

    1.0000    1.0000   -1.0000   -1.0000
    1.0000    1.0000   -1.0000   -1.0000

z = 2×4

    1.0001   -1.0001    1.0001   -1.0001
    1.0001   -1.0001    1.0001   -1.0001

入力引数

すべて折りたたむ

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

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

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

仰角。スカラー、ベクトル、行列、または多次元配列として指定します。azimuthelevationr は、同じサイズであるか、互換性のあるサイズでなければなりません。

elevation は x-y 平面からの仰角 (単位: ラジアン) です。

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

半径。スカラー、ベクトル、行列、または多次元配列として指定します。azimuthelevationr は、同じサイズであるか、互換性のあるサイズでなければなりません。

r の長さは任意の単位にすることができ、出力配列 xy および z では同じ単位が使用されます。

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

出力引数

すべて折りたたむ

直交座標。配列として返されます。

アルゴリズム

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

x = r .* cos(elevation) .* cos(azimuth)
y = r .* cos(elevation) .* sin(azimuth)
z = r .* sin(elevation)

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入