前不久,网剧《显微镜下的大明之丝绢案》播出,剧中多次呈现一种神奇的“推步聚顶之术”,用于测量那些形状极不规整的“妖田”。面对“妖田”,常用的测量方法和面积公式都派不上用场,只有使出“推步聚顶之术”,才能又快又准地解决问题。
故事发生在明朝中叶,主角叫帅家默,金安府金华县人,父母双亡,性格自闭,丝毫不通人情世故,但却极具数学天分,故此得名“算呆子”。帅家默查阅官府档案时,偶然发现他们金华百姓每年要缴纳3530两的“人丁丝绢税”,已经连缴100多年,而在金安府治下8个县当中,这笔税赋只有金华县承担,其他7县均未分摊。帅家默向金华知县揭露此事,知县不理,他便去知府衙门和巡按衙门提告,掀起震动江南的一场风波,还与朝廷即将全面推行的土地清丈和均平税赋政策牵扯起来……
在《丝绢全书》中,帅家默本名帅嘉谟,金安府本为徽州府,金华县本为徽州歙县,歙县每年多缴的“人丁丝绢税”并非3530两白银,而是8780匹丝绸,徽州府当时治下也不是8个县,而是6个县。剧中那位本来与帅家默对簿公堂、后来又从反派变成正派的讼师程仁清,在《丝绢全书》里本名程任卿,是徽州府婺源县的秀才。事实上,连《丝绢全书》这部文献都是由程任卿编写完成的。
更有必要说明的是,本剧总编剧马伯庸仔细研究过《丝绢全书》,他先根据《丝绢全书》创作历史随笔,使其成为《显微镜下的大明》一书的篇章之一,又在历史随笔的基础上写出这部同名网剧。
比如说,每集片头都有一个镜头,用红、黄、绿三色的小木棒和草茎组成“≡|||||、≡〇”,其中小木棒是明朝及明朝以前数学家常用的算筹,而这组用小木棒和草茎组成的符号就相当于阿拉伯数字3530。
长方形、三角形、梯形、扇形,都有现成的面积公式,易于测量和计算,但如果遇到剧中所说的“妖田”,那就很难办了。“妖田”这个词,现存的明朝数学书籍里并未出现,元朝《农书》里倒是有,是指灌溉之后迅速干涸的农田,与剧中含义并不相同。编剧可能是从《农书》里借用了这个词,也可能是碰巧创造了一个同音但不同义的概念,表示形状极不规则的多边形地块。
古人怎样测量不规则地块的面积呢?通常使用“割补之术”:先将地块补成长方形,再切割成一个个三角形,汇总出所有三角形的面积,再减去所补图形的面积,即是该地块的真实面积。在第七集,帅家默与邓知县比赛计算同一块“妖田”的面积,都不约而同地使用“割补之术”,而帅家默的心算能力更好,从速度而不是计算方法上击败了邓知县。
有没有比“割补之术”更好的方法呢?帅家默隐约记得,小时候曾听父亲帅敦诚讲过一种无需割补、直接测量的技术,也就是贯穿本剧的“推步聚顶之术”,至于技术细节,他实在记不得了。直到第14集,他突然想通父亲当年的算法,还背诵出“推步聚顶”的口诀:“先牵经纬以衡量,再点原初标步长。田形取顶分别数,再算推步知地方。”
单凭这四句口诀,我们肯定搞不懂“推步聚顶”究竟是怎么一回事,然而参照剧中的操作,就能看出端倪。在第14集,帅家默丈量一块最难计算的“妖田”,他先在该“妖田”的每一个顶点打桩,再横平竖直地拉开绳尺,以绳尺左侧交汇处为原点,分别测算各个顶点到原点的长宽步数,将这些数字成对排列,交叉计算……
曾有观众为帅家默的计算过程提出解释,说“推步聚顶”运用了微积分。其实,以上测量和计算过程使用的数学原理并非微积分,而是“鞋带公式”。“鞋带公式”是利用坐标计算不规则多边形面积的理论方法。简单说,在测量地块之前,先要建立一个平面直角坐标系,分别测量该地块所有顶点的坐标,再沿着同一个方向(顺时针或逆时针)为这些坐标依次编号,列成一张上下排列的数表,再像穿鞋带一样,将相邻坐标的x值和y值交叉相乘,循环相减,将差相加,求得总和,将总和取绝对值,再除以2,即是该地块的面积。
举例说,有一块不规则五边形农田,共有5个顶点,顺时针测量,这些顶点的坐标分别是(3,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×5-6×3;得到5个数:13、-92、-12、29、2;这些数相加,总和是-60;取绝对值,得60;再除以2,得30。所以,这块地的面积就是30。如果测量各坐标时用的单位是丈,面积即为30平方丈,明朝60平方丈为一亩,这块地的面积就是半亩。