关于牵星术的明确记载,始见于《周髀算经》,《周髀算经》一书是中国现存最早的数理天文学著作,其中包含有一些古老的天文资料,该书有可能定型于战国时代,也有人认为其成书于西汉。书中卷下有二处涉及牵星术的地方,分别为测定北极极枢和二十八宿距度的方法。
关于极枢的测量,其术为:
“欲知北极枢,旋周四极。常以夏至夜半时北极南游所极;冬至夜半时北游所极,冬至日加酉之时西游所极,日加卯之时东游所极,此北枢璇玑四游。正北极枢璇玑之中,正北天之中。正极之所游,冬至日加酉之时,立八尺表,以绳系表颠,希望北极中大星,引绳致地而识之。又到旦明,日加卯之时,复引绳希望之首,及绳致地而识,其两端相去二尺三寸,故东西极二万三千里。其两端相去,正东西。中折之以指表,正南北。”
我们知道,天穹北极一般很难有一颗亮星作为准确的北极标志,我们所谓的北极星,都没有真正处于北极,只是距离北极最近的亮星。
古人要找到北极,必须通过测量其它星来推定北极的位置。这里是选择北极附近的大星,作为观测对象。这颗大星环绕极枢作周日视运动,其处于极枢东西南北四个位置时,称之为璇玑四游,测定璇玑四游,极枢即处于“璇玑之中”。即得于四游的交叉点上。
测量时在地中立一表,表高八尺,在表的顶部拴一条绳子,牵直并移动绳子,让眼睛顺绳子望去,使表顶与被瞄准的北极旁的大星处于一条线上。这时在地上标出绳子与地面的交点。这种瞄准测量技术,古代著作中称之为“参”或“参照”。
经过不同时间先后测量,可在地面获得大星在极南、极北、极东、极西四个测量点位,其中最有意义者是东西两点,两点间联线取中,即为极枢在地面的测量点位。从这一点出发,通过表顶,所望到的天区即为极枢所在处。
如果测量者取极枢至极枢在地面的测量点之间的联线在地表上的投影线,就是立表处的南北子午线。当然,该处子午线也可直接从垂直立表之根部至极枢在地面的测量点位获得。
有了这样的表与子午线,观测者还可以利用牵星术进行中星观测。经度,子午线就是经度,对于中国来说,推定北极、及测量子午线并不成问题,而是早就知道的事情!
中国古人习惯于中星观测,这个天文传统决定了与其相关的用事制度的形成。
事实上,子午线不仅在公元前5000年就已为先民所认识,中国古代应用圭表就可以测量北极方向,也能测量子午线,《周髀算经》中有记载如何使用圭表测量子午线的方法,
隋代刘焯力主实测地球子午线。源起是中国史书记载说,南北相距1千里的两个点,在夏至的正午分别立一八尺长的测杆,它的影子相差一寸,即“千里影差一寸”说。刘焯第一个对此谬论提出异议。
后于724年,唐张遂等才实现了刘焯的遗愿,并证实了刘焯立论的正确性。(他在《皇极历》中,他首次考虑视运动的不均匀性,并主张改革推算二十四节气的方法,废除传统的平气,使用他创立的定气法。)
至唐代的僧一行完成了人类历史上第一次对子午线长度的测量,证实了《周髀算经》的“千里差一寸”的说法是错误的!
直至利用北极星、子午线的牵星术进行航海定位,宋元明时代都有应用及发展!
牵星术就是利用北极星高度角来获得当地纬度的,这是中国早就知道的!
--------------------------------------------------------
测角仪:“牵星术”、四分仪、六分仪
我们可以看到《坤舆万国全图》其中几处提到了北京的纬度是40度,究竟是怎么得出来的呢?
北京(京师)的纬度是40度:
此段内容在《坤舆万国全图》卷首处部分,其中:
“又用纬线,以著各极出地几何。盖地离昼夜平线度数与极出地度数相等,但在南方,则著南极出地之数,在北方则著北极出地之数也。故视京师隔中线以北四十度,则知京师北极高四十度也。”
其实这里应用了“牵星术”原理,“牵星术”又名“过洋牵星术”,一种利用星星进行导航的航海技术,一句话概括,它是一种测量所在地纬度的技术,在大海航行时使用,可以有效地进行导航。
“牵星术”,具体来说,就是使用简单的测角仪,从而来为船队定位。其实,也就是古代的“勾股测量法”哦!
星体在天上好比灯塔,如能分别测出两座灯塔的基点(这种基点称为“星下点”——星体与地心的连线和地球表面上的交点)与航船的距离,就能得到航船的大致方向和位置。但测星定位受天气影响很大,看不见星体时就无法使用,所以,也需要指南针等其他辅助。
图 牵星术中用于定位的“星下点”
它的原理是什么呢?
众所周知,所谓纬度,就是地球上某点和地心连线与赤道面之间的夹角。
图 牵星术“A点的纬度就是AO与赤道面的夹角,也就是∠1。”
A点的纬度就是AO与赤道面的夹角,也就是∠1。然而,我们知道北极星是在地球自转轴上的,(如图中,红色的北极星在红色的地轴上)。且北极星距离地球无限远。
那么,点A和北极星的连线就和地轴平行,如此,很简单就可以证明出,点A和北极星连线与地面的夹角∠2就等于∠1。——也就是说,在地球上某地观测到的北极星仰角,就是该地的纬度。所以,测量纬度就是如此简单,只要我们测出北极星的仰角就成了。
而这个原理,据说“古希腊”《天文学大成》中记载阿拉伯人“发明”四分仪,然后六分仪的原理是牛顿“提出”的。
四分仪就是四分之一圆的一个量角器,上端有两个小孔,可以通过小孔去观测星星。还有一根通过圆心的铅垂线,通过小孔看到北极星后,铅垂线所标出的角度,就是北极星的仰角,即本地纬度。
图 四分仪
根据图上所示,其实应用了中国的“勾股定理”,也是中国牵星术的原理。
牵星术测量的原理是“勾股定理”,中国古代测量中运用的最广泛的是勾股弦三角测量。其原理即是勾股定理,古人将其简化为勾三股四弦五来表示三边的这种关系。
实际上,“勾股测量法”(“勾股测望术”)来自于天文,这是最早的天体测量学,即便现在也在使用。后来在徐光启、利玛窦等人的改名换姓后,变成了西方的“几何”,这样一来中国人就难以发现两者联系的秘密了呢!
在直角三角形中,其直角两边分别称为“勾”“股”,斜边称“弦”,这种名称的来源与测量有关。
《周髀算经》中的髀就是股。髀字本义指腿,引申为立表,汉人蔡邕即认为髀就是表。弦就是弓弦,在这里就是表顶牵扯至地的测绳。在直角三角形中指的是斜边。标有尺寸的测绳是一种古代重要的测量工具,古书中一般称之为绳,如“准绳”,与表相配合者也有称“缀”者,如“表缀”,亦有称索者。
中国古代著名的数学著作《九章算术》中有这样的题目:“今有竹高一丈,末折抵地,去本三尺,问折者高几何?古人称表端为末,表底为本。这种测量方法与牵星术是相同的。
《隋书·天文志》记有梁代尚运用的“推北极里数法”,其术为:“夜于地中表南,傅地遥望北辰纽星之末,令与表端参合。以人目去表数及表高自乘并而开方除之为法。”
这种在立表顶端系绳用于测量的方法在这里再次得到体现。弦(绳)从表顶斜扯至地面,所以,弦在测量中代表直角三角形的斜边。其次说勾,古文多写为“句”,这也是最难解之一,在直立的三角测量中,勾一般都是指地面上的直角边。为什么称此边为勾,主要是从三角测量中所用的测勾而来。
要说到测勾,就必需讲至测矩。
中国古代测矩的出现,又比早期的表绳测量进了一步。因为矩本身带有直角,其边上还刻有尺度,只要摆放得当,运用起来,即可以取代圭表与绳的测量方法,同时,其携带与运用也比表绳方便得多。
但是矩在测量中变换测量角度很不方便,于是就有了带绳钩的矩。值得注意地是,矩的勾股边尺寸和形状一般是固定不能变化的,但在这里,其勾的高度是可以变化的,如何变化,其具体形式,我们目前不好推测,大致推测矩的一边上,设有可以移动的钩。
应用时将与股端相连的绳挂在钩上,移动钩绳进行测量,以改变测量三角的形状。也可以不设绳,直接从钩端处测望。《周髀算经》云:“是故知地者智,知天者圣。智出于勾,勾出于股。”这段文字是说三角测量中的勾股测量,股上有勾,勾上有数,见数而知天地,知天地者为圣智。
这也说明,古人对于能进行天文地理测量如此,则在立表牵绳中,立表为股,牵绳为弦,测钩为钩,钩同勾,勾股弦之得名盖在乎此。其法与牵星术同出一源。
--------------------------------------------------------
为什么看北极星的仰角等于当地的纬度?
一方面,因为北极星离我们太远了,远在434光年之外,比地球绕日轨道远的多,所以从地球上看,它的位置几乎不变,我们就不用担心地球公转带来的视差了,因此自古以来,人们经常使用北极星的星光导航。
这是因为北极星在地球转轴的延长线上,因为北极星距离地球远在434光年,作为测量,可以认为北极星是无限远的一点。这样我们在地球的其他位置看北极星的方向,和地轴方向就是平行的。
因为一个位置的纬度,就是这个位置和地心连线,与同经度赤道位置和地心连线的夹角。而我们测量北极星得到的夹角正好等于我们所在的纬度夹角。所以只要测出北极星的仰角,就是我们所在位置的纬度。
北极星的仰角等于当地纬度,这个命题的前提其实是北极星距离地球足够远,远远大于地球半径。基于这个前提,北极星的光线会近似于平行的射在北半球上(北极星在地球北极的地轴延长线上)。
也就是说,从北半球上任意位置看北极星,北极星都是在同一个方向。明白了这一点后,就可以简单验证了,如图三个红色标出来的角,依次用平行线和互余的知识可以证得三个角相等,所以得出结论:在北半球看北极星,北极星的仰角等于当地纬度。
图 北极星的地平高度(天体仰角)=当地纬度
换句话说,我们站在地面上(或者海平面上),极目远眺,如果没有遮挡物,会觉得地面或海面无限向远处延伸,形成了所谓的地平线或者海平面。
但实际上,地球是个球体,我们所认为的地平面或海平面,只是假想出来的一个平面,它与地球的大圆相切。我们站着的这个平面上与它垂直,并一直指向地球的球心。
也就是说,测量当地北极星的高度角,从而就能得到当地的纬度。
图 测量北极星高度角示意图
我们测量北极星的高度角,也就是它与地面的夹角,其数值就正好等于:我们所在的位置到地心的连线与赤道面的夹角。而后者正好是地球纬度的定义。
图 北极星光射来方向渐变动态图
随着观测者从赤道走向北极,所处位置测量的北极星与地平面夹角θ1逐步增大,而与地心连线和赤道的夹角θ2保持一致。
如果在北半球,仰角的度数就等于自已所处的纬度。如果在南半球,是看不到北极星的。
--------------------------------------------------------
“牵星术”、六分仪,及“看北极法”的原理
在《坤舆万国全图》中,其实介绍了该法,即“看北极法”:
“用平圆版,一面或铜或木,务要平整,愈大愈佳。中挂一线,线端坠一丸子,以求其直。中心画十字线,此直线即天顶也,横线即地平也。
此线以上为地上,从中心以规运一大圈,以当天之圆体。十字间匀作四停,每停画成九十度,共刻成三百六十度。
用时,只刻一停九十度,亦足矣。
如版式宽大,则每度分作六十分,更妙也。中心钉一量天尺、又可以旋转者,中界直线,两头刻去一半,以看度分尺。
上离心三寸,置两耳,耳中各钻一小眼,务要两眼直对,可以透望。
夜对北极望之,看在地在线几十度,即知此地上北极出地若干度,为此地离赤道若干度。”
图 量天尺(圭表)—《看北极法》(日刻版)
图 牵星板的测量原理
此法应用的原理正是:北极星高度=当地纬度,即与“牵星术”定位所用原理是一样的,但是,其“中心钉一量天尺,又可以旋转者”,已经比从前测量子午线的仪器更先进了!
六分仪也是用此原理,只是换成了镜面,变成了:北极星高度角(天体仰角)=当地纬度(反射角=入射角)!
图 六分仪原理示意图
所以,“牵星术”、六分仪所用原理都可以这样表示:
图 牵星术、六分仪+“星下点”:北极星高度=当地纬度01
图 牵星术、六分仪+“星下点”:北极星高度=当地纬度02
再加上,《坤舆万国全图》中的“看北极法”量天尺:“夜对北极望之,看在地在线几十度,即知此地上北极出地若干度,为此地离赤道若干度。”
牵星术单位是“指”,“指”以下单位是“角”,一指等于四角。“角”可从牵星板刻度读出,或用小 象牙块量得。
即,勾股测量法(勾股测望术):北极星高度=当地纬度,或者,北极星的高度角(天体仰角)=当地纬度
因此,测量当地北极星的高度角(天体仰角)=当地纬度!
所以,我们能够测得北京的纬度是40°!(更精确的北京纬度由朱载堉测得,他是中国历史上第一个精确计算出北京的地理位置(北纬39°56′,东经116°20′)的人。而《坤舆万国全图》的北京纬度尚是40度,说明绘制于朱载堉之前哦!)
明代的牵星,一般都是牵北极星,在低纬度(北纬六度)下看不到北极星时,改牵华盖星(北极星是小熊座a星,华盖星是小熊座β、γ双星)。另外,还定出其它方位星进行观测,如织女星、灯笼骨星等。
明代在航海中还定出了方位星进行观测,以方位星的方位角和地平高度来决定船舶夜间航行的位置。当时叫“观星法”,观星法也属牵星术范围之内。
郑和航海图中记录了大量的牵星坐标,如北辰星三指、灯笼骨星7指等,这些类似恒星高度角的观测值记录了某个地点的纬度值。航路点岛屿间的短距离航行过程中主要依据指南针的定向,以时间更数计程,观测北辰等星座的目的是确定南北的偏移,接近目标时通过对景定位,观测海岛山峰的高度角判断远近,准确抵达目的地;在长距离跨洋航行时,则难以依靠罗盘定向航行,必须通过观测一组恒星的高度角来控制航线,牵星跨洋来寻找目的地,这样的图称为跨洋牵星图。
海图上共记录了64处各地所见的北辰星和华盖星的高度。同时,观测的牵星记录和测量的水深也都有记载。《郑和航海图》详细记录了我国船舶航行于东南亚、印度直到东北非的航程,直到16世纪初葡萄牙人在东南亚航行时,仍旧用我国的针路。
在此要说明的是牵星坐标是目的地的准确坐标值,通过一组恒星来控制纬度,这种方法在长距离跨洋航行中发挥着重要的导航作用。因为如果只有指南针的话,在茫茫大海中,季风、海流、地磁变化等会使航向偏离,有了牵星观测就会有效修正偏移差错,准确抵达目标。
--------------------------------------------------------
《坤與万国全图》中的南北纬度数
在《坤與万国全图》黄赤道节气部分也同样提到了北京纬度是40度,不过内容略有差别。
图 《坤與万国全图》黄赤道节气示意图部分
上图也说了“假如右图,京师地方北极出地平线四十度,则赤道离天顶南亦负四十度”,图中也画了“出地四十度”!
这里面说的是北京是北纬40°,赤道南同样位置为南纬-40°,而现在北京的纬度是北纬40°左右,和现在的说法一样,证明测绘已经很精确了!
这几处地方都说到了北京的纬度是40°,都是应用的“北极星高度=当地纬度”得知纬度度数的,说明当时的中国人已经知道地理经纬度了,于现今表达方式并无差别!
或者说,其实,现在的天文地理知识是来自于中国古代才对!
而此时的西方尚未建立天文台,本初子午线更没有,更别提西方一直无法确定经度,因其无“南”向,也无测量方向的仪器,它们自然不可能确定“经度”了,因此这只能是中国自己的知识!
有了这些知识,绘制带有经纬度的中国地图,乃至世界地图也是完全可以做到的,上面反复提到北京是北纬40°,还附有计算“太阳出入赤道纬度”的度数表,这想必已是长期观测获得的数据,那么当时的明朝以此绘制精确的经纬度的中国地图也是正常的!
其中“太阳出入赤道纬度”的度数表,这应该是反映太阳视运动的日躔表,以二十四节气为引数,列出各气内太阳的实际运动数,和平均运动数的差等各种有关数据。利用此表可以进行在从平朔改正到定朔时因太阳而产生的改正数。皇极历是我国古代现存最早的完整的载有二十四节气太阳视运动不均匀性改正数值表(日躔 Chán表)的历法,其前身即张子信的“入气差”。
中国历法是阴阳合历,观察到“月行迟疾”后产生的“定朔法”,“日行迟疾”产生的“定气法”计算太阳视运动出现日躔表,西方没天文台就没有积累,即便有了历法和天文台,也与月亮、节气无关,自然不可能有日躔表的观测数据出现,时间也更加不够呢!
如此,这种勾股测量法演变出“六分仪”,现在被认为是西方“发明”的,但是,我们知道西方古代一直不能测量经度,那就不可能是勾股测量法的发明者,更不可能突然在毫无基础的情况下,“发明”出六分仪来。这只能来自于中国。
六分仪的原理是:根据光学的基本原理光线的反射角等于入射角。由牛顿“首次”提出,利用最基本的光学原理,光经平面镜反射后,入射角等于反射角这一原理,用于航海时利用太阳光来定位的一个仪器,在子午仪和无线定位出现前,应用比较广泛,用于GPS定位。
六分仪外形是扇形,组成部分有一架小望远镜,镜头里面有一半透明一半反射的固定平面镜即地平镜组成,一个与刻度指标相连的活动反射镜即指标镜。六分仪的刻度弧为圆周的1/6。
用来测量远方两个目标之间夹角的光学仪器。通常用它测量某一时刻太阳或其他天体与海平线或地平线的夹角,以便迅速得知海船或飞机所在位置的经纬度。
观测者通过小望远镜观望水平线,同时调较活动臂,让天体(例如太阳)的光线刚好反射到小望远镜,这样,太阳的影像便会和水平线重合。再查看刻度,便可知道太阳距离水平线的角度了。
六分仪是相当准确的仪器,能达到10角秒(1角秒即1度的1/3600 )的精度,而实际定位则准确至1公里左右。
图 六分仪动态示意图
使用时,观测者手持六分仪,转动指标镜,使在视场里同时出现的天体与海平线重合。根据指标镜的转角可以读出天体的高度角,其误差约为±0.2°~±1°。在航空六分仪的视场里,有代替地平线的水准器。这种六分仪一般还有读数平均机构。六分仪的特点是轻便,可以在摆动著的物体如船舶上观测。缺点是阴雨天不能使用。二十世纪四十年代以后,虽然出现了各种无线电定位法,但六分仪仍在广泛应用。
六分仪在目前的远洋轮船上还有配备,作为应急测量船位用。其测量的原理是用六分仪测某颗星对水平线的角度,并查航海表,就可在海图上得到代表船舶所在位置的一条线,连续测量两颗星,就能得到两条线,两条线的交叉点就是船舶所这位置。由于测量时各方面可能存在误差,因此一般要求同时测量多颗星,得到多个船舶位置,真实的船位一般就在这些测量船位的中心。
在陆地上其定位功能和经纬仪有相似的地方。比如观测定位一条船在河流的一个断面上的位置。如果是使用经纬仪,则需要在河岸求一条和河流断面垂直的线,在直角那个点插好标尺,利用经纬仪测出直角三角形的一个锐角和岸上已知长度的直角边,可以确定船的位置。
和经纬仪比优点就是避免在岸上的辅助工作,不用岸上有人配合。缺点就是测量员必须有足够的经验,因为船在水面是摇摆不定的,站稳同时能够瞄准两个目标难得还是比较大的。
六分仪和子午仪可以用来确定位置:六分仪可以从太阳和星座的角度和高度来测量纬度,子午仪可以从子午线知道经度,来确定位置!(是在没有GPS的情况下)
因此,当西方“发明”六分仪时,由于需要换算纬度,那么显然西方需要建立一套观测经纬度的体系,而当时只有明朝可以做到。现代西方只是改成新的“经纬度”标准,其本质并未改变,所以,“经纬度”是从明朝中国传入西方的!
至于,用六分仪测量北极星的仰角,可以测量位置的纬度的原理,这些都是应用的“牵星术”定位的原理,那么就不能说阿拉伯人“发明”的四分仪,甚至六分仪的原理是“牛顿”提出的,而是中国人提出并应用于“牵星术”航海定位导航!
更准确的应该说,牵星术、四分仪、六分仪,乃至象限仪的出现,都是应用的中国的“勾股测量法”(勾股测望术),亦即徐光启所称之“几何”。
geometric -- 几何
geo -- 地理
metric -- 测量
实际上,geometric -- 几何应称之为“勾股测量法”,这是中国古代测量地日距离,天文测量所用。(这一点在<《机器与仪器的制造场》、《奇器图说》与中国古代机械>文章中的“勾股与几何”部分做了解释。)
徐光启所称历法的“北极高度”和纬度是等同的认识,其实这就是“牵星术”用于定位的“北极星的仰角=当地的纬度”的知识,源于中国的勾股定理。
并非是徐光启“首创”认识到将“北极高度”与纬度等同,牵星术应用到的“牵”北辰星,中国古代早就知道如何利用北极星定北向了,自然也就能够知道如何测定子午线,即0度经度。而牵星术也与勾股定理有关,理所当然能够得出“北极高度”=(当地)纬度的概念!
从唐代《大衍历》开始,传统历法中已经引入“服差”的概念——北极高度对日食的影响的相应算法,所以地理经度对历法推算也有影响,因此天文历法与地理测绘才紧密相连的!