分享

球面两点,咋走最短?

 昵称54451547 2019-08-31

今天来研究一个很基本的问题:给定球面两点,如何得到最短路径?首先先严正声明强调是'球面',不能挖洞,不能从内部挖个地道过去,然后说'两点之间,线段最短啊,so easy 了啦啦啦...'.所以如果限定在球面上,问题是不是有点意思了啊?

先回顾基础知识:平面两点是线段最短.可是如果不是平面呢,比如立方体,圆锥,圆柱面....?数学最基本的思想当然是化未知为已知啦--->展开为平面!然后两点连线,然后还原回立体曲面,然后就可以得到最短路径了.这个方法对于立方体,圆锥,圆柱面是可以work的,但是对于球面却是不行的!!!也不用理论上繁琐抽象的证明(虽然可以证明,微分几何啊高斯曲率啊啥啥啥的,有兴趣的可以去看看),简单想象一下,实在不行拿个桔子皮试验一下就可以知道,如果非得把球面摊平到一个平面上,会导致伸缩变形的,所以就别想这条路了...

所以说这问题挖洞不行,压成平面连线再还原也不行,老路是走不通了,还是得另辟蹊径另谋出路啊.到这里发现这问题有点意思了吧,嘿嘿...

球面两点间路径,不难理解,可以是很多类型啊,如图所示:

但是不管怎么说,有一类是很基础简单的类型:在球面上,当然是圆弧了.

显然对于每一个过两点连线线段的平面,它和球面的截线都是一个圆,其中就会产生连接两点的圆弧.那我们还是来考虑一下圆弧的情况吧,至少圆弧是简单的啊,弄清楚了圆弧的情况,至少我们可以得到一个最短距离的上界了嘛,不要白不要不是么,总比啥也不知道瞎猜一个强吧...

ok,那现在开始考虑两点连线是圆弧的情况.

首先我们来弄清楚包含两点的圆的半径的边界情况.先记两点直线距离为2L,半径显然最大值是球直径,记为R,最小值呢?其实也显然,不会低于L吧,再小就不能包含所给的两个点了,所以圆半径的取值范围就是[L,R]

不妨把AB所在圆的半径记为r,如图所示:

于是有:

这样就可以得到只考虑圆弧时,最短距离是过两点的大圆中的短弧.

推导其实还是比较简单的,把问题归结为一个求最小值的问题就简单解决了.注意这里推导时候不要把r表示为arcsinθ啥的再带入弧长函数里面,这样会增加复杂度.推导过程中用到了一个常见的结论,就是当角度α在0~90度时,sinα<α<tanα,这个不等式还是比较常见的,很多放缩不等式里面都有它的倩影.而且这个问题以前已经讨论过了,有兴趣的可以参看以前的博文:

重要极限sinx/x=1,是如何推导出来的?这证法,中学生也能懂啊。。。不过居然还真不能用洛必达来证明,惜哉惜哉!

特殊情况圆弧的算是搞定了,那么一般情况呢?不是圆弧怎么走呢?这个问题其实还是有一定深度的,得用到微分几何的知识了,在这里简单大致提一下吧,详细的也没办法展示了.

先提一个概念'测地曲率',是曲面S上的曲线C在一个点P处的一个值,具体概念不用绕了,知道是个值就行,其中一个特例是直线的测地曲率为0.然后又有一个概念'测地线':对于曲面上的一条曲线,如果曲线的每一点处的测地曲率都为0,则称为测地线.其中测地线有一个非常牛逼的性质-->短程性:在适当的小范围内连结任意两点的测地线是最短线!!!(这个结论需要用到变分法来证明).关于如何判定测地线有一条定理:曲面上的非直线是测地线<==>除了曲率为0的点以外,曲线的主法线重合于曲面的法线.然后球面中的大圆刚好符合这条性质,所以它是一条测地线,所以球面两点间的最短距离就是大圆中的短弧.....

相关博文:

重要极限sinx/x=1,是如何推导出来的?这证法,中学生也能懂啊。。。不过居然还真不能用洛必达来证明,惜哉惜哉!

仅在一点可导的函数,可能存在吗?

塞瓦定理炮轰垂心

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多