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

地心地固坐标系的原点在地心,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中的北天东坐标系。

对应的旋转矩阵为

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

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

化简得:

相关推荐
xiongmaodaxia_z722 分钟前
python每日一练
开发语言·python·算法
zy_destiny1 小时前
【非机动车检测】用YOLOv8实现非机动车及驾驶人佩戴安全帽检测
人工智能·python·算法·yolo·机器学习·安全帽·非机动车
rigidwill6661 小时前
LeetCode hot 100—搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
短尾黑猫2 小时前
[LeetCode 1696] 跳跃游戏 6(Ⅵ)
算法·leetcode
矛取矛求2 小时前
栈与队列习题分享(精写)
c++·算法
袖清暮雨2 小时前
【专题】搜索题型(BFS+DFS)
算法·深度优先·宽度优先
LuckyLay2 小时前
LeetCode算法题(Go语言实现)_46
算法·leetcode·golang
alicema11112 小时前
Python-Django集成yolov识别模型摄像头人数监控网页前后端分离
开发语言·后端·python·算法·机器人·django
胡乱儿起个名3 小时前
C++ 标准库中的 <algorithm> 头文件算法总结
开发语言·c++·算法