cart2sph

将笛卡尔坐标变换为球面坐标

描述

例子

(方位,海拔高度,r)= cart2sph (x, y, z)转换笛卡尔坐标数组的对应元素x,y,z到球坐标方位,海拔高度,r

例子

全部折叠

转换由矩阵中相应项定义的笛卡尔坐标x,y,z到球坐标阿兹,埃尔,r。这些点对应一个立方体的八个顶点。

x = [11 11 11;-1 -1 -1 -1]
x =2×411 11 1 -1 -1 -1 -1
y = [11 -1 -1 -1;11 1 -1 -1]
y =2×411 -1 -1 -1 -1
z = [1 -1 1 -1;1 -1 1 -1]
z =2×41 -1 1 -1 1 -1 1 -1
(阿兹,el, r) = cart2sph (x, y, z)
阿兹=2×40.7854 0.7854 -0.7854 2.3562 2.3562 -2.3562
el =2×40.6155 -0.6155 0.6155 -0.6155 0.6155
r =2×41.7321 1.7321 1.7321 1.7321 1.7321

输入参数

全部折叠

笛卡尔坐标,指定为标量、向量、矩阵或多维数组。x,y,z大小必须相同,或者它们中的任何一个都可以是标量。

数据类型:|

输出参数

全部折叠

方位角,返回为数组。方位逆时针的角在吗x-y用弧度测量的平面x设在。角度的值在这个范围内(π-π)

仰角,返回为数组。海拔高度的仰角是以弧度表示的吗x-y飞机。角度的值在这个范围内(-π/ 2,π/ 2)

Radius,作为数组返回。r是从原点到一点的距离。的长度单位r是否任意匹配输入数组的单位x,y,z

算法

三维笛卡尔坐标到球坐标的映射为

方位= atan2(y,x)仰角= atan2(z,sqrt(x))²+ y²)r =√x。y ^ 2 +。^ 2 + z。^ 2)

球坐标的符号不是标准的。为cart2sph函数,海拔高度是由x - y飞机。注意,如果海拔= 0,关键在于x - y飞机。如果海拔=π/ 2,那么问题就在积极方面z设在。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

另请参阅

||

之前介绍过的R2006a