将笛卡尔(x,y,z)转换为圆柱(ρ,θ,z)坐标2D/3D的代码

Code for converting Cartesian (x,y,z) to Cylindrical (ρ,θ,z) coordinates 2D/3D

C++ 中有没有代码可以将 2 维和 3 维的笛卡尔 (x,y,z) 坐标转换为圆柱 (ρ,θ,z) 坐标!!

谢谢

如果您询问的是可以为您执行此转换的标准库函数,我认为没有。但是,有一些简单的方程式将两者联系起来。这些等式是:

x = p cos ( theta )
y = p sin ( theta )
z = z

哪里

p = sqrt( x^2 + y^2 )

标准 C++ 具有 sin 和 cos 函数。它还有 asin 和 acos 用于反正弦函数和反余弦函数。这些函数以弧度为单位工作。您自己编写代码来执行此操作应该很简单。