1.1
地球上和地图上的最短航线
女老师用粉笔在黑板上画了两个点,给学生出了一道这样的题目:
“在这两点之间画一条最短的路线。”
小学生想了想,小心地在这两点之间画了一条曲折线。
“这就是最短的路线!?”女老师惊讶道,“谁这样教你的?”
“我爸爸教的,他是出租车司机。”
这位天真的小学生所画的路线当然是可笑的。但是如果有人告诉你,图1中虚线所表示的弧线恰好是从好望角到澳大利亚南端的最短距离,难道你还会发笑吗?下面的说法恐怕更叫人惊奇了:图2中用半圆形线条表示的从日本到巴拿马运河的路线,要比图中直线所表示的路线距离短!
图1 在航海图上,从好望角到澳大利亚南端的最短航线不是直线(斜航线),而是曲线(大圈航线)。
图2 让人难以置信的是,在航海图上连接横滨和巴拿马运河的曲线航线,竟然比这两点之间的直线航线短。
所有这些例子都像是在开玩笑,然而事实上却都是些不容争辩的真理。地图绘制者们对这些道理十分清楚。
为了解释清楚这个问题,我们需要粗略地谈谈地图,尤其是航海图。要在纸上画出地球的表层部分,在原则上就不是一桩简单的事情,因为地球是球形的。而我们知道,球形表面的任何部分都不可能在展开成平面的时候不产生重叠或者破裂。因此,我们就不得不迁就地图上一些无法避免的歪曲。人们想出了很多种画地图的方法,但是所有的地图都不是完美无缺的:地图上总会有这样或者那样的缺点,完全没有缺陷的地图是根本不存在的。
航海家们所使用的地图,是根据16世纪荷兰地理学家和数学家墨卡托的方法绘制的。这种方法叫做“墨卡托投影法”。这种有方格的地图很容易就能看懂:它的经线都是用平行的直线表示,而纬线使用的是垂直于经线的直线来表示的(参见图5)。
现在大家来想一想,怎么计算从某一个海港到同一纬度上的另一个海港的最短距离。海洋上所有的路线都可以通行,我们只需要知道最短航线的方向和位置,就可以沿着这条航线前进了。这种情况下,我们自然会想到,这条最短的航线应当位于两个海港所在的那条纬线上。因为从地图上来看,这条纬线是一条直线,又有什么会比直线还短呢?但我们却犯了一个错误:沿着纬线的航线并不是最短的。
事实上,球面上两点之间的最短距离是通过它们的大圆弧线[1]。但纬线圈却只是“小圆”。连接两点之间的大圆弧线的曲率要比小圆弧线的曲率小,因为圆的半径越大,曲率就越小。
如果我们在地球仪上通过这两点拉紧一条线(见图3),就可以看到,这条线并不是沿着纬线延伸的。毫无疑问,这条拉紧的线表示的是最短航线,但是如果在地球仪上它不和纬线相重合的话,那么在航海图上最短航线就不能用直线来表示。因为航海图上的纬线圈是用直线表示的,任何一条跟直线不重合的线,就应当是曲线。
图3 用一种简单的方法就可以找出两点之间的最短距离:在地球仪上的这两点之间拉紧一条线。
由此就可以明白,为什么在航海图上的最短距离是用曲线而不是直线来表示的了。
据说,在修建从圣彼得堡到莫斯科的十月铁路(那时候称尼古拉铁路)的时候,就如何选择路线问题产生过无休止的争论。最后在尼古拉一世的干涉下才结束了争论:他决定使用“直线法”:用一条直线将圣彼得堡和莫斯科连接起来。如果在墨卡托地图上将这条直线画出来的话,结果将会出人意料地令人难堪:这条路线会是曲线而非直线。
谁如果不嫌麻烦,通过简单的计算就可以证实一点:地图上看起来的曲线航线,实际上比直线航线的距离要短。假设我们要讨论的两个港口和圣彼得堡位于同一个纬度上,也就是北纬60°,两个港口之间的距离是60°。(事实上是否存在着这样的两个港口,对我们的计算不会产生影响。)在图4中,O点表示地球中心,AB代表港口A和港口B之间的纬线圈,AB弧长为60°。C点是纬线圈中心。假设我们以地球中心为圆心,经过A、B作一条大圆弧线,它的半径OB=OA=R;这条弧线会靠近纬线圈AB,但是不会和它重合。
图4 地球上A、B两点间纬圈弧线和大圈弧线哪一条长?
现在我们来计算每一条弧线的长度。由于A、B两点的纬度是60°,因此半径OA和OB与地轴OC之间的角都是30°。在直角三角形ACO中,30°角所对的AC边(等于纬线圈半径)应该等于弦AO的一半,也就是;弧线AB的长度为纬线圈(360°)的,也就是60°。由于纬线圈半径是大圆半径的一半,纬线圈长度也应当是大圆长度的一半,因此纬线圈弧线千米(大圆长为40000千米)。
现在需要计算的是经过A、B两点的大圆弧线长度(也就是这两点之间的最短路线),必须要知道AOB角的大小。小圆上的弦AB对应的弧长为60°,这条弦为这个小圆的内接正六边形的一边,因此。通过地球中心O点,作一条连接弦AB中点D的直线OD,我们得到一个直角三角形ODA,D角为直角。
查三角函数表可知,∠AOD=14°28'.5,
因此∠AOB=28°57'。
现在就不难算出所求的最短路线是多少千米了。由于地球大圆一分的长度等于1海里,亦即大约1.85千米,所以可以简单得出28°57'=1737'≈3213千米。
由此可知,航海图上沿着纬线圈用直线表示的路线长3333千米,而沿着大圆的路线(在航海图上是曲线)长3213千米,后者比前者少了120千米。
只需要用一根线和一个地球仪,大家就可以简单地检验上述各图中所画的线路是否正确,并可以证实,大圆弧线的位置是否确实跟图上所画的一致。在图1中所画的从非洲到澳大利亚的“直线”航海线为6020海里,而“曲线”航线为5450海里,后者比前者要短570海里,或者1050千米。在航海图上,从伦敦到上海的“直线”航空线是需要穿过里海的,而事实上最短的航空线应该经过圣彼得堡再往北。显然,这些问题对于节省时间和燃料起着十分重要的作用。
如果说在使用帆船航海的时代人们并不一定把时间看得很重要,因为在那个时代“时间”还不是“金钱”的代名词,那么,自从出现了轮船之后,多使用一吨煤,就得多花一吨煤的钱。这就是为什么在我们的时代,轮船一定要沿着真正最短的航线前行,所使用的地图经常都不是墨卡托地图,而是一种叫做“心射投影”的地图:在这种地图上大圆弧线是用直线表示的。
那么为什么从前的航海家却要使用那些不正确的地图,并且选择不适当的航线呢?大家可能会认为,这是因为在古代人们还不知道我们所说的航海图的特点,但这种想法是错误的。问题的关键是,虽然使用墨卡托法绘制的地图有某些缺陷,但是对航海家们来说却有非常大的价值。首先,这种地图表示的地球表面的个别小区域并没有被歪曲,而是保持着本来的角度。不过这一点对于远离赤道的地方就不适用了,因为那些地方的地面轮廓比实际的要大。在高纬度地区,地面轮廓拉伸得相当大,如果一个不熟悉航海图特点的人看到这样的地图,就会对大陆的实际大小产生完全错误的印象。比如说,他会觉得格陵兰岛和非洲一样大,阿拉斯加比澳大利亚大,而实际上格陵兰岛只有非洲的,阿拉斯加加上格陵兰岛都才只有澳大利亚的一半大小。然而熟悉航海图这种特点的航海家就不会产生这样的迷惑。他们能够容忍航海图的这种特点,何况对于范围不大的区域,航海图上的形状跟实际情况也是极其相似的(见图5)。
图5 全球航海图或者墨卡托地图。在这种地图上,高纬度地方的轮廓扩大得相当厉害。例如,请问:是格陵兰岛大,还是非洲大?
所以,航海图可以大大简化实际航海问题的解决。这是唯一一种用直线来标示轮船定向航行的地图。“定向航行”指的是沿着一个不变的方向,保持一定的“方向角”。换句话说,“定向航行”就是指轮船前进的路线和所有经线相交的角度都是相等的。而这样的航线(也叫斜航线[2])只有在所有的经线都是相互平行的直线的地图上才能用直线表示出来。由于地球上的经线圈和纬线圈相交的角度都呈直角,所以在这种航海地图上,纬线圈就应当是垂直于经线的直线。简单来说,我们所看到的就是经纬线绘成方格网的地图,这正是航海图的特点。
现在我们就明白了,为什么海航家们对墨卡托地图情有独钟。当领航员需要确定到指定的港口应采取的路线时,他就会拿一把尺子在出发的海港和指定到达的海港之间画一条直线,并且测量这条直线和经线相交形成的角度大小。在空旷的海洋上,领航员只要永远沿着这个方向前进,就能准确无误地将船只驶到目的地。大家可以看到,虽然“斜航线”并不是最短和最经济的航线,但在某种程度上,对航海家来说却是十分方便的航线。假如说,我们要从好望角到达澳大利亚南端(见图1),就需要一直沿着南87.50°东的方向航行。如果想要走最短的航线(大圈航线),从图1可以看出,必须不断改变航行方向:先取南42.50°东的方向,到达时为北53.50°东方向(此种情况下,最短航线实际上甚至不存在的,因为此时的航线要触及南极冰层了)。
这两种航线(斜航线和大圈航线)也会重合,这种情况发生在当大圈航线在航海图上刚好是用直线表示的时候,也就是沿着赤道或者经线的时候。在其他任何情况下,这两种航线都是不一样的。