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

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

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

下面实现地心地固坐标系到北天东坐标系的转换,问题描述为:设一点在地心地固坐标系下的坐标是,设北天东坐标系的原点点在地心地固坐标系下的坐标是点的经度和纬度分别是。求在北天东坐标系下的坐标


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

**第一步,**进行平移,令,相当于得到点在图3坐标系下的坐标。
图3

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

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

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

点在图4坐标系下的坐标是,则

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

对应的旋转矩阵为

点在图5坐标系下的坐标是,则

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

对应的旋转矩阵为

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

综上,变换到的公式可以写成:

化简得:

相关推荐
52Hz1183 分钟前
力扣24.两两交换链表中的节点、25.K个一组反转链表
算法·leetcode·链表
老鼠只爱大米6 分钟前
LeetCode经典算法面试题 #160:相交链表(双指针法、长度差法等多种方法详细解析)
算法·leetcode·链表·双指针·相交链表·长度差法
ValhallaCoder10 分钟前
Day53-图论
数据结构·python·算法·图论
老鼠只爱大米14 分钟前
LeetCode经典算法面试题 #84:柱状图中最大的矩形(单调栈、分治法等四种方法详细解析)
算法·leetcode·动态规划·单调栈·分治法·柱状图最大矩形
C雨后彩虹25 分钟前
羊、狼、农夫过河
java·数据结构·算法·华为·面试
重生之后端学习1 小时前
19. 删除链表的倒数第 N 个结点
java·数据结构·算法·leetcode·职场和发展
aini_lovee1 小时前
严格耦合波(RCWA)方法计算麦克斯韦方程数值解的MATLAB实现
数据结构·算法·matlab
安特尼1 小时前
推荐算法手撕集合(持续更新)
人工智能·算法·机器学习·推荐算法
鹿角片ljp1 小时前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode
Remember_9932 小时前
【数据结构】深入理解优先级队列与堆:从原理到应用
java·数据结构·算法·spring·leetcode·maven·哈希算法