滑尺计算——丈量宇宙的直尺

☞ 欢迎来到神奇的01世界 ☜

对数表

纳皮尔发明对数之后,包括纳皮尔在内的数学家们便开始着手编制对数表,将费神费力的乘除运算简化为嗖嗖查表的动作。

所谓对数表,其实就是以某个数字为底,把一定范围内(比如1~10000)所有整数的对数值预先算好,列成表格,印刷成册,像查字典一样使用。

30022-d5b22a3820a92d26.png
1000~1500的常用对数表(常用对数即以10为底的对数)(图片来自维基「Common logarithm」词条)

为了能用上这张对数表,让我们取两个乘积能落在1000~1500范围内的数字,比如:
16 × 64 = 1024

根据对数的换算公式:
log_a(MN) = log_aM + log_aN

有:
lg(16×64) = lg16 + lg64

我们不妨掏出手机算一下1664的常用对数值:
lg16 ≈ 1.20412

lg64 ≈ 1.80618

400年前当然没有手机,连电子计算器都没有,这两个数字是在对数表上查到的。

求和:
lg16 + lg64 ≈ 1.20412 + 1.80618 = 2.01030

查表可知,2.01030对应的是1024(我已在上图中圈出),即16×64的结果。

以上简单模拟了那个年代对数表的查表过程,在16×64的小量级下,你许会觉得多此一举,但当数字的位数一多,对数表就可以大大减少枯燥易错的计算了。

对数尺

虽然对数表实现了计算降维,但查阅起来毕竟眼花缭乱,厚厚的书册也不便携带。不多久,一位叫甘特的英国数学家想到:既然对数表是把两个数的求积问题转换为两个对数的求和,那么,如果把一个对数视为一段可以用直尺丈量的长度,对数之和不就可以利用直尺直接量出来了吗?

30022-bd18a9a51f2b1f9e.png
埃德蒙·甘特(Edmund Gunter 1581-1626),英国牧师、数学家、几何学家、天文学家。(图片来自佳士得)

1620年,甘特将对数表刻到一把尺上,借助圆规一类的辅助工具,实现了这种想法。仍以 16×64为例,先将圆规两脚分别指向lg1lg16的位置,此时圆规脚的跨度代表着lg16的值,而后保持圆规张角不变,平移使其左脚指向乘数64的位置,此时右脚所指便是计算结果。

30022-8e5d84eddcbb82a7.png
尺上各个数字之间一般都会有连续的刻度,这里偷懒只画出了关键刻度。

计算尺

30022-ea78abe3e0c06a9c.jpg
威廉·奥特雷德(William Oughtred 1574-1660),英国数学家、牧师。(图片来自维基「William Oughtred」词条)

1622年,另一位英国数学家威廉·奥特雷德觉得圆规有点累赘,不如直接将两把对数尺并排放置,通过相对滑动就可以实现尺上示数的相加,形成了计算尺的雏形。

30022-40e841c9fae5a762.png
2 × 3 = 6,对数尺本身可以代替圆规一类的辅助工具(图片来自维基「Slide rule」词条,下同。)

顺带提一下,尺上的刻度范围总归是有限的,例如上图两尺的取值范围为1~10,2×5还能读出来,2×6就歇菜了。针对这种情况,需要先把上面的尺子左移,使其最右侧的刻度与下面尺子的刻度2(被乘数)重合,相当于除以了10

30022-447c073cbb643975.png

而后读取上尺6(乘数)所对应的下尺刻度1.2,10倍还回去,即12

有趣的是,计算尺将乘除简化为加减,本身却无法进行加减运算,对此最粗暴的解决方案居然是把加减「复杂化」为乘除:
x + y = (\frac{x}{y} + 1)y

x - y = (\frac{x}{y} - 1)y

墙都不扶就服你……

滑尺计算的思想诞生之后,出现了各式各样通用和专用的计算尺,最常见的形式是:中间一把可滑动的尺,称为滑尺;上下两把固定的尺,称为定尺;滑尺和定尺上都标着至少两排不同含义的刻度线,滑尺与定尺不同的刻度吻合代表不同运算(乘除运算、求根求幂、指数对数、三角函数等等)的结果。

30022-c9fc65c040d017e4.jpg
图片来自网络

兴盛

一拉一抽,天机我有。不料如此强大而便捷的工具,却过了整整两个世纪才流行开来。

直到1850年,英国数学家德·摩根(Augustus De Morgan)[1]还在为计算尺的冷遇扼腕叹息:

For a few shillings, most persons might put into their pockets some hundred times as much power of calculation as they have in their heads.
只需区区几先令,多数人就能把这种比他们自己的头脑强数百倍的计算工具纳入囊中(可他们就是不愿意)。

好巧不巧,就在同一年,一位年仅19岁的法国炮兵中尉曼海姆给计算尺加上了一个透明游标,仅仅是为了方便读数,结果这一设计被沿用下来,固定了计算尺的最终模样。此后,计算尺便在欧洲迅速走红,而曼海姆也幸运地被历史铭记为现代计算尺之父。

30022-378fd1d79a938206.png
阿米德·曼海姆(Amédée Mannheim 1831-1906),现代计算尺发明者。(原图来自维基「Amédée Mannheim」词条)

从曼海姆时代开始,科学家与工程师几乎人手一把计算尺,一些骚包工程师甚至还用着名木或象牙等高端材料制成的计算尺,他们对计算尺的品味似乎并不亚于男人对打火机的品味。

邓稼先、郭永怀、于敏攻克「两弹一星」,离不开计算尺;黄旭华研制核潜艇,离不开计算尺;阿波罗登月,飞船上备着计算尺以防不时之需;冷战期间,美国的冯•布劳恩和前苏联科罗廖夫两位「学科带头人」战功赫赫,用的竟是同一家公司的计算尺……

30022-56acb0d43e1c0ad8.png
Pickett N600-ES型计算尺,随阿波罗登月。(图片来自《When Slide Rules Ruled》,下同。)
30022-2e5acd7d7d8a9d81.png
FABER-CASTELL 2/83N型计算尺,被誉为最美计算尺。

上世纪40年代,李政道求学于大物理学家费米,那时费米只有李一个研究生,每周他们都会花半天时间讨论学术问题。有一次,费米问起太阳中心的温度,于是有了下面这段经典的对话:

  • 李政道:大概一千万度绝对温度。
  • 费米:你怎么知道的?
  • 李政道:从文献上看来的。
  • 费米:你自己有没有演算过?
  • 李政道:没有,因为这个计算比较复杂,文献讲他们算出是一千万度,我觉得很合理。
  • 费米:不行,你一定要通过自己的思考和估计,才能接受别人的结论。我们要想一个办法,做一个大的计算尺。

于是,尽管研究方向与太阳毫不搭边,两位求真务实的科学家还是花了两天时间做了一把史上最大的计算尺,抽拉一个小时后,验算出太阳中心的温度的确是一千万度左右。

小小一把计算尺,却有着丈量宇宙的能耐。

百花齐放

除了标准尺外,各个领域还出现过多种多样的专用尺。化学家的计算尺上标有分子量,船舶工程师的计算尺上可以查到水压公式,粒子物理学家的计算尺上则有放射性衰变常数……

30022-f3c1d7962d2e9f2c.jpg
这是一套专门用来测量胶卷曝光时间的计算尺,插有一张用于估算时间的硬纸卡片。(图片来自维基「Slide rule」词条,下同。)
30022-3ddf4d1993214ec1.jpg
瑞士军队在1914~1940年期间使用的暗号计算尺

尺的形状也是多变的,除了直尺,圆盘状、圆柱形的计算尺比比皆是。事实上,奥特雷德在发明计算尺的短短几年之后就一并发明了圆形计算尺。

30022-9f025213aae37a67.jpg
日本Concise公司生产的圆形计算尺
30022-e2dbe7e09bff9026.jpg
刻在戒指上的计算尺,简直不能再便携。
30022-64b83df76d2a9c93.jpg
俄罗斯生产,状如怀表——这哪还是尺,这是仪表盘吧!
30022-143a31356b5e71f7.jpg
而贝克汉姆戴的这款百年灵航空计时表盘居然刻着计算尺的刻度,真是高端大气又不失内涵。
30022-72b482eaa4b8d95b.jpg
圆柱形的计算尺往往有着更大的取值范围和更高的计算精度

衰落

计算尺的便捷与低廉,使它和古老的算盘一起,成为电子计算时代到来之前最常用的计算工具,连后来已经算得上半自动的机械式计算器也没能取代它们的位置。

直到上世纪60年代便携式电子计算器的兴起,计算尺才逐步退出历史舞台。有趣的是,设计电子计算器所需的很多运算,正是靠计算尺完成的——计算尺亲手把自己送进了博物馆。

30022-ad1b00648b2ad814.png
1976年售价$25的TI-30型计算器

体验

几十年过去了,现在已经很难看到计算尺的身影,与我同辈的80、90后想必也跟我一样没有见过实物。打开某宝,搜索「计算尺」得到的结果也与本文的计算尺毫无关联。

好在老外做了个虚拟计算尺的网站,提供了Pickett公司7种不同的计算尺任君玩耍。就以我的生日(1991年3月15日)为例,试一试这把上过月球的计算尺好不好使:
9.1×3.15 = 28.665

30022-3b585873b92780ba.png

将滑尺的起始位置与上侧刻度9.1处对齐,将游标与滑尺刻度3.15处对其,此时游标所指上侧定尺的刻度即为计算结果,因为精度有限,需要估读:28.6,与正确答案存在误差。

一般计算尺的精度只能达到三个有效位,这也正是计算尺的最大缺点。

或者你是个DIYer,只需一张A4纸、一卷胶带、一支笔就可以自己动作制作一把,成就感满满~

30022-d3d45666def8ce7a.png
打印该设计图分分钟DIY一把计算尺(图片来自《When Slide Rules Ruled》)

参考文献


  1. 对,就是那个在逻辑代数中推出德·摩根定律的德·摩根。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CCF CSP认证考试中的土地丈量,是指在西西艾弗岛上散落着一些田地,每块田地都可以视为平面直角坐标系下的一个矩形区域。这些田地由左下角坐标和右上角坐标唯一确定,并且任意两块田地的交集面积为0,仅边界处可能有所重叠。现在的问题是,如何计算在选定的区域内已经存在的田地面积。 为了计算已经存在的田地面积,我们可以遍历所有的田地,判断它们与选定区域的关系。如果一个田地完全包含在选定区域内部,那么它的面积应该被计入。如果一个田地与选定区域有部分重叠,我们需要计算出重叠部分的面积并加入总面积中。 具体实现的方法可以是: 1. 遍历所有的田地,对于每个田地,判断它是否与选定区域存在交集。 2. 如果存在交集,计算出交集的左下角坐标和右上角坐标,然后计算出交集的面积,并将其加入总面积中。 3. 继续遍历下一个田地,重复上述步骤,直到遍历完所有的田地。 4. 最后得到的总面积即为已经存在的田地面积。 需要注意的是,由于题目中已经说明了任意两块田地的交集面积为0,所以我们可以直接判断两个矩形是否有交集,而不需要进行复杂的计算。另外,需要注意边界情况,例如田地的边界与选定区域的边界重合时如何处理。 通过以上的方法,我们可以准确地计算出已经存在的田地面积。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [第29次CCF CSP 认证题目 第一题 202303-1 田地丈量 C++实现 满分答案](https://blog.csdn.net/sun_kingngfyncfh/article/details/129739117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值