2026a
# pol2cart
将极坐标或柱坐标转换为笛卡尔坐标
函数库: TyMath
# 语法
x,y = pol2cart(theta,rho)
x,y,z = pol2cart(theta,rho,z)
# 说明
x,y = pol2cart(theta,rho) 将极坐标数组 theta 和 rho 的对应元素变换为二维笛卡尔坐标或 xy 坐标。示例
x,y,z = pol2cart(theta,rho,z) 将柱坐标数组 theta、rho 和 z 的对应元素变换为三维笛卡尔坐标或 xyz 坐标。示例
# 示例
极坐标转换为笛卡尔坐标
将矩阵 theta 和 rho 中对应项定义的极坐标转换为二维笛卡尔坐标 x 和 y。
using TyMath
theta = [0 pi/4 pi/2 pi]
theta = 1×4 Matrix{Float64}:
0.0 0.785398 1.5708 3.14159
rho = [5 5 10 10]
rho = 1×4 Matrix{Int64}:
5 5 10 10
x,y = pol2cart(theta,rho)
x = 1×4 Matrix{Float64}:
5.0 3.53553 6.12323e-16 -10.0
y = 1×4 Matrix{Float64}:
0.0 3.53553 10.0 1.22465e-15
柱坐标转换为笛卡尔坐标
将矩阵 theta、rho 和 z 中对应项定义的柱坐标转换为三维笛卡尔坐标 x、y 和 z。
using TyMath
theta = [0, pi/4, pi/2, pi]
theta = 4-element Vector{Float64}:
0.0
0.7853981633974483
1.5707963267948966
3.141592653589793
rho = [1, 3, 4, 5]
rho = 4-element Vector{Int64}:
1
3
4
5
z = [7, 8, 9, 10]
z = 4-element Vector{Int64}:
7
8
9
10
x,y,z = pol2cart(theta,rho,z)
x = 4-element Vector{Float64}:
1.0
2.121320343559643
2.4492935982947064e-16
-5.0
y = 4-element Vector{Float64}:
0.0
2.1213203435596424
4.0
6.123233995736766e-16
z = 4-element Vector{Int64}:
7
8
9
10
# 输入参数
theta - 角坐标标量 | 向量 | 矩阵 | 多维数组
角坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。
theta 是在 x-y 平面上从 x 轴的正向测量的逆时针角度(以弧度为单位)。
数据类型: Int | Float
复数支持: 是
rho - 径向坐标数组
径向坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。
rho 是从原点到 x-y 平面上某点的距离。
数据类型: Int | Float
复数支持: 是
z - 仰角坐标数组
仰角坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。
z 是高出 x-y 平面的高度。
数据类型: Int | Float
复数支持: 是
# 输出参数
x,y,z - 笛卡尔坐标数组
笛卡尔坐标,以数组形式返回。
数据类型: Int | Float
复数支持: 是
# 算法
从极坐标和柱坐标到笛卡尔坐标的映射: