2026a
# cart2sphvec
将向量从笛卡尔坐标转换成球面坐标
函数库: TyCommunication
# 语法
vs = cart2sphvec(vr, az, el)
# 说明
vs = cart2sphvec(vr, az, el) 将一个或一组向量 vr 的分量,从局部笛卡尔坐标表示转换为球面坐标 vs。球面坐标表示是以
# 示例
单位 z 向量的球面表示
创建一个笛卡尔坐标表示的 z 轴向量,并且其方位角 45°,仰角 45°。计算它在球面坐标中的表示。
using TyCommunication
vr = [0; 0; 1]
vs = cart2sphvec(vr, 45, 45)
vs = 3-element Vector{Float64}:
0.0
0.7071067811865476
0.7071067811865476
复数情况:
vr = [0 0 1+im; 0 0 0+im; 1 1 0+im]
vs = cart2sphvec(vr, 45, 45)
vs = 3×3 Matrix{ComplexF64}:
0.0+0.0im 0.0+0.0im -0.707107+0.0im
0.707107+0.0im 0.707107+0.0im -0.5-0.292893im
0.707107+0.0im 0.707107+0.0im 0.5+1.70711im
# 输入参数
vr - 用笛卡尔基表示的向量3 × 1 列向量| 3 × N 矩阵
以 3 × 1 列向量或 3 × N 矩阵表示笛卡尔向量。vr 的每一列包含用右手坐标系下的笛卡尔基底 x,y,z 表示的一个向量的三个分量。
例如:[4.0; -3.5; 6.3]
数据类型:Float64
支持复数:是
az - 方位角范围在 [-180,180] 中的标量
方位角,指定为范围在[-180,180]中的标量,单位是度。要定义球面上一点的方位角,需要构造一个从原点到该点的向量。方位角是从 x 正轴到向量在 xy 平面上的正交投影的角度。例如,方位角 0 和仰角 0 表示 x 轴上的一个点,而方位角 90° 和仰角 0 表示 y 轴上的一个点。
例如:45
数据类型:Float64
el - 仰角范围在 [-90,90] 中的标量
方位角,指定为范围在[-90,90]中的标量,单位是度。要定义球面上一点的仰角,需要构造一个从原点到该点的向量。仰角是它在 xy 平面上的正交投影与向量本身之间的角。例如,0 仰角定义为球面的赤道,±90° 仰角定义为球面的北极和南极。
例如:30
数据类型:Float64
# 输出参数
vs - 用球基表示的向量3 × 1 列向量| 3 × N 矩阵
球面基表示的向量是 3 × 1 列向量或 3 × N 矩阵,它的维数与 vr 相同。vs 的每一列包含用右手坐标系下的球基 表示的向量的三个分量。