sph2cart
将球面坐标转换为笛卡尔坐标
说明
示例
球面坐标转换为笛卡尔坐标
将矩阵 az
、el
和 r
中对应项定义的球面坐标转换为笛卡尔坐标 x
、y
和 z
。这些点对应于立方体的八个顶点。
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
输入参数
azimuth
— 方位角
标量 | 向量 | 矩阵 | 多维数组
方位角,指定为标量、向量、矩阵或多维数组。azimuth
、elevation
和 r
必须具有相同的大小或具有兼容的大小(例如,azimuth
是一个 M
×N
矩阵,elevation
以标量,r
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
azimuth
是在 x-y 平面上从 x 轴的正向测量的逆时针角度(以弧度为单位)。
数据类型: single
| double
复数支持: 是
elevation
— 仰角
标量 | 向量 | 矩阵 | 多维数组
仰角,指定为标量、向量、矩阵或多维数组。azimuth
、elevation
和 r
的大小必须相同,或具有兼容的大小。
elevation
是与 x-y 平面之间形成的仰角(以弧度为单位)。
数据类型: single
| double
复数支持: 是
r
— 半径
标量 | 向量 | 矩阵 | 多维数组
半径,指定为标量、向量、矩阵或多维数组。azimuth
、elevation
和 r
的大小必须相同,或具有兼容的大小。
r
的长度单位可以使用任意值,而且输出数组 x
、y
和 z
使用相同的单位。
数据类型: single
| double
复数支持: 是
输出参数
x,y,z
— 笛卡尔坐标
数组
笛卡尔坐标,以数组形式返回。
算法
从球面坐标到三维笛卡尔坐标的映射为
x = r .* cos(elevation) .* cos(azimuth) y = r .* cos(elevation) .* sin(azimuth) z = r .* sin(elevation)
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)