地心地固坐标系与北天东坐标系的转换

地心地固坐标系的原点在地心,Z轴指向北极点,X轴指向本初子午线与赤道的交点,Y轴指向符合右手定则,如下图所示。

图1  地心地固坐标系

北天东坐标系的原点在任选的一点O',X轴指向北,Y轴指向天,Z轴指向东,如下图所示。

图2  北天东坐标系

下面实现地心地固坐标系到北天东坐标系的转换,问题描述为:设一点S在地心地固坐标系下的坐标是(x,y,z),设北天东坐标系的原点O'点在地心地固坐标系下的坐标是(x_0,y_0,z_0)O'点的经度和纬度分别是\lambda\varphi。求S在北天东坐标系下的坐标(x',y',z')


要实现坐标系转换,其实就是平移和旋转

第一步,进行平移,令(x_1,y_1,z_1) = (x,y,z)-(x_0,y_0,z_0),相当于得到S点在图3坐标系下的坐标。

图3

第二步,将图3的坐标系旋转成图2的样子。这里需要多次旋转,每次以某个轴为对称轴进行旋转,对应的坐标变换参考这篇文章。这里共需要3次旋转。

(1)以y1轴为对称轴,顺时针旋转90°,得到图4的样子。

图4

这里绕y1轴顺时针旋转90°,相当于逆时针旋转-90°,因此得到旋转矩阵:

A_1=\begin{bmatrix} cos(-90^{\circ}) & 0& -sin(-90^{\circ})\\ 0 & 1 & 0\\ sin(-90^{\circ}) & 0 & cos(-90^{\circ}) \end{bmatrix}= \begin{bmatrix} 0 & 0& 1\\ 0 & 1 & 0\\ -1 & 0 & 0 \end{bmatrix}

S点在图4坐标系下的坐标是(x_2,y_2,z_2),则

\begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix}= A_1 \begin{bmatrix} x_1\\ y_1\\ z_1 \end{bmatrix}

(2)以x2轴为对称轴,顺时针旋转90^{\circ}-\lambda,得到图5的样子。经过这一步旋转,x3轴和y3轴就处在过O3点的经度线所在的平面了,而且z3轴指向了东。

图5

对应的旋转矩阵为

A_2=\begin{bmatrix} 1 & 0& 0\\ 0 & cos(\lambda-90^{\circ}) & sin(\lambda-90^{\circ})\\ 0 & -sin(\lambda-90^{\circ}) & cos(\lambda-90^{\circ}) \end{bmatrix} = \begin{bmatrix} 1 & 0& 0\\ 0 & sin\lambda & -cos\lambda \\ -1 & cos\lambda & sin\lambda \end{bmatrix}

S点在图5坐标系下的坐标是(x_3,y_3,z_3),则

\begin{bmatrix} x_3\\ y_3\\ z_3 \end{bmatrix}= A_2 \begin{bmatrix} x_2\\ y_2\\ z_2 \end{bmatrix}

(3)以z3轴为对称轴,顺时针旋转\varphi。经过这一步,把x3轴拧向了北,y3轴拧向了天,于是得到图2中的北天东坐标系。

对应的旋转矩阵为

A_3= \begin{bmatrix} cos(-\varphi) & sin(-\varphi)& 0\\ -sin(-\varphi) & cos(-\varphi)&0\\ 0 & 0& 1 \end{bmatrix} =\begin{bmatrix} cos\varphi & -sin\varphi& 0\\ sin\varphi & cos\varphi&0\\ 0 & 0& 1 \end{bmatrix}

因此,S点在北天东坐标下的坐标为

\begin{bmatrix} x'\\ y'\\ z' \end{bmatrix}= A_3 \begin{bmatrix} x_3\\ y_3\\ z_3 \end{bmatrix}

综上,(x,y,z)变换到(x',y',z')的公式可以写成:

\begin{bmatrix} x'\\ y'\\ z' \end{bmatrix}= A_3A_2A_1\left ( \begin{bmatrix} x\\ y\\ z \end{bmatrix}-\begin{bmatrix} x_0\\ y_0\\ z_0 \end{bmatrix} \right )

化简得:

\begin{bmatrix} x'\\ y'\\ z' \end{bmatrix}= \begin{bmatrix} -sin\varphi cos\lambda & -sin\varphi sin\lambda & cos\varphi\\ cos\varphi cos\lambda& cos\varphi sin\lambda&sin\varphi \\ -sin\lambda & cos\lambda& 0 \end{bmatrix} \left ( \begin{bmatrix} x\\ y\\ z \end{bmatrix}-\begin{bmatrix} x_0\\ y_0\\ z_0 \end{bmatrix} \right )

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值