刘徽是我国三国时代的魏国人,可能是山东人。他曾从事度量衡考校工作,研究过天文历法,但主要是研究数学。
刘徽自幼就学习《九章算术》,对该书有独到的研究,他不迷信古人,对《九章算术》中许多问题的解法不满意,于公元263年完成了《九章算术注》,对《九章算术》的公式和定理给出了合乎逻辑的证明,对其中的重要概念给出了严格的定义,为我国古代数学建立了完备的理论。
刘徽创造了一种测量可望而不可即目标的方法,叫做“重差术”。重差术也叫“海岛算经”,附在《九章算术》之后,共有九个问题。
刘徽说:“凡望极高,测绝深而兼知其远者必用重差,勾股则必以重差为率,故曰重差也。”这段话的意思是,重差用于测不可到达物的距离。用两次测量之差,再利用相似比来进行计算。
“海岛算经”的第一个问题是“测海岛高及距离。”题目原文是:
“今有望海岛,立两表齐高三丈,前后相去千步,今后表与前表参相直。从前表却行123步,人目著地取望岛峰,与表末参合。从后表却行一127步,人目著地取望岛峰,亦与表末参合。问岛高及去表各几何。”按现代数学浯言译出,就是:“为了求出海岛上的山峰AB的高度,在D和E处树立标杆DC和EF,标杆高都是3丈,两标杆相距1000步,AB、CD和EF在同一平面内。从标杆DC退后123步到G点,看到岛峰A和标杆顶端C在一条直线上;从标杆FE退后127步到H点,也看到岛峰A和标杆顶端正在一条直线上。求岛峰高AB及水平距离BE。”
为解此题,可令标杆高为h,两标杆的距离为d,第一次退a1,第二次退a2.又设岛高为x,BE为y。
按刘徽的作法是,作EL∥AG交BH于L点。
∵△ELH~△ACE
△EHF~△AEK
∴ECHL=AEEH·AEEH=AKEF
∴ECHL=AKEF
已知EC=DF=d,HL=FH-FL=FH-DG=a2-a1,EF=h,可得:
da2-a1=AKh,AK=da2-a1h
x=AK h=da2-a1h h
又∵△CDG~△AKC
∴KCDG=AKCD
已知KC=yDG=a1AK=da2-a1hCD=h
所以
ya1=da2-a1hh
y=da2-a1a1
在上面公式里da2-a1是两个差数之比,所以叫重差术,也有人说因为两次用的差a2-a1,所以叫重差。
刘徽也得到了上面的公式,其公式为:
岛高=表高×表间后表却行-前表却行 表高
其中“表”就是标杆,“却行”就是后退。
将“海岛算经”第一题的数据代入公式,可得x=1506步,y=30750步。
“海岛算经”本来不独立成书,是附在《九章算术》中“勾股”章后面的一个附录,主要讲用勾股定理进行测量的补充和发展。到公元7世纪唐朝初年,才从《九章算术》中抽出来成为一部独立著作。因为第一题是关于测量海岛的高和远,所以起名《海岛算经》。
现传本《海岛算经》的九个问题中,有三个问题需要观测两次;有四个问题要观测三次;还有两个问题要观测四次。所有的观测和计算,都是应用相似三角形对应边成比例进行的,虽然没有引入三角函数,但是利用线段之比,同样可得结果。
重差术是我国数学上的一个创造。