我国古代发达的天文学,还为人们提供了利用天象来定位的条件。《诗经》中《小雅·大东》中“维南有箕”(啊,南有箕星!)、“维北有斗”(啊,北有斗星!)这样的诗句,这首诗大致作于公元前684年前,证明当时人已经知道利用星座的位置来确定方向。《尚书·尧典》中记载的方向已有东、西、南、北四个,《尚书·禹贡》中增加到八个。1977年在安徽阜阳西汉汝阴侯墓出土的西汉初的六壬式盘上,由八干、四维组成了12个方位。而在成书于西汉前期(公元前一二世纪间)的《淮南子》一书的《天文训》中,已出现了24个方位(图1)。将式盘和指南针组合,就能成为测量方位的仪器,可以测出山川城郭的具体位置,比较精确地表示在平面图上。
《周礼·考工记》称匠人“水地以县”(用水准器和铅垂线来确定地面是否水平),“置以县”(用铅垂线来测定标竿是否垂直)。根据郑玄的解释,“水地以县”就是“于四角立直而县以水,望其高下,高下既定,乃为位而平地”(在仪器的四个角上分别挂上四根直线悬在水面上,由测量者观察各线的高低。测定出各线的高低后,就可以知道地面是否水平。)从这一记载看,当时已经掌握了利用挂着重物的线测量水平面的方法。《周礼》的成书不会晚于战国时期,而其中的一部分内容肯定可以追溯到西周时代。《周髀〔bi币〕算经》、《九章算术》证明,至迟在西汉时,人们已经能够使用多种方法测量山高、谷深、距离,或同时测量山高及远。指南车(无论车子向哪个方向行驶,车上的指示器始终指向南方)和计里鼓车(在车辆行驶过程中测量经过的距离,到达一个规定的距离时,车上的木人击鼓一次)至迟在汉代已经出现,这为大规模、长距离测量提供了有利条件。
鼎的面积毕竟有限,可以想像,铸在上面的图形是相当简单的,它们所能表达的地理位置自然非常粗略。因为在没有测量技术的情况下,人们对地理位置的感觉和表达只能完全出于直觉。
东汉末年天下大乱,陈王刘宠却依靠他神奇的射技暂时保持了一方平安,《后汉书》卷五十有这样的记载:“宠善弩射,十发十中,中皆同处。”(刘宠善于用弩射箭,发十次,十次都能射中目标,而且射中的位置完全相同。)“宠有强弩数千张。”刘宠能“十发十中”的秘诀,据华峤的解释是“以天覆地载,参连为奇。又有三微、三小,三微为经,三小为纬,经纬相将,万胜之方,然要在机牙”。由于这几句话相当隐诲难懂,一直没有引起人们的注意。
这时,沈括理解了陈宠神射的奥秘:所谓“天覆地载”,是指双手握弩的姿势,一手在前,一手在后;所谓“参连为奇”,是指箭镞在所标刻度上的相对位置,这个位置又取决于目标的远近,这样就能确定弩的合适仰角。这一原理和使用相似直角三角形来计算高度和深度的原理完全一致。“三经三纬”(三条横线和三条竖线,即瞄准用的网格或十字线),是设在一个框架上的,射手利用它们就可以上下左右地瞄准目标了。
沈括或许没有注意到《后汉书》中这一句话:“宠有强弩数千张。”显然刘宠一个人无论如何是用不了数千张弩的,这只能解释为他的部下也都使用这样的强弩,也即刘宠使用的特殊的弩。这也说明,刘宠的神射主要得益于这种特殊的弩,而不仅仅是他的技术。这种弩的大批量生产,足以证明刘宠他们当时完全了解弩的特殊功能,而不是个人偶然用上了带有十字网格的瞄准器。
因而,十字仪很可能是首先在中国发明,以后才传入欧洲的。
相传大禹治水时,“左准绳,右规矩”;就是说,他左手拿着准和绳,右手握着规和矩。“准”和“绳”是测定物体平、直的器具,“规”是校正圆的工具,而“矩”则是画方形的曲尺。《山海经》中也说大禹曾派他的两名助手大章和竖亥去步量世界的大小,“竖亥右手把筭〔suan算〕,左手指青邱北”。尽管这些测量工具不一定真发明于大禹时代,大禹的助手也难以量出世界的大小,但说明在上古时代,人们在生产实践中已经掌握了这些工具,也说明至迟在战国后期或汉初已经有了专门测量人员。“矩”的发明更具有重大意义,因为“矩”可以构成直角,而只有构成直角,才可以从事测量。
为了证实这一原理,沈括还亲自作了试验,他在弩上设置了三条横线和三条竖线,并用带有横档的箭来瞄准目标,结果也能十中七八。他认为,如果能在弩机上设法加上刻度,精确度必定能够进一步提高。
“十字仪”或测距仪曾经是欧洲中世纪最重要的测量工具,一般认为,是由普罗旺斯的犹太学者利瓦伊·本·格尔森在1321年首先提到的。它最简单的形式就是一根约四英尺长、带有刻度的矩形杆,矩形杆上还有一条与它始终保持直角的横杆,可以与矩形杆前后滑动。这种测距仪可以用来测量那些无法到达的或不能进行步测的线段的长度。然而北宋科学家沈括却发现,早在公元2世纪末,用十字线网格测量距离的原理在我国已经得到运用。
沈括在海州时,有人在地下挖到一只弩机,沈括看到后,觉得很奇怪:用它来观测山的整个宽度时,弩机上的距离很长,而用来观测山腰的一小部分时,弩机上的距离就很短(因为必须把横档推向离眼更远的位置上,而刻度是从远端起算的)。弩座看来就像一把带有分、寸刻度的尺。沈括认为,原设计者的用意是,当发弩人把箭架在不同的点,并用眼对准箭镞〔zu足〕的两端,他就可以在此弩机上测出山的度,从而就能计算出山的高度,就像数学家所用的相似三角形计算法一样。
这些理论、技术和工具,都为地图的出现和进步提供了条件。
《诗经·大雅》中有一篇《公刘》,相传是周成王的大臣召康公所作。其中有一句称公刘“既景乃冈”,就是在一个山冈上立表测影,以确定方向。公刘的时代大约是公元前15世纪末。