首页 > 编程知识 正文

球面公式半径,球面距离公式推导

时间:2023-05-06 14:01:09 阅读:188450 作者:3485

携程预赛的时候有一题是几何问题,已知两点经纬度求球面距离。当时没有推导公式,直接网上搜搜了公式直接套用。。。

今天在高数课上想起同样的问题,就在课上推导了那个公式。。。


已知两点经纬度,A(wA,jA)B(wb,jB)

以下使用均为弧度制。。。。。。(图片是网上搜的,不存在侵权哈。。。)


//由图可知//角AOC=wA//角BOD=wB//角COD=jB-jA(<=180度)//AC=R*sin(wA)//OC=R*cos(wA)//BD=R*sin(wB)//OD=R*cos(wB)
//由AB^2=AE^+BE^2 和 CD^2=OC^2+OD^2-2*OC*OD*cos(角COD)//可推导出AB的距离方程

接下来就可以再次利用余弦定理求圆心角AOB,从而求出弧长。。。



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



还有另外一种方式推导,用空间直角坐标表示。。。

在以球心为原点建立空间直角坐标系,那么A,B两点可以用坐标表示。。。


使用向量夹角公式 cos<夹角> = 两向量之积 / 两向量模的乘积 <夹角> = arccos( 两向量之积 / 两向量模的乘积 )

//那么AB两点的球心角arccos(Xa/R*Xb/R+Ya/R*Yb/R+Za/R*Zb/R)//两点球面距离就是R*arccos(Xa/R*Xb/R+Ya/R*Yb/R+Za/R*Zb/R)


式子虽然不是上面那个,但是把点代进去应该可以得到上面的式子,我觉得用这个式子好记就保留下来。。。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。