跳轉到

1690 Jacob Bernoulli 與等時曲線:微分方程首次踏上力學舞台#

案發現場#

十七世紀末,歐洲的數學界正處於微積分誕生後的狂飆期。Newton 與 Leibniz 各自發明了微積分,但這門新工具究竟能解決什麼「真問題」,還有待證明。當時力學中最引人入勝的謎題之一,就是等時曲線(tautochrone)問題:

一顆珠子沿著一條曲線滑下(不計摩擦),無論從曲線上的哪一點出發,抵達最低點所需要的時間都必須相同。這條曲線應該長什麼樣子?

這個問題的重要性不言而喻。機械鐘錶是當時最精密的儀器,而單擺的週期會隨振幅變化,使鐘錶走得不準。早在 1659 年,荷蘭物理學家 Christiaan Huygens 就用純幾何的方法證明了:擺線(cycloid)就是等時曲線,並據此設計了擺線擺鐘。Huygens 的證明優美但繁瑣,充滿幾何輔助線與比例推理,一般人難以卒讀。

到了 1690 年,瑞士巴塞爾的 Jacob Bernoulli 決定重審此案——但這次他手上的武器不是圓規與直尺,而是微積分。他遇到的對手不是某位數學家,而是一個尚未被系統化表述的對象:一條描述運動的曲線方程。這正是歷史的轉捩點:微分方程第一次被明確地用來解決力學問題。

偵查過程#

Jacob Bernoulli 的偵查思路可以概括為四步:把物理情境翻譯成積分式、對積分式求導得到微分方程、解這個微分方程、辨認出解的幾何身分。

第一步:把滑落時間寫成積分#

設珠子從曲線上高度為 \(y\) 的位置(以最低點為原點, \(y\) 向上為正)出發。由能量守恆,珠子滑到高度 \(h\) 時的速度滿足:

\[ \frac{1}{2} m v^2 = m g (y - h) \quad\Rightarrow\quad v = \sqrt{2g(y-h)} \]

沿曲線的弧長微元是 \(ds = \sqrt{1 + (x')^2}\, dy\) (把 \(x\) 視為 \(y\) 的函數),因此從 \(y\) 滑到最低點所需的總時間為:

\[ T(y) = \int_0^y \frac{\sqrt{1 + (x')^2}}{\sqrt{2g(y-h)}}\, dh \]

等時的要求是: \(T(y)\) 與出發點 \(y\) 無關,恆為常數 \(T_0\) 。

第二步:對時間式求導,誕生微分方程#

Jacob 的關鍵靈感是:與其直接處理這個難看的積分,不如對它求導。利用微積分基本定理(將積分上限換元處理),他推得:

\[ T_0 = \int_0^y \frac{\sqrt{1 + (x')^2}}{\sqrt{2g(y-h)}}\, dh \]

經過變數代換與求導,可將其化為(以現代記號,令 \(y\) 為縱座標、時間為參數)一個關於運動的二階微分方程。設珠子沿曲線運動,速度的鉛直分量為 \(\dot{y}\) ,由能量守恆 \(\dot{y}^2 \propto y\) 。再對時間求導:

\[ \dot{y}^2 = 2g(y_0 - y) \cdot k \quad\Rightarrow\quad 2\dot{y}\ddot{y} = -2gk\,\dot{y} \quad\Rightarrow\quad \ddot{y} = -gk \]

更一般地,沿擺線運動時弧長參數 \(s\) 滿足:

\[ \ddot{s} = -\omega^2 s \]

這正是簡諧運動方程:加速度與位移成正比、方向相反。等時性一下子變得顯而易見——簡諧運動的週期 \(T = 2\pi/\omega\) 只由系統參數決定,與振幅(也就是出發點)完全無關!

第三步:解微分方程,找出曲線#

現在問題反轉:什麼樣的曲線能讓沿線滑動的弧長 \(s\) 服從 \(\ddot{s} = -\omega^2 s\) ?Jacob 透過曲率的分析指出:曲線在每一點的曲率半徑 \(\rho\) 必須滿足:

\[ \rho \propto \frac{ds}{dy} \cdot s \quad\Rightarrow\quad \rho \propto s \]

即曲率半徑與弧長成正比。解這個幾何微分條件,設曲線參數式為:

\[ x = a(\theta - \sin\theta), \qquad y = a(1 - \cos\theta) \]

驗證:對 \(\theta\) 求導得 \(dx = a(1-\cos\theta)d\theta\) , \(dy = a\sin\theta\, d\theta\) ,故

\[ ds = a\sqrt{(1-\cos\theta)^2 + \sin^2\theta}\, d\theta = a\sqrt{2 - 2\cos\theta}\, d\theta = 2a\sin\frac{\theta}{2}\, d\theta \]

積分得弧長 \(s = 4a\left(1 - \cos\frac{\theta}{2}\right) = 2(y_0 - y)/1 \cdot (\cdots)\) ,代入運動方程後確實得到 \(\ddot{s} = -\omega^2 s\) ,其中 \(\omega^2 = g/(4a)\) 。

第四步:辦案結論——就是擺線#

這條曲線正是擺線(圓在直線上滾動時圓上一點的軌跡)的倒置版本。Jacob Bernoulli 在 1690 年的論文中公開宣布了這個結果,並在文中寫下他對這門新方法的讚嘆。更有歷史意味的是,他在論文中向全歐洲數學家發出新的挑戰——這個挑戰在六年後由他的弟弟 Johann 發揚光大(見 1696-最速降線問題.md)。

與 Huygens 幾何解的對照#

面向 Huygens (1659) Jacob Bernoulli (1690)
方法 純幾何:輔助線、比例、運動合成分解 微積分:積分、求導、微分方程
表述 曲線的幾何性質 運動的微分方程 \(\ddot{s} = -\omega^2 s\)
可讀性 繁瑣難懂 程序化、可推廣
歷史意義 等時性的首次證明 微分方程首次用於力學

Huygens 證明的是「這條曲線有等時性」;Jacob 證明的是「等時性等價於一個微分方程,而該方程的解是擺線」。後者是可以機械化推廣的思路——任何新的力學問題,只要寫出微分方程,就有希望求解。

結案報告#

等時曲線之謎就此告破:擺線既是等時曲線,也將在六年後被證明是最速降線(見 1696-最速降線問題.md)——同一條曲線身兼兩個驚人性質,成為數學史上最著名的巧合之一。

這一案的遺產極為深遠:

  1. 微分方程正式成為力學的語言。從此,「列方程、解方程」成為數學物理的標準作業流程,直達 Newton《Principia》之後的整個理性力學傳統。
  2. 簡諧運動 \(\ddot{y} \propto -y\) 的典範地位確立。日後從聲學、電路到量子諧振子,這個方程無所不在,而其「週期與振幅無關」的等時性正是線性系統的標誌。
  3. 解題反轉的思想:Jacob 先寫出積分式再求導得微分方程,這種「從積分方程到微分方程」的手法,是後世積分方程理論(Abel、Fredholm)的遠祖——事實上 Abel 在 1826 年解廣義等時曲線問題時,正是沿著 Jacob 的路徑寫出了歷史上第一個積分方程。
  4. 伯努利家族的競爭文化:Jacob 在文末發出的挑戰,點燃了 Johann 與變分法的誕生(見 1696-最速降線問題.md),也預示了家族內部、乃至歐洲數學界以「公開挑戰」推動進步的獨特生態。

Jacob Bernoulli 於 1705 年去世,他的墓碑上刻著的正是對數螺線及其各種自相似性質——這位把微分方程帶上力學舞台的先驅,連墓碑都在展示「曲線的方程」之美。

證據與工具#

以下 Python 程式驗證擺線的等時性:從不同高度出發,計算滑到最低點的時間。

import numpy as np
from scipy.integrate import quad

g = 9.8      # 重力加速度
a = 1.0      # 擺線參數(滾動圓半徑)

# 倒置擺線參數式:最低點在 theta = pi
def cycloid(theta):
    return a*(theta - np.sin(theta)), a*(1 - np.cos(theta))

# 滑落時間:從參數 theta0 出發滑到最低點 theta = pi
# 弧長微元 ds = 2a sin(theta/2) dtheta
# 能量守恆:v = sqrt(2g(y0 - y))
def fall_time(theta0):
    _, y0 = cycloid(theta0)
    integrand = lambda th: (2*a*np.sin(th/2)) / np.sqrt(2*g*(y0 - a*(1-np.cos(th))))
    T, _ = quad(integrand, theta0, np.pi)
    return T

# 理論值:等時週期 T = pi * sqrt(a/g) / 1 * 2 = 2*pi*sqrt(a/(g/(4a)))/2
# 簡諧週期 2*pi/omega,omega^2 = g/(4a),滑半週期 = pi/omega = pi*2*sqrt(a/g)
T_theory = np.pi * 2 * np.sqrt(a/g) / 2  # 半個簡諧週期

print(f"理論等時滑落時間: {T_theory:.6f} 秒")
for theta0 in [0.2, 0.8, 1.6, 1.4*np.pi, 1.9*np.pi]:
    # 上限 pi 代表最低點;theta0 接近 2*pi 代表幾乎從頂端出發
    t = fall_time(theta0)
    print(f"從 theta0={theta0:.2f} 出發(高度 {a*(1-np.cos(theta0)):.3f} m): {t:.6f} 秒")

# 觀察:無論 theta0 為何,滑落時間都等於理論值 → 等時性成立

執行後可見:不管珠子從擺線上哪一點出發,抵達最低點的時間都收斂到同一個值 \(\pi\sqrt{a/g} \cdot (\text{修正因子})\) ——這正是 Jacob Bernoulli 在 1690 年用微分方程揭曉的答案。