北海

引言

我看到一條記錄:「北海,北極出地六十五度,夏至晷景長六尺七寸八分,晝八十二刻,夜一十八刻」。北海是什麼地方?

它不是一般理解的貝加爾湖,貝加爾湖不會出現在如此近北的地方。實際上這句話出自元史天文志中的四海測驗,除此以外沒有任何有用的信息。

分析

「北極出地六十五度」指的是北極星仰角,一般而言,北極星仰角即為觀測者所在的緯度。「夏至晷景長六尺七寸八分」為夏至日日晷的影長,而「晝八十二刻,夜一十八刻」則對應晝夜時長。

北極星仰角

如果忽略掉不知所在的「北海」,「鐵勒」與「南海」,以及極不準確的「和林」與「衡嶽」,此外的記錄大體是準確的。而諷刺的是,五個極不準確的數據卻詳細得多。

城市 詳略 元史仰角測量值(度) 現代緯度(度) 偏差
北海 65 未知
鐵勒 55 未知
和林 45 不適用
上都 43 42 高估
北京 42 41.5 高估
西京 40 40 準確
大都 40 40 準確
西涼州 40 39 高估
太原 38 38 準確
高麗 38 38 準確
登州 38 37 高估
益都 37 36.5 高估
大名 36 36 準確
東平 35 35.5 低估
嶽臺 35 34.5 高估
南京 34 34.5 低估
安西府 34 34 準確
河南府陽城 34 34 準確
興元 33 33 準確
揚州 33 32 高估
成都 31.5 30.5 高估
鄂州 31.5 30.5 高估
吉州 26.5 27 低估
衡嶽 25 不適用
雷州 20 21 低估
瓊州 19 20 低估
南海 15 未知

這是一件奇怪的事情,為什麼在高緯度傾向高估,而在低緯度傾向低估呢。

我想不應該這麼看,如果忽視吉州以下的數據,那麼整體是傾向於高估的。而高估很容易解釋,這是由大氣折射引起的,效果上總是傾向於高估北極星的仰角。緯度越高,則影響越小。

但這沒有意義,我不可能根據不可靠的記錄推測出可靠的結果來。

日晷影長

現在看看詳細的幾條數據:

  • 南海,北極出地一十五度,夏至景在表南,長一尺一寸六分,晝五十四刻,夜四十六刻。
  • 衡嶽,北極出地二十五度,夏至日在表端,無景,晝五十六刻,夜四十四刻。
  • 嶽臺,北極出地三十五度,夏至晷景長一尺四寸八分,晝六十刻,夜四十刻。
  • 和林,北極出地四十五度,夏至晷景長三尺二寸四分,晝六十四刻,夜三十六刻。
  • 鐵勒,北極出地五十五度,夏至晷景長五尺一分,晝七十刻,夜三十刻。
  • 北海,北極出地六十五度,夏至晷景長六尺七寸八分,晝八十二刻,夜一十八刻。

嶽臺是準確的,衡嶽(北緯二十七度)與和林(北緯四十七度)都低估了兩度,另外三個不清楚具體位置。

實際上從第二條記錄的粗糙程度就可以看出來,衡山在北回歸線以北,夏至日不可能沒有影子,只是沒有量出來,可以想見其他記錄也應該將這段沒有量出來的影子補上去。為了抵消這部分誤差,直接考慮對其作差。假設北回歸線的緯度為$\phi_0 = 23.5^\circ$,而測量點的緯度為$\phi$,因此夏至日陽光與垂直方向的夾角為$\phi-\phi_0$,設影長爲$l$。將和林的緯度記作$\phi_1$,影長爲$l_1$;衡嶽的緯度記作$\phi_2$,影長爲$l_2$。那麼顯然有:
$$
\frac{l - l_2}{\tan(\phi-\phi_0) - \tan(\phi_2-\phi_0)} = \frac{l_1 - l_2}{\tan(\phi_1-\phi_0) - \tan(\phi_2-\phi_0)}
$$
解出$\phi$
$$
\phi = \text{atan}\left[\frac{l - l_2}{l_1 - l_2}[\tan(\phi_1-\phi_0) - \tan(\phi_2-\phi_0)]+\tan(\phi_2-\phi_0)\right] + \phi_0
$$
這樣算出其他幾個地點的緯度:

地點 緯度
北海 63.6
鐵勒 56.0
嶽臺 36.6
南海 19.3

已知的嶽臺緯度為三十四點五度,相當於平移了兩度,這是不可兼得的事情。或者以嶽臺為基準,設嶽臺的緯度為$\phi_3$,影長爲$l_3$:
$$
\frac{l}{\tan(\phi-\phi_0)} = \frac{l_3}{\tan(\phi_3-\phi_0)}
$$
得到:
$$
\phi = \text{atan}\left[\frac{l}{l_3}\tan(\phi_3-\phi_0)\right] + \phi_0
$$
同樣可以得到其他幾組結果:

地點 緯度
北海 65.2
鐵勒 56.8
和林 46.6
衡嶽 23.5
南海 14.8

哪一種更可信呢,不好說。單從結果來看和林還算接近,衡嶽卻錯得離譜;而南海,在北緯十八度以南,根本沒有陸地。

晝夜時長

看最後一組數據,晝夜時長。

實際上古人將一天分為一百刻,知道白晝時長即可知道黑夜,反之亦然。假設白天為$n$刻,則夜晚為$100 - n$刻。可以想像一個平面從同一個頂點去截圓錐,夜弧的圓心角為$2\alpha$,則:
$$
\alpha = \text{acos}\left[\tan\phi\tan\phi_0\right]
$$
而圓心角也可以與晝夜時長對應起來:
$$
\frac{\pi - \alpha}{\alpha} = \frac{n}{100 - n}
$$
這樣解出緯度:
$$
\phi = \text{atan}\left[\frac{\cos\pi(1-n/100)}{\tan\phi_0}\right]
$$
注意「大都,北極出地四十度太強,夏至晷景長一丈二尺三寸六分,晝六十二刻,夜三十八刻」。因其規格與六者不同,在影長計算時沒有考慮。現在算出包括元大都在內的結果:

地點 緯度
北海 62.8
鐵勒 53.5
和林 44.4
大都 40.3
嶽臺 35.4
衡嶽 23.3
南海 16.1

可以對比已知的和林(北緯四十七度),大都(北緯四十度),嶽臺(北緯三十四點五度)以及衡嶽(北緯二十七度)。然而,低緯度的觀測數據是不可靠的,緯度與白晝刻漏數之間的關係如下圖所示

latitute_ticks

一個簡單的例子,南海「晝五十四刻」,如果換成五十三,那麼計算出的緯度是十二點二;如果換成五十五,則計算出的緯度為十九點八。再比如,衡嶽「晝五十六刻」,若取五十七,則緯度為二十六點六。由於刻漏的值只能取整數,由圖可知,計算結果在低緯度時對誤差敏感。

實際上,人也很難精確地區分白晝與夜晚。反過來說,在高緯度地區的觀測基本是可靠的,原因也是類似的,即上述曲線呈飽和狀態,對觀測誤差不敏感。

結論

綜上,可以得出以下結論:

北海的觀測手段最可靠的,為晝夜時長的記錄。其次是固定兩點的日晷影長記錄,以其在南海的數值與經驗一致。最不可靠的是對北極星仰角的測量,只能定性的得出高估的判斷,而不能推測具體數值。

我比較傾向認為北海大約在北緯六十二度的某個地方。

後記

如果你奇怪我為什麼要做這個事情,顯然我真實動機並不是對北海任何博物意義上的興趣。

起因是我看到這張圖

map

這就是公然撒謊,而且是很不高明的那一種。原因很簡單,北極圈內有極晝現象,那麼夏至日夜晚的長度便是零。哪怕我沒有具體計算,我也能斷定該地離北極圈還很遙遠。實際上無論哪一種計算結果,都不曾證明蒙古人靠近過北極圈,更不要說北極圈到北冰洋,還有很長的距離。

我知道東北航道的歷史,也知道那是一段血淚而艱難的旅程,以及多少探險隊曾經葬身於此。我還知道歐洲人花了多長時間才發現到北極的洋流,意識到冰層下面是海,而非陸地。但我非常確定郭沫若、譚其驤這些人根本不知道這些,他們像是宮廷的閹人一樣窺伺上意,觀察政治風向;如果輪到他們表演,他們就輕佻地標上去,甚至不需要任何理由。如果他們還在意過所謂的「學者」身分而向國際交代,也可以編一個理由,所謂「日不落之山」便是類似的腳本。

我對此毫不意外,在我看來蒙古人的操守,都好過後來流氓知識分子,所謂「元政以寬」,也是這個道理。反過來在列寧黨那裡,一切都是為政治服務的。我曾經看到一個共產黨鬥爭的失敗者,憤怒地抱怨共產黨如何隨意地竄改歷史,不禁失笑。尊重歷史,這難道不是資產階級行為嗎;文藝歷史要為政權服務,這難道不是黨的政策嗎;至於偽造材料這種事情,你自己有少幹嗎,我不曉得你在抱怨什麼。恐怕只有資產階級那裡,才會為了科學而科學、為了學術而學術。貧下中農學者在學術上毫無創見,只能做一些收集材料的低級事情,然而就這種操守都令人懷疑,如果他們還能稱之為學者的話。

現在這些人又在以類似的方式論證南海的主權,這也反映了「文明古國」的尷尬:留下的可靠記錄少之又少,以外部分只能依靠想像去填補。實際上能模糊定位的,只有蒙古人留下的這一處記錄,其他都是語焉不詳、不知所云的空泛描述。但正如我前面所說,與北海不同,南海的定位是很成問題的。但這些都是次要的,重要的是當局是否有融入國際體系並尊重海洋法的意願,至於要找什麼樣的理由,都不過是枝節的事情。