直角坐标,柱坐标,球坐标变换

坐标系几何

直角坐标(Cartesian),柱坐标(Cylindrical),球坐标(Spherical)之间的变换的结果非常容易在网上找到,但是推到过程不是那么的完善, 在这里记录一下。它们三者都是欧氏几何右手坐标系。

直角坐标,柱坐标,球坐标变换

直角坐标系

直角坐标,柱坐标,球坐标变换

柱坐标系

直角坐标,柱坐标,球坐标变换

球坐标系

我们利用三角几何可以很轻松的得到数值上的关系:


x=ρcos(ϕ)=rsinθcosϕx = \rho cos(\phi) = rsin\theta cos\phi
y=sinϕ=rsinθsinϕy = sin\phi = rsin\theta sin\phi
z=rcosθz=rcos\theta


ρ=x2+y2=rsinθ\rho = \sqrt[]{x^2+y^2} = rsin\theta
ϕ=tan1(y/x)\phi = tan^{-1}(y/x)
z=rcosθz = rcos\theta


r=x2+y2+z2=ρ2+z2r = \sqrt{x^2 + y^2 + z^2} = \sqrt{\rho ^2 + z^2}
θ=tan1x2+y2z=tan1(ρ/z)\theta = tan^{-1} \frac{ \sqrt[]{x^2+y^2}}{z} = tan^{-1}(\rho/z)
ϕ=tan1(y/x)\phi = tan^{-1}(y/x)

单位向量变换

涉及到向量之后,坐标系变换就变得有点复杂。我们有时候需要将写在三种不同的坐标系下的向量相互变换。本文的重点也是在讨论这些变换矩阵是怎么来的。我们把坐标系单位向量写成(ax,ay,az)(\mathbf{a_x, a_y, a_z})(aρ,aϕ,az)(\mathbf{a_\rho, a_\phi, a_z})(ar,aθ,aϕ)(\mathbf{a_r, a_\theta, a_\phi})

直角坐标与柱坐标

直角坐标,柱坐标,球坐标变换
因为直角坐标与柱坐标之间共享z,所以我们不用考虑z的改变,我们画出上图。然后加点辅助线,如下图所示:
直角坐标,柱坐标,球坐标变换
现在就可以很轻松的写出


aρ=axcosϕ+aysinϕ+az0\mathbf{a_\rho} = \mathbf{a_x}cos\phi + \mathbf{a_y}sin\phi + \mathbf{a_z}0
aϕ=ax(sinϕ)+aycosϕ+az0\mathbf{a_\phi} = \mathbf{a_x}(-sin\phi) + \mathbf{a_y}cos\phi + \mathbf{a_z}0
aρ=ax0+ay0+az1\mathbf{a_\rho} = \mathbf{a_x}0 + \mathbf{a_y}0 + \mathbf{a_z}1


我们改写成矩阵的格式那么就变成了
直角坐标,柱坐标,球坐标变换
逆变换就是把矩阵转置一下
直角坐标,柱坐标,球坐标变换

柱坐标与球坐标系

同理与上文,因为柱坐标与球坐标共享了ϕ\phi,我们可以有下图:
直角坐标,柱坐标,球坐标变换
我们可以得出:
直角坐标,柱坐标,球坐标变换

直角坐标与球坐标

利用柱坐标系的变换我们可以轻松的利用矩阵乘法得到直角坐标系与球坐标系之间的变换

直角坐标,柱坐标,球坐标变换
以上。