热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

确定球面大圆弧上的点坐标

大圆弧通过两断点经纬度确定,已知大圆弧上一点的纬度求这个点经度转化为两个平面求交点的问题大圆弧是一个平面纬度所在纬度圈为一个平面两者会相交成一条直线a1xb1yc1z

大圆弧 通过两断点经纬度确定,已知大圆弧上一点的纬度 求这个点经度
转化为 两个平面求交点的问题 大圆弧是一个平面 纬度所在纬度圈为一个平面 两者会相交成一条直线
a1x+b1y+c1z=0(大圆弧平面过原点(0,0,0),d=0)
a2
x+b2y+c2z+d2=0
其中 x y z 是空间直角坐标系 又有
x = Rcos(B)cos(L)
y = Rcos(B)sin(L)
z = Rsin(B)
其中 a1到d2这些参数很容易通过三个点确定平面参数得到 大圆弧的三个点分别是 原点(0,0,0) 大圆弧两个端点(φ1,λ1)(φ2,λ2)==>两个空空间直角坐标系
对于纬线圆 过小圆圆心(0,0,R*sinφ)R为地球半径 和任意两个纬度等于φ的点(φ,λ1)(φ,λ2)两个空空间直角坐标系
所以上面五个方程 只有一个未知数 即L经度 易得结果

在这里插入图片描述
在这里插入图片描述
算法有误 其实对于小圆弧形成的方程是一个恒等式
在这里插入图片描述
因此只需要运用
a1x+b1y+c1*z=0(大圆弧平面过原点(0,0,0),d=0)
x = Rcos(B)cos(L)
y = Rcos(B)sin(L)
z = Rsin(B)
四个方程即可得到结果 需要利用三角函数的辅助角公式 其中要注意 a1=0和a2=0的特殊情况


推荐阅读
author-avatar
多米音乐_34176403
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有