2026a
# sph2cartvec
将向量从球面坐标转换成笛卡尔坐标
函数库: TyCommunication
# 语法
vr = sph2cartvec(vs, az, el)
# 说明
vr = sph2cartvec(vs, az, el) 将一个或一组向量 vs 的分量,从球面坐标转化为局部笛卡尔坐标 vr。球面坐标表示是以
# 示例
方位向量的笛卡尔表示
创建一个方位角 45° 和仰角 45° 的球面向量,其指向方位角的方向。计算它的笛卡尔坐标。
using TyCommunication
vs = [1;0;0]
vr = sph2cartvec(vs,45,45)
vr = 3-element Vector{Float64}:
-0.7071067811865476
0.7071067811865476
0.0
复数情况:
vs = [1 1 0+im; 0 0 1+im; 0 0 1+im]
vr = sph2cartvec(vs, 45, 45)
vr = 3×3 Matrix{ComplexF64}:
-0.707107+0.0im -0.707107+0.0im 0.0-0.707107im
0.707107+0.0im 0.707107+0.0im 0.0+0.707107im
0.0+0.0im 0.0+0.0im 1.41421+1.41421im
# 输入参数
vs - 用球基表示的向量3 × 1 列向量| 3 × N 矩阵
以 3 × 1 列向量或 3 × N 矩阵表示球基向量。vs 的每一列包含用右手坐标系下的球基底
例如:[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
# 输出参数
vr - 用笛卡尔基表示的向量3 × 1 列向量| 3 × N 矩阵
笛卡尔向量是 3 × 1 列向量或 3 × N 矩阵,它的维数与 vs 相同。vr 的每一列包含用右手坐标系下的笛卡尔基底 x,y,z 表示的一个向量的三个分量。