跳轉到

前 250 - Archimedes《方法論》(用天體量測地球的偵探)#

案件摘要#

Archimedes(前 287–212)發明了窮盡法(method of exhaustion)—— 這是一種不用極限語言、只靠有限多邊形逼近圓與球的嚴格演算法:

\[ \text{圓面積} = \lim_{n\to\infty} A_{2n\text{邊形}} \xrightarrow{\text{窮盡法}} A_{2n\text{邊形}} < A_\pi < A_{4n\text{邊形}}. \]

他還算出圓面積 \(=\pi r^2\) 、球表面積 \(=4\pi r^2\) 、球體積 \(=\tfrac43\pi r^3\) 、圓柱體積比球大 \(3:2\) 。 更驚人的是:他發現圓柱螺旋(螺旋線)是「線」與「面」的分界線索——這條線索, 兩千兩百年後被 Kepler 用來寫出行星橢圓軌道的螺旋方程(見「1637-笛卡兒解析幾何.md」)。

前因 -- 為什麼會有這個案子#

  • 測量地球的實務需求:航海需要地球大小;希臘學者 Eratosthenes(前 250 左右)已用 「夏至/冬至太陽影長差 + 兩城距離」估算地球半徑。但如何嚴格算出球與圓的體積?
  • 圓錐切割的失蹤體積(希臘幾何的兩大問題):
  • 圓錐曲線的面積與體積(Paraboloid、Ellipsoid、Hippoid);
  • 「求圓平方」問題(Squaring the Circle, construction 问题)——古代七大難題之一。
  • Archimedes 的策略(天體量測):用已知天體(日、月)當作量測尺, 反推地球大小的「有效工具」——這是「用大模型校準小模型」的方法論。

線索與推理 -- 數學式、程式、理論#

第一條線索:窮盡法(Method of Exhaustion)#

\[ \text{內接多邊形面積} < \text{圓面積} < \text{外切多邊形面積},\quad \text{且 } \frac{A_{\text{外}}-A_{\text{内}}}{A_{\text{内}}} \to 0. \]

Archimedes 用 96 邊形(內接、外接)證明:

\[ 3\frac{10}{71} < \pi < 3\frac{1}{7} \quad (3.140845 < \pi < 3.142857). \]

方法本質:不假設 \(\pi\) 存在,只證明它「被夾住」——這是現代計算數學的區間算法。

第二條線索:圓柱螺旋線(Spiral of Archimedes)#

Archimedes 螺旋線的極座標方程:

\[ r = a\theta, \quad (x,y) = \left(a\theta\cos\theta,\ a\theta\sin\theta\right). \]
  • 每轉一圈( \(\theta \to \theta+2\pi\) ),半徑增加 \(2\pi a\) ——等速向外。
  • 面積:介於 \(\theta_1\) 與 \(\theta_2\) 的面積
\[ A = \frac{a^2}{3}\left(\theta_2^3 - \theta_1^3\right). \]
  • 「螺旋線是『線』與『面』的分界」——這是 Archimedes 的幾何直覺, 後來啟發了 Kepler 的行星對數螺旋律(見「1637-笛卡兒解析幾何.md」)。

第三條線索:浮力原理與數學物理(Archimedes 原理)#

Archimedes《原理》記載:「我發現的原理,浮體的重量等於被排除流體的重量」:

\[ \text{F}_{\text{浮}} = \rho_{\text{水}} \cdot g \cdot V_{\text{排水}}. \]

這是數學 × 物理的第一個大結合——用幾何(體積積分)解物理(浮力)。 後世稱為 Archimedes 原理(Archimedes' Principle)。

Python:窮盡法逼近 \(\pi\) (Archimedes 的演算法)#

import math

def polygon_perimeter(n):
    """內接於半徑 1 圓的 n 邊形周長"""
    return 2 * n * math.sin(math.pi / n)

def area_approx(n):
    """Archimedes:內接 n 邊形面積"""
    return 0.5 * n * math.sin(2 * math.pi / n)

# 1) 窮盡法逼近 π(用半圓 + 內接多邊形面積/周長)
def pi_exhaustion(n):
    """Archimedes:π = 上界/下界(透過周長)"""
    lower = polygon_perimeter(n) / 2      # 內接半圓周長
    upper = n * math.tan(math.pi / n)     # 外切半圓周長
    return lower, upper

print("Archimedes 窮盡法逼近 π:")
for n in [6, 12, 24, 48, 96]:
    lo, hi = pi_exhaustion(n)
    print(f"  {n:3d} 邊形:{lo:.6f} < π < {hi:.6f}")

# Archimedes 用 96 邊形
lo, hi = pi_exhaustion(96)
print(f"\nArchimedes (96 邊形):{lo:.6f} < π < {hi:.6f}")
print(f"真值 π = {math.pi:.15f}")
print(f"誤差:{(hi-lo)/2:.2e}")

# 2) 螺旋線的面積(極座標公式:Archimedes 螺旋 r=aθ)
a = 1.0
def spiral_area(t1, t2, a=1.0):
    """Archimedes 螺旋在 [t1,t2] 的面積(極座標公式)"""
    return (a*a/3) * (t2**3 - t1**3)

print(f"\n螺旋線面積 (a=1, θ∈[0,2π]) = {spiral_area(0, 2*math.pi):.4f}")
print(f"對比:半徑 2π 的圓面積 = {math.pi*(2*math.pi)**2:.4f}")
print("→ 螺旋線在每圈邊界半徑 = 2π,但面積非圓形(方圓規不可能)")
輸出:
Archimedes 窮盡法逼近 π:
    6 邊形:3.000000 < π < 3.464102
   12 邊形:3.105829 < π < 3.215390
   24 邊形:3.132629 < π < 3.159660
   48 邊形:3.139350 < π < 3.146086
   96 邊形:3.141032 < π < 3.142715

Archimedes (96 邊形):3.141032 < π < 3.142715
真值 π = 3.141592653589793
誤差:8.41e-04

螺旋線面積 (a=1, θ∈[0,2π]) = 82.6834
對比:半徑 2π 的圓面積 = 124.0251
→ 螺旋線在每圈邊界半徑 = 2π,但面積非圓形(方圓規不可能)
(Archimedes 用 96 邊形把 \(\pi\) 夾在 \(3.141032\) 與 \(3.142715\) 之間(誤差 \(\sim 8\times 10^{-4}\) )—— 這是現代區間算術的先驅。)

結案 -- 後果與影響#

  • 窮盡法 → 極限論 → 實分析: Archimedes 的窮盡法是 Newton–Leibniz 極限(17 世紀)的先聲—— 只不過 Archimedes 不用「無限」語言,而用有限逼近 + 誤差控制:
\[ \text{Archimedes(窮盡法)} \xrightarrow{\text{17 世紀}} \text{Newton–Leibniz(極限)} \xrightarrow{\text{19 世紀 Weierstrass}} \text{ε-δ 定義}. \]
  • 體積與面積公式的傳承: \(\text{圓} = \pi r^2,\ \text{球} = \tfrac43\pi r^3,\ \text{球面} = 4\pi r^2\) 這三個公式沿用兩千年, 直到 Cavalieri(1600s)用積分重導,2000s 用 Monte Carlo 數值驗證。
  • Archimedes 的求圓平方(未解): Archimedes 證明: \(\pi\) 不可公度( \(\pi\) 是無理數,Lambert 1761 證明), 所以「方圓規」不可能存在——這是他自己拆自己案子的例子。
  • 工程傳奇(傳說):「給我一個支點,我將撬動地球」——他設計了起重機、螺旋抽水機、 攻城武器(「死亡射線」:鏡子反射陽光燒毀羅馬戰船,據說發生在西西里島保衛戰)。
  • Kepler 的 spiral(1619):Kepler 讀了 Archimedes 螺旋, 猜測行星軌道是對數螺旋( \(r = a e^{b\theta}\) )——這在錯誤的望遠鏡資料上堅持了 60 年, 直到 Kepler 自己發現正確答案是橢圓(見「1637-笛卡兒解析幾何.md」)。
  • 歷史定位:Archimedes 是「數學物理學」的開創者——用數學回答物理問題 (浮力、力矩、光學、靜力學),這在當時是史無前例的。

關鍵人物與文獻#

  • Archimedes:《方法論》(Method, 前 250)——窮盡法;《原理》——Archimedes 原理。
  • E. Torricelli:托里拆利大氣壓(1643);E. Eratosthenes:地球大小的估算。
  • I. Newton:讀 Archimedes 螺旋啟發行星模型;《原理》(1687)。
  • J. Kepler:行星運動三定律 (1609, 1619);對數螺旋模型。
  • 相關案件:-0300-歐幾里得要素.md、1637-笛卡兒解析幾何.md、微積分/1687-牛頓微積分.md。