前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >坐标系与矩阵(4):球心坐标与NEU坐标系

坐标系与矩阵(4):球心坐标与NEU坐标系

作者头像
Peter Lu
发布2021-07-20 11:34:23
3.1K0
发布2021-07-20 11:34:23
举报
文章被收录于专栏:LETLET

前三篇介绍了坐标系和矩阵的数学知识,从本篇开始,我们试图运用这些知识来解决实际问题。

如上图,模拟了一个以球心为原点的固定坐标系,该坐标系有一个名称地心地固坐标系(ECEF),对应我们之前介绍的坐标系

,而平面场景在我们生活中更为直观,上北下南,左东右西,对应上图中绿色的切平面,简称NEU坐标系,对应之前介绍的坐标系

。于是,给定一点

,我们需要计算一个矩阵

,实现两个坐标系的转换。

这里对应两个环节,(1)球心坐标系的单位换算, 从经纬度

到米单位的笛卡尔坐标

;(2)从ECEF到NEU,从全球坐标系

到本地坐标系

整体来看,默认初始时

,从F到M大概需要三个过程:(1)沿

逆时针旋转

,如上图,橙色对应的是

,红色对应的是

,方向均向内;(2)沿着新坐标系中的红轴逆时针旋转

;(3)沿新坐标系的

方向平移到绿色坐标系的原点。

前两个旋转矩阵对应的是:

这样,只要知道平移

对应的三个分量,可以轻松的得到最终的矩阵。然后这里就有一个问题,地球是椭球而不是圆球,如下图所示,维度是

,但准确的切平面对应的法线是

,前者是geocentric normal,后者是geodetic normal,通常情况下,我们都是指的

椭球下经纬度和笛卡尔坐标转换的问题暂时先不做处理,假设已知某点对应球心的位置

,椭球在X,Y,Z方向的半径分别为a, b,c。则,up方向也就是该点对应椭球切面的法线(geodetic normal):

又因为地球对应的椭球体中,a==b。North轴指向北极,而East轴和Up轴,North轴正交,可得East轴必须垂直于

,因此,我们可以获取ENU坐标系三个轴的向量

,这样,对应的转换公式为:

这样,我们在ENU本地坐标系上的一点

,对应球心坐标系上的点

,满足:

如上,我们实现了ECEF和ENU之间的转化,下面,我们讲一下经纬度到ECEF之间的转换,该问题可以抽象为已知经纬度+高度

,这里的

对应ECEF坐标系下的

,求其在笛卡尔坐标系下对应的位置

,这块并不涉及到坐标系的概念,不感兴趣的可以略过。

不失一般性,我们认为地球的椭球为:

因为

是geodetic normal,所以,在点

处的法线为

,同样,由椭圆的属性可知,该点的法线(未归一化)同样可以是

,则可得如下关系:

三个未知变量放到等式左侧:

同时,因为

在椭球体上,带入椭球体的公式,可得:

此时,我们可以得出

三个值,也就是

点的未知,最终就可以得到绿色点的位置:

接下来,自然就是逆运算了,已知

,如何求

如上图,一旦我们知道

已知

,可得:

同样的思路,将

三个未知变量放到等式左侧:

这里,我们定义一个函数S:

这是求解一元四次方程,我觉得应该可以直接公式计算解析解吧?不过标准方式是采用的牛顿迭代法。初始值就是以geocentric和

连线与椭球体的焦点,此时

这样,我们可以计算函数S相对于

的导数,用牛顿迭代法不断逼近,找到满足自己要求的

值:

我个人对这个迭代对应的几何意义理解大概如下,迭代调整α,不断的缩小alpha*n_s的距离:

Iteration 1:初始值,得到

Iteration 2:以

的geodetic normal方向进行scale,得到某个未知,连接r,得到

Iteration 3:同理,不断逼近,得到满足容限的近似解

本文到此结束,主要介绍了球心坐标系转换的相关内容,因为涉及到椭球而变得有些复杂,但在坐标系转换这方面并不复杂。下一篇介绍运动学中常用的Denavit-Hartenberg Algorithm。

参考资料:Cesium

3D Engine Design for Virtual Globes第二章

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LET 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档