請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

旅遊

【戲說古早】古人多會算數?從《顯微鏡下的大明之絲絹案》一探究竟!

旅讀

發布於 2025年11月24日10:44 • 文_ 李開周 圖_ 圖蟲創意、《顯微鏡下的大明之絲絹案》官微 設計_李雅婷/旅讀

李開周老師一邊回顧現代網劇,一邊探討明朝的土地清丈和相關的數學技能。
一樁發生於萬曆年間的審判,掀起了一場震動江南的風波,還與朝廷即將全面推行的土地清丈和均平稅賦政策牽扯起來⋯⋯網劇《顯微鏡下的大明之絲絹案》除了講述江南絲絹案始末,其中,高效率的「推步聚頂之術」更展現算術之奇,距今百年前的明朝,數學水平真的如此高超嗎?

今年二月份,愛奇藝網劇《顯微鏡下的大明之絲絹案》首播,劇中多次呈現一種神奇的「推步聚頂之術」,用於測量那些形狀極不規整的「妖田」。面對妖田,常用的測量方法和面積公式都派不上用場,只有使出推步聚頂之術,才能又快又準地解決問題。

本劇以明朝為歷史背景,明朝真的有過推步聚頂之術嗎?我們不妨一邊回顧劇情一邊回看歷史,探討一下明朝的土地清丈和相關的數學技能。

一場因絲絹引發的風暴

故事發生在明朝中葉,主角叫帥家默,金安府金華縣人,父母雙亡,性格自閉,絲毫不通人情世故,但卻極具數學天分,故此得名「算呆子」。

帥家默查閱官府檔案時,偶然發現金華百姓每年要繳納三千五百三十兩白銀的「人丁絲絹稅」,已經連繳一百多年,而在金安府治下八個縣當中,這筆稅賦只有金華一縣承擔,其他七縣均未分攤。帥家默向金華知縣揭露此事,知縣不理,他便去知府衙門和巡按衙門提告,卻掀起震動江南的一場風波,還與朝廷即將全面推行的土地清丈和均平稅賦政策牽扯起來⋯⋯

這段劇情是有歷史原型的,相關史事詳載於明朝萬曆七年(西元一五七九年)定稿的《絲絹全書》。編劇創作時,核心故事未變,但人名、地名和稅賦數目均有改動。在《絲絹全書》中,帥家默本名帥嘉謨,金安府本為徽州府,金華縣本為徽州歙縣,歙縣每年多繳的人丁絲絹稅並非三千五百三十兩白銀,而是八千七百八十匹絲綢,徽州府當時治下也不是八個縣,而是六個縣。劇中那位本來與帥家默對簿公堂、後來又從反派變成正派的訟師程仁清,在《絲絹全書》裡本名程任卿,是徽州府婺源縣的秀才。事實上,連《絲絹全書》這部文獻都是由程任卿編寫完成的。

明朝算術,好比藝術

有必要說明的是,本劇總編劇馬伯庸仔細研究過《絲絹全書》,他先根據《絲絹全書》創作歷史隨筆,使其成為《顯微鏡下的大明》一書的第一篇章,又在歷史隨筆的基礎上寫出這部同名網劇。

馬伯庸不僅擅長講故事,也擅長讀歷史,從劇中出現的計算道具和測量道具可以看出,他必定參考了明朝中葉最流行的數學書籍《算學寶鑑》和《算法統宗》。比如說,每集片頭都有一個鏡頭,用紅、黃、綠三色的小木棒和草莖組成「 」符號,其中小木棒是明朝及明朝以前數學家常用的算籌,而這組用小木棒和草莖組成的符號就相當於數字三五三〇。再比如第十集,主角帥家默使用一些奇怪的符號做計算,那些符號在明朝叫「賬碼」,是阿拉伯數字普及以前中國數學家普遍使用的數字系統。

又比如說,帥家默測量土地時,常用一種仿佛現代風箏線輪的放線工具,其樣式在《算法統宗》中繪有插圖,是明朝數學家程大位發明的「新丈量步車」。還有本劇第七集,帥家默與同樣愛好數學的鄧知縣探討土地丈量之術,提到「廣田」、「圭田」、「箕田」、「弧田」,這些術語在明朝數學書籍裡都很常見,分別指長方形地塊、三角形地塊、梯形地塊、扇形地塊。

帥家默與摯友豐寶玉一同提告人丁絲絹稅一案。其中,擁有敏銳經商嗅覺的豐寶玉姐姐豐碧玉,提供了諸多幫助。©《顯微鏡下的大明之絲絹案》官微

「妖田」難敵數學奇才

長方形、三角形、梯形、扇形,都有現成的面積公式,易於測量和計算,但如果遇到劇中所說的「妖田」,那就很難辦了。妖田這個詞,現存的明朝數學書籍裡並未出現,元朝《農書》裡倒是有,是指灌溉之後迅速乾涸的農田,與劇中涵義並不相同。編劇可能是從《農書》裡借用了這個詞,也可能是碰巧創造了一個同音但不同義的概念,表示形狀極不規則的多邊形地塊。

古人怎樣測量不規則地塊的面積呢?通常使用「割補之術」:先將地塊補成長方形,再切割成一個個三角形,匯總出所有三角形的面積,再減去所補圖形的面積,即是該地塊的真實面積。在第七集,帥家默與鄧知縣比賽計算同一塊妖田的面積,都不約而同地使用割補之術,而帥家默的心算能力更好,從速度而不是計算方法上擊敗了鄧知縣。有沒有比割補之術更好的方法呢?帥家默隱約記得,小時候曾聽父親帥敦誠講過一種無需割補、直接測量的技術,也就是貫穿本劇的推步聚頂之術,至於技術細節,他實在記不得了。直到第十四集,他突然想通父親當年的算法,還背誦出推步聚頂的口訣:「先牽經緯以衡量,再點原初標步長。田形取頂分別數,再算推步知地方。」

單憑這四句口訣,我們肯定搞不懂推步聚頂究竟是怎麼一回事,然而參照劇中的操作,就能看出端倪。劇中帥家默丈量一塊最難計算的妖田,他先在該妖田的每一個頂點打樁,接著橫平豎直地拉開繩尺,以繩尺左側交匯處為原點,分別測算各個頂點到原點的長寬步數,將這些數字成對排列,交叉計算⋯⋯

田野間的腦力激盪場

曾有觀眾為帥家默的計算過程提出解釋,說推步聚頂運用了微積分。其實,以上測量和計算過程使用的數學原理並非微積分,而是「鞋帶公式」。鞋帶公式是利用坐標計算不規則多邊形面積的法寶,簡單說,在測量地塊之前,先要建立一個平面直角坐標系,分別測量該地塊所有頂點的坐標,再沿著同一個方向(順時針或逆時針)為這些坐標依次編號,列成一張上下排列的數表,再像穿鞋帶一樣,將相鄰坐標的x值和y值交叉相乘,循環相減,將差相加,求得總和,將總和取絕對值,再除以二,即是該地塊的面積。

舉例說, 有一塊不規則五邊形農田,共有五個頂點, 順時針測量, 這些頂點的坐標分別是,4、5,11、12,8、9,5 、5,6 。依據鞋帶公式, 相鄰坐標交叉相乘, 循環相減:3×11-4×5,5×8-11×12,12×5-8×9,9×6-5×5,5×4-6×3 ;得到五個數:13、-92、-12、29、2;五數相加,總和是-60;取絕對值,得60;再除以二, 得30。所以,這塊土地的面積就是三十。如果測量各坐標時用的單位是丈,面積即為三十平方丈,明朝六十平方丈為一畝,這塊地的面積就是半畝。

現代公式,古代演繹

鞋帶公式是德國數學家德雷斯特(Albrecht LudwigFriedrich Meister) 在西元一七六九年提出的。幾十年後,另一位德國數學家高斯給出該公式的證明,並且用矩陣運算予以簡化,所以,這個公式又被稱為「高斯面積公式」。無論是德雷斯特提出鞋帶公式,還是高斯將該公式轉化為矩陣運算,其時間都晚於明朝,所以帥家默不可能未卜先知地使用這個公式。

那麼明朝數學家有沒有發明與鞋帶公式相近的測量術呢?沒有。從開國皇帝朱元璋開始,明朝就格外重視土地清丈,試圖查清全國每一塊農田的真實面積,從而制定出對全國農民都比較均平的賦稅政策。然而在測量技術上,明朝並沒有任何突破,採用的仍然是此前宋朝和更加久遠的漢唐時期的數學知識,只是將算盤給普及了而已。至於劇中呈現的推步聚頂,那是編劇對鞋帶公式的演繹,不是明朝已有的數學。

坦白說,從實際操作角度看,在電腦和全球衛星定位系統出現之前,用鞋帶公式測量面積只能是一種想像,因為它不僅需要建立坐標系,更需要地塊平整、無坡度、無坑窪、無視線阻隔,否則根本測不出各個頂點到坐標原點的真實距離。

****************************************
李開周
專欄作家,古代社會生活史研究者,擅長將生硬歷史以活潑生動方式呈現。出版書籍數十本,著作有《吃一場有趣的宋朝飯局》、《包公哪有那麼黑:你所不知道的包青天》、《千年房市:古人安心成家方案》與《誰說不能從武俠學數學?》等。

****************************************

延伸閱讀:〈【戲說古早】秦檜殺不死?看《滿江紅》功敗垂成!〉https://www.orchina.net/article/3505

查看原始文章

更多旅遊相關文章

01

泰國旅遊小心!帶「這樣休閒小物品」恐違法 下場超悽慘

鏡報
02

國家地理震撼畫面 非洲肯亞真實上演

七逗旅遊網
03

13-22歲1200點文化幣元旦開放領用 完整使用攻略公開

大媒體
04

全球第一間「哈利波特酒店」2026年開幕!德國樂高樂園擴建,準備走進積木魔法國度

Marie Claire美麗佳人
05

蘭陽越夜越美麗 宜蘭燈海不打烊

宜蘭新聞網
06

星宇航空2026長程線新菜單!攜手米其林一星《元紀.台灣菜》把「家的味道」送上萬呎高空

Marie Claire美麗佳人
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...