隙積術與會圓術
【原文】
算術求積尺①之法,如芻萌②、芻童、方池、冥谷、塹堵、鱉臑③、圓錐、陽馬④之類,物形備矣,獨未有隙積一術。古法:凡算方積之物,有立方⑤,謂六冪皆方者。其法再自乘則得之。有塹堵,謂如土牆者,兩邊殺,兩頭齊。其法並上下廣折半以為之廣,以直高乘之⑥,又以直高為股,以上廣減下廣,餘者半之為勾。勾股求弦,以為斜高。有芻童,謂如覆鬥者,四面皆殺。其法倍上長加入下長,以上廣乘之;倍下長加入上長,以下廣乘之;並二位,以高乘之,六而一。隙積者,謂積之有隙者,如累棋、層壇及酒家積罌⑦之類。雖似覆鬥,四面皆殺,緣有刻缺及虛隙之處,用芻童法求之,常失于數少。餘思而得之,用芻童法為上位、下位,別列⑧下廣,以上廣減之,餘者以高乘之,六而一,並入上位。假令積罌:最上行縱廣各二罌,最下行各十二罌,行行相次。先以上二行相次,率至十二,當十一行也。以芻童法求之,倍上行長得四,並入下長得十六,以上廣乘之,得之三十二;又倍下行長得二十四,並入上長,得二十六,以下廣乘之,得三百一十二;並二位得三百四十四,以高乘之,得三千七百八十四。重列⑨下廣十二,以上廣減之,餘十,以高乘之,得一百一十,並入上位,得三千八百九十四;六而一,得六百四十九,此為罌數也。芻童求見實方之積,隙積求見合角不盡,益出羨積也。履畝之法,方圓曲直盡矣,未有會圓之術⑩。凡圓田,既能拆之,須使會之復圓。古法惟以中破圓法拆之,其失有及三倍者。餘別為拆會之術,置圓田,徑半之以為弦,又以半徑減去所割數,餘者為股;各自乘,以股除弦,餘者開方除為勾,倍之為割田之直徑。以所割之數自乘倍之,又以圓徑除所得,加入直徑,為割田之弧。再割亦如之,減去已割之弧,則再割之弧也。假令有圓田,徑十步,欲割二步。以半徑為弦,五步自乘得二十五;又以半徑減去所割二步,餘三步為股,自乘得九;用減弦外,有十六,開平方,除得四步為勾,倍之為所割直徑。以所割之數二步自乘為四,倍之得為八,退上一位為四尺,以圓徑除。今圓徑十,已足盈數,無可除。隻用四尺加入直徑,為所割之孤,凡得圓徑八步四尺也。再割亦依此法。如圓徑二十步求弧數,則當折半,乃所謂以圓徑除之也。此二類皆造微之術,古書所不到者,漫志于此。
【注解】
①積尺:在本文中泛指體積,也就是“立方尺”的意思。積:數學名詞,兩個或多個數相乘的結果稱為這些數的積。在古代算學書籍裏常借用長度單位名稱來兼表面積單位或者體積單位,因此,“積尺”在古代既可以表示“平方尺”,也可以表示“立方尺”。
②芻萌:長方楔形狀,其底面為長方形,兩個側面為梯形,也稱為芻甍(hōnɡ)。
③鱉臑:一種錐體,底面為直角三角形且有一棱與底面垂直。
④陽馬:四棱錐,有時指底面為長方形且有一棱與底面垂直的錐體。
⑤立方:文中指正方體。
⑥以直高乘之:用梯形面的垂直高相乘,文中指用上句中所得的數值(梯形的上下寬相加除以二)與高相乘。至此,實際上就得到了這個梯形的面積,也為下一步乘以長度得到物體的體積作了準備。
⑦罌:古代一種腹大口小的陶製容器。
⑧別列:文中指另外計算。
⑨重列:另外列出。
⑩會圓之術:會圓術,沈括所創的一種計算圓弓形弧長的近似方法,其近似公式為C=a+h2r×6,其中r為半徑,h為矢高,a為弦長。沈括並未給出這一公式的推導,它很可能與《九章算術》中“弧田術”有著某種密切的關系。
別:另,另外。古代無“另”字,用“另”的地方常寫作“別”。
各自乘:文中指將弦、股各自平方。
再割亦如之:再次切割也如此類推。
減去已割之弧,則再割之弧也:(用總的弧長)減去已割部分的弧長,就是再切割之田的弧長了。
步:古代計量單位,一步為五尺。
造微之術:比較精確的計算方法。
志:記,記述。
【譯文】
算術中求物體體積的方法,如芻萌、芻童、方池、冥谷、塹堵、鱉臑、圓錐、陽馬等,各種形狀的物體都具備了,隻是沒有隙積術。古代的演算法:凡計算物體的體積,有立方體,是指六個面都是正方形的物體,其計算方法是把一條邊自乘兩次就可以求得了。有塹堵,是指有點像土牆形狀的物體,兩邊是斜的,兩頭的面是垂直的。它的截面面積的演算法是:先把上、下底的寬相加,除以二,作為截面的寬,用直高與它相乘就求得了一個值;再將直高作為股,用上底面的寬減去下底面的寬,所得之差除以二作為勾,用勾股定理算出弦,就是它的斜邊長。有芻童,是指有點像翻過來的方鬥形狀,四側都是斜面。它的計算方法是:將上底面的長乘二,與下底面的長相加,再與上底面的寬相乘;將下底面的長乘二,與上底面的長相加,再與下底面的寬相乘;把這兩個數值相加,與高相乘,再取其六分之一(就求得了它的體積)。隙積,是指堆累起來而其中有空隙的物體,像堆疊起來的棋子、分層建造起來的土壇以及酒館裏堆累起來的酒壇子一類的物體。它們雖像倒扣著的鬥,四側都是斜面,但是由于邊緣存在著一定的殘缺或空隙,如果用芻童法計算,所得數量往往比實際的要少。我想出了一種計算方法:用芻童法算出它的上位、下位數值,另外單獨列出它的下底寬,減去上底寬,將所得之差乘高,取其六分之一,再並入前面的數目就可以了。假設有用酒壇子累成的堆垛,最上層的長、寬都是兩隻壇子,最下層的長、寬都是十二隻壇子,一層層交錯堆垛好。先從最上層數起,數到有十二隻壇子的地方,正好是十一層。用芻童法來計算,把上層的長乘二得四,與下層的長相加得十六,與上層的寬相乘,得三十二;再把下層的長乘二得二十四,與上層的長相加得二十六,與下層的寬相乘,得三百一十二;上、下兩數相加,得三百四十四,乘高得三千七百八十四。另外將下層的寬十二減去上層的寬,得十,與高相乘,得一百一十,與前面的數位相加,得三千八百九十四;取它的六分之一,得六百四十九。這就是這堆酒壇的數量。運用芻童法算出的是實方的體積,運用隙積法算出的是空缺部分拼合成的體積,也就可以算出多餘的體積。丈量土地的方法,方、圓、曲、直的演算法都有,不過沒有會圓的演算法。凡是圓形的土地,既能夠拆開來,也應該能讓它拼合起來恢復圓形。古代的演算法,隻用中破圓法把圓形拆開來計算,它的誤差有達三倍之多的。我另外設計了一種拆開、會合的計算方法。假設有一塊圓形的土地,用它的直徑的一半作為弦,再以半徑減去所割下的弧形的高,用它們的差作為股;弦、股各自平方,用弦的平方減去股的平方,將它們的差開平方後作為勾,再乘二,就是所割弧形田的弦長。把所割的弧形田的高平方,乘二,再除以圓的直徑,所得的商加上弧形的弦長,便是所割弧形田的弧長。再割一塊田也像這樣計算,用總的弧長減去已割部分的弧長,就是再割之田的弧長了。假如有塊圓形的土地,直徑是十步,想使割出的圓弧高二步,就用圓半徑五步作為弦,五步自乘得二十五;又用半徑減去弧形的高二步,它們的差三步作為股,自乘得九;用它與弦二十五相減得十六,開平方得四,這就是勾,再乘二,就是弧的弦長。把圓弧的高二步自乘,得四,再乘二得八,退上一位為四尺,用圓的直徑相除。現今圓的直徑為十,已經滿了整十數,不可除。隻用四尺加下圓弧直徑,就是所割圓的弧長,共得圓弧直徑八步四尺。再割一塊圓田,也依照這種方法。如果圓直徑是二十步,要求弧長,就應當折半,也就是所說的要用圓弧的半徑來除它。這兩種方法都涉及精確的演算法,是古書裏沒有說到的,隨筆記錄于此。
喻皓《木經》
【原文】
營舍之法,謂之《木經》,或雲喻皓①所撰。凡屋有“三分(去聲)”:自梁以上為“上分”,地以上為“中分”,階為“下分”。凡梁長幾何,則配極②幾何,以為榱等③。如梁長八尺,配極三尺五寸,則廳堂法也。此謂之“上分”。楹④若幹尺,則配堂基若幹尺,以為榱等。若楹一丈一尺,則階基四尺五寸之類,以至承棋、榱桷⑤皆有定法,謂之“中分”。階級有“峻”、“平”、“慢”三等;宮中則以御輦⑥為法:凡自下而登,前竿垂盡臂,後竿展盡臂,為“峻道”⑦;(荷輦十二人:前二人曰前竿,次二人曰前絛;又次曰前脅,後二人曰後脅;又後曰後絛,末後曰後竿。輦前隊長一人曰傳唱,後一人曰報賽。)前竿平肘,後竿平肩,為“慢道”;前竿垂手,後竿平肩,為“平道”。此之謂“下分”。其書三卷。近歲土木之工益為嚴善,舊《木經》多不用,未有人重為之,亦良工之一業也。
【注解】
①喻皓:北宋前期建築師。浙東人。曾被歐陽修稱為“國朝以來木工”第一人。
②極:屋頂。實指屋頂與橫梁之間的垂直高度。
③榱(cuī)等:同“衰等”,等級,比例。
④楹:支撐橫梁的木柱。
⑤承棋:即鬥拱,梁和柱之間的承重結構。榱桷:椽子。
⑥御輦:此指皇帝專坐的轎。
⑦“凡自下而登”四句:抬御輦升階,當抬輦者都在台階上時,最前面的二人(前竿)手臂自然下垂到手能握竿的最低度(“垂盡臂”),最後面的二人(後竿)則手臂上舉到手能握竿的最高度(“展盡臂”),以此保持前後的平衡。這樣的台階比較陡,所以叫做“峻道”。下述“慢道”、“平道”,坡度依次降低,文意參此。
【譯文】
關于屋舍的營造技術,有一部專門討論的書籍叫做《木經》,有的說是喻皓所撰。此書將屋舍建築概括為“三分”:自梁以上為“上分”,梁以下、地面以上為“中分”,台階為“下分”。凡是梁長多少,則梁到屋頂的垂直高度就相應地配多少,以此定出比例。如梁長八尺,梁到屋頂的高度就配三尺五寸,這是廳堂的規格。這叫做“上分”。柱子高若幹尺,則堂基就相應地配若幹尺,也以此定出比例。如柱子高一丈一尺,則堂前大門台階的寬度就配四尺五寸之類,以至于鬥拱、椽子等都有固定的尺寸,這叫做“中分”。台階則有“峻”、“平”、“慢”三種;皇宮內是以御輦的出入為標準的:凡是抬御輦自下而上登台階,前竿下垂盡手臂之長,後竿上舉也盡手臂之長,這樣才能保持平衡的台階叫做“峻道”;(抬輦的共有十二人:前二人稱前竿,其次二人稱前絛;又其次二人稱前脅,其後二人稱後脅;再後二人稱後絛,最後二人稱後竿。御輦的前面有隊長一人稱傳唱,御輦的後面有一人稱報賽。)前竿與肘部相平,後竿與肩部相平,這樣才能保持平衡的台階叫做“慢道”;前竿下垂盡手臂之長,後竿與肩部相平,這樣就能保持平衡的台階叫做“平道”。這些叫做“下分”。其書共有三卷。近年土木建築的技術更為嚴謹完善了,已多不用舊時的《木經》,然而還沒有人重新編寫一部這樣的書,這也應該是優秀的木工信得留意的一項業內之事。
畢昇發明活字印刷
【原文】
版印①書籍,唐人尚未盛為之,自馮瀛王②始印五經,已後③典籍④皆為版本⑤。慶歷中,有布衣⑥畢昇,又為活版⑦。其法用膠泥刻字,薄如錢唇⑧,每字為一印,火燒令堅。先設一鐵板,其上以松脂、臘和⑨紙灰之類冒之。欲印則以一鐵範⑩置鐵板上,乃密布字印。滿鐵範為一板,持就火煬之,葯稍鎔,則以一平板按其面,則字平如砥。若止印三、二本,未為簡易;若印數十百千本,則極為神速。常作二鐵板,一板印刷,一板已自布字。此印者才畢,則第二板已具。更互用之,瞬息可就。每一字皆有數印,如“之”、“也”等字,每字有二十餘印,以備一板內有重復者。不用則以紙貼之,每韻為一貼,木格貯之。有奇字素無備者,旋刻之,以草火燒,瞬息可成。不以木為之者,木理有疏密,沾水則高下不平,兼與葯相粘,不可取。不若燔土,用訖再火令葯鎔,以手拂之,其印自落,殊不沾污。昇死,其印為餘群從所得,至今保藏。
【注解】
①版印:雕版印刷,即在成塊的木板上按鏡像雕刻好文字、圖案,再用這樣的板子進行印刷。一般認為這種方法起源于隋代。
②馮瀛王:馮道(882—954年),五代時瀛州景城(今河北滄州西)人,後唐、後晉時歷任宰相,後漢時任太師,後周時又任太師、中書令,死後追封為瀛王。
③已後:以後。已,通“以”。
④典籍:經典和古籍。
⑤版本:用雕版法印製而成的書籍,相對于抄本而言。五經等儒家經典過去隻有手抄本,自馮道組織人用雕版法印製後,才有了區別于抄本的版本。
⑥布衣:平民。
⑦活版:即活字板。唐代雕版印刷已經很發達,但都是用整塊的木板整頁雕刻。活版則不同,是用一個個字模臨時拼組而成。活版的出現,標志著印刷術又經歷了一次革命,是中國古代重大發明之一。
⑧錢唇:銅錢的邊。畢昇的泥活字,是用膠泥製成塊後刻出的反體凸字,“薄如錢唇”是說所刻反體凸字的厚度與銅錢邊緣的厚度差不多。
⑨和:混合。
⑩鐵範:鐵框子。範:模子。
就:靠近。
葯:即上文“松脂、臘和紙灰之類”,有黏性,遇熱熔化,冷卻後會凝固。
如砥:意思是說像磨刀石一樣平。
自:另自,別自。
更互:交替,輪流。
貼:貼上標簽,用標簽標示。
貯:儲存。
素:往常,平常。
木理:木材的紋理。
燔(fán):燒。
【譯文】
畢昇用雕版印刷書籍,唐朝人還沒有大規模採用。至五代時的馮瀛王才開始用雕版印製五經,從那以後的各種典籍和圖書都是雕版印刷本了。慶歷年間,有位叫畢昇的平民又創造了活字印版。他的方法是用膠泥刻字,字的厚薄像銅錢的邊緣一般,每個字製成一個字模,用火燒烤使它變得堅硬。先設定一塊鐵板,上面用松脂、蠟混合紙灰這一類東西覆蓋住。想要印刷時,就拿一個鐵框子放在鐵板上,然後密密地排列好字模。排滿一鐵框就作為一個印版,拿著它靠近火烘烤;等松脂等物開始熔化時,就拿一塊平板按壓它的表面,于是,排在板上的字模就平整得像磨刀石一樣。如果隻印製三兩本書,(這種方法)不能算很簡便;如果印刷幾十乃至成百上千本書,(這種方法)就顯得特別快捷。印刷時通常製作兩塊鐵板,一塊正在印刷,另一塊已經另外排字模;這一塊剛印完,另一塊已經準備好了。兩塊交替使用,極短的時間就可以完成。每一個字都有好多個字模,像“之”、“也”等字,每個字有二十多個字模,用來防備一塊板裏面有重復出現的字。(字模)不用時,就用紙條做的標簽分類加以標示,每個韻部做一個標簽,用木格把它們儲存起來。遇到平時沒有準備的生冷之字,隨即把它刻出來,用草火燒烤,很快可以製成。不拿木頭製作活字模,是因為木頭的紋理有疏有密,沾了水就會變得高低不平,加上容易與葯物互相粘連,不能(重新把字模)取下來。不如用膠泥燒製字模,使用完畢後,再次用火烘烤,使葯物熔化,用手一抹,那些字模就會自行脫落,一點也不會被葯物弄髒。畢昇死後,他的字模被我的堂房兄弟和侄子們得到了,到現在還珍藏著。
衛樸精于歷術
【原文】
淮南人衛樸精于歷術,一行之流也。《春秋》日蝕三十六,諸歷通驗,密者不過得二十六七,唯一行得二十九;樸乃得三十五,唯庄公十八年一蝕,今古算皆不入蝕法,疑前史誤耳。自夏仲康五年癸巳歲至熙寧六年癸醜,凡三千二百一年,書傳所載日蝕凡四百七十五,眾歷考驗雖各有得失,而樸所得為多。樸能不用算①推古今日月蝕,但口誦乘除,不差一算②。凡大歷③悉是算數,令人就耳一讀,即能暗誦;旁通歷④則縱橫誦之。嘗令人寫歷書,寫訖,令附耳讀之,有差一算者,讀至其處,則曰“此誤某字”,其精如此。大乘除皆不下,照位運籌如飛⑤,人眼不能逐。人有故移其一算者,樸自上至下手循一遍,至移算處則撥正而去。熙寧中撰《奉元歷》,以無候簿⑥,未能盡其術,自言得六七而已,然已密于他歷。
【注解】
①不用算:不用計算工具。古人以算籌為計算工具,有專用的盤,故後來稱珠算工具為“算盤”。據現在所知,宋代珠算的算盤可能已比較流行,但仍常用算籌。又,從沈括本條的記錄來看,衛樸晚年可能視力已很差,或者已目盲。
②一算:猶今言一個數。每個數都可看成是一次運算,故稱“一算”。
③大歷:指正式製定的歷法書。
④旁通歷:當是指歷史年表一類的工具書。這類年表通常以歷法年代(或稱“長歷”)與各朝代的紀年相對照,縱橫交錯列成表格,古人稱為“旁行斜上”或“旁通”。歷法的製定需要參考歷史紀年。
⑤“大乘除皆不下”二句:指衛樸用算籌運算時,不用像現在列算式一樣,一步一步擺下去,隻按照數位放置或移動少量算籌,即可得出結果。猶如現在精于珠算者,不用從個位數打起,隻從高位撥珠,後面的珠子稍做調整,便已得出結果。古人用算籌乘除,被乘數和被除數放在上邊叫“上位”,乘數和除數放在下邊叫“下位”,中間為運算的位置叫“中位”。
⑥候簿:候天的記錄簿,即觀測記錄。
【譯文】
淮南人衛樸精通歷法,在這方面是不亞于唐僧一行的人物。《春秋》一書中記載了三十六次日食,歷代歷法學者通加驗證,一般認為所記與實際天象密合的不過有二十六七次,隻有一行證明有二十九次;而衛樸則證明有三十五次,隻有庄公十八年的一次日食,與古今學者對日食發生日期的推算都不合,懷疑是《春秋》記錯了。從夏代仲康五年癸巳歲到宋代熙寧六年癸醜歲,凡三千二百零一年,各種書籍所記載的日食共有四百七十五次,以往各種歷法的推考檢驗雖各有得失,而衛樸所得出的合乎實際的結論要較前人為多。衛樸不用計算工具就能夠推算古今的日月食,加減乘除都隻用口算,卻一個數都不會錯。凡是正式製定的歷法書,全都是一大堆計算程式和數位,衛樸叫人在耳邊讀一遍,就能夠背下來;對于歷表和各種年表,他也都能縱橫背誦。他曾讓人抄寫歷書,抄寫完畢後,叫抄寫的人貼著他的耳朵讀一遍,有哪個地方錯了一個數,讀到那地方時,他就說“某字抄錯了”,他的學問竟能精湛到這樣的程度。他用算籌運算時,很大數位的乘除都不用一步一步擺下去,隻照著數位運籌如飛,人的眼睛都跟不上。有人曾故意移動了他的一隻算籌,他從上到下用手摸了一遍,到被移動的地方,又隨手撥正而離開。熙寧年間製定《奉元歷》,因為沒有實際的觀測記錄,衛樸未能全部發揮他的才能和知識,他自己也說這部歷法的可靠性大約隻有六七成,然而已比其他歷法要精密一些。
梵天寺木塔
【原文】
錢氏①據兩浙②時,于杭州梵天寺建一木塔③,方兩三級,錢帥④登之,患⑤其塔動。匠師雲:“未布瓦⑥,上輕,故如此。”乃以瓦布之,而動如初。無可奈何,密使其妻見喻皓⑦之妻,賂⑧以金釵,問塔動之因。皓笑曰:“此易耳。但逐層布板訖⑨,便實釘⑩之,則不動矣。”匠師如其言,塔遂定。蓋釘板上下彌束,六幕相聯如肱篋。人履其板,六幕相持,自不能動。人皆伏其精練。
【注解】
①錢氏:指五代吳越國(907—978)的吳越王及其子孫。吳越國為錢鏐所建。
②兩浙:宋時路名,浙東、浙西的合稱,相當于今浙江省及江蘇省的長江以南部分地區。
③于杭州梵天寺建一木塔:在杭州梵天寺建造一座木塔。此處的梵天寺木塔指宋乾德二年(964)重建的木塔。原塔始建于後梁貞明二年(916)。
④錢帥:即錢俶(929—988),錢鏐的孫子,後歸順北宋,封吳越國王及天下兵馬大元帥。
⑤患:擔憂,憂慮。
⑥布瓦:蓋瓦。布:鋪設。
⑦喻皓:也作預皓,五代末、北宋初著名建築工匠,浙江杭州一帶人,生卒年代不詳,普通木工出身,北宋初年曾任都料(掌管設計、施工的木工),人稱預都料。他在長期的建築實踐中,善于學習,勤于思索,在木結構建造技術方面積累了豐富的經驗,尤其擅長建築多層寶塔和樓閣。相傳喻皓曾撰成《木經》三卷。《木經》為我國古代重要建築工程著作,可惜亡佚,具體內容現已無法窺究。沈括《夢溪筆談·技藝》中還有一條筆記專記《木經》,雖然文字不多,但是為我們提供了與《木經》有關的彌足珍貴的資料。
⑧賂:贈送財物。賂在上古並不作賄賂講,其由“贈送財物”引申出的“賄賂”之義是後起的。“賄賂”在古代叫“賕”。
⑨訖(qì):完畢,終了。
⑩實釘:用釘子釘實、釘牢。
彌束:全部緊束,文中指“通過逐層釘板,使塔體得到緊固、結構得到加強”的意思。
六幕:文中指立方體的上、下、左、右、前、後六個面,即下文舉例所用箱子的六個面。
肱篋(qiè):撬開箱子,此處指箱子。
履:踐踏,踩。
相持:互相支撐。
伏:通“服”,敬佩,信服。
精練:精熟。
【譯文】
錢氏王朝統治兩浙時,在杭州梵天寺修建一座木塔,才建了兩三層時,錢帥登上木塔,嫌它晃動。工匠說:“還沒有蓋瓦,上面輕,所以才會這樣。”于是在上面蓋了瓦,但是木塔還是像當初一樣晃動。實在沒有辦法了,工匠就暗地裏讓妻子去見喻皓的妻子,給她送了金釵,求她向喻皓打聽木塔晃動的原因。喻皓笑著說:“這個容易啊,隻要逐層鋪上木板,用釘子釘牢,就不會晃動了。”工匠按他說的(去做),塔身于是穩定了。因為釘牢木板以後,各層上下更加緊密連線,上、下、左、右、前、後六面互相連線,就像一隻箱子。人踩上去,上下及周邊四面互相支撐,當然不會晃動。人們都佩服喻皓技藝精熟。
【評析】
本門所記各項技能、技術,包含重要材料。如:(1)介紹沈括本人的數學成就,包括隙積術(有間隙垛體體積的計算方法)、會圓術(由已知圓的直徑和圓弧的高求圓弧弧長的方法)等;(2)介紹喻皓《木經》的建築技術;(3)介紹畢昇發明活字印刷的技術;(4)介紹天文歷算家衛樸的事跡。