1827 - Gauss 內在幾何(絕妙定理:曲率不需要離開曲面)#
案件摘要#
1827 年,Carl Friedrich Gauss(1777–1855) 發表《曲面的一般研究》 (Disquisitiones generales circa superficies curvas),宣告了一個他稱之為 「絕妙定理」(Theorema Egregium) 的結果:
- 把紙彎成圓柱面:曲率不變( \(K = 0\) ,可無拉伸地展開);
- 把球面壓扁:必然拉伸( \(K = 1/R^2 > 0\) ,無法展開成平面)。
這是黎曼幾何(1854)的直接前身——「內在幾何」從此誕生。
前因 -- 為什麼會有這個案子#
- 漢諾威的大地測量(1818–1825): Gauss 被任命主持漢諾威王國的大地測量(geodetic survey)—— 測量地球表面的真實形狀。他在實測中發現:
「地球表面的測量不能用平面的方法——需要一種『曲面自己』的幾何。」 他在測量三角網(用光學儀器測三點的夾角)時,注意到大三角形的內角和略大於 180°——
(這正是球面幾何的直接體驗——Gauss 甚至曾測量三座山頭 (Brocken、Höhenberg、Inselsberg)構成的三角形,檢驗空間是否彎曲—— 結果在誤差範圍內為零,但這個實驗的思想影響了 Riemann 與 Einstein。) - Euler 的曲面研究(1760): Euler 已研究曲面的法曲率(normal curvature):
其中 \(k_1, k_2\) 是主曲率(principal curvatures)。 但 Euler 的曲率是外在的(依賴於曲面在空間中的位置)。 - Gauss 的問題(1827):
答案(絕妙定理):不是—— \(K\) 是內在的!
線索與推理 -- 數學式、程式、理論#
第一條線索:第一、第二基本形式#
第一基本形式(度規)——曲面上的「量距離的規則」:
第二基本形式——曲面「彎曲的程度」:
- \(I\) 是內在的(曲面上的居民可以測量);
- \(II\) 是外在的(需要從外面看)。
第二條線索:絕妙定理(Theorema Egregium)#
定理(Gauss, 1827):
Gauss 的顯式公式(只用第一基本形式):
直觀意義: - \(K\) 完全由「曲面上的量距方式」決定——不需要離開曲面; - 推論(等距不變性):
因此球面不能展開成平面( \(K = 1/R^2 \ne 0\) )—— 地圖必失真(Mercator 投影、蘭伯特投影都是「兩害相權」)。
第三條線索:Gauss–Bonnet 定理(1827 的另一個果實)#
定理(Gauss–Bonnet, 1827):
- 曲率的積分 = 拓樸量——幾何與拓樸的第一次直接連結;
- 推論:球面( \(\chi = 2\) )的總曲率恆為 \(4\pi\) ,無論怎麼變形;
- 推論(內角和):測地三角形( \(k_g = 0\) 邊界):
這是三種幾何的「統一公式」——Lobachevsky 與 Bolyai 的非歐幾何 被收進了 Gauss 的框架!
Python:絕妙定理的數值驗證#
import numpy as np
# 1) 圓柱面與平面等距(K = 0,可展開)
def cylinder(u, v, R=1.0):
"""圓柱面:X(u,v) = (R cos v, R sin v, u)"""
return np.array([R*np.cos(v), R*np.sin(v), u])
def gauss_curvature(X_func, u0, v0, h=1e-4):
"""數值計算高斯曲率 K = (LN - M²)/(EG - F²)"""
Xu = (X_func(u0+h, v0) - X_func(u0-h, v0)) / (2*h)
Xv = (X_func(u0, v0+h) - X_func(u0, v0-h)) / (2*h)
Xuu = (X_func(u0+h, v0) - 2*X_func(u0, v0) + X_func(u0-h, v0)) / h**2
Xuv = (X_func(u0+h, v0+h) - X_func(u0+h, v0-h) - X_func(u0-h, v0+h) + X_func(u0-h, v0-h)) / (4*h**2)
Xvv = (X_func(u0, v0+h) - 2*X_func(u0, v0) + X_func(u0, v0-h)) / h**2
n = np.cross(Xu, Xv); n = n / np.linalg.norm(n)
E, F, G = Xu@Xu, Xu@Xv, Xv@Xv
L, M, N = Xuu@n, Xuv@n, Xvv@n
return (L*N - M**2) / (E*G - F**2)
print("絕妙定理驗證:")
K_cyl = gauss_curvature(cylinder, 0.5, 0.7)
print(f" 圓柱面 K = {K_cyl:.6f}(應 = 0,可展開成平面)\n")
# 2) 球面 K = 1/R²(不可展開)
def sphere(u, v, R=1.0):
"""球面:X(u,v) = (R sin u cos v, R sin u sin v, R cos u)"""
return np.array([R*np.sin(u)*np.cos(v), R*np.sin(u)*np.sin(v), R*np.cos(u)])
for R in [1.0, 2.0, 5.0]:
K_sp = gauss_curvature(lambda u, v, R=R: sphere(u, v, R), 0.7, 0.7)
print(f" 球面 R={R}: K = {K_sp:.6f}(理論 = {1/R**2:.6f})")
print(" → 球面 K > 0:不能展開成平面(地圖必失真)\n")
# 3) 主曲率與 Euler 公式
print("Euler 公式驗證(主曲率):")
# 圓柱面:k1 = 0(沿軸),k2 = 1/R(環向)
k1, k2, R = 0.0, 1.0, 1.0
for theta in [0, np.pi/6, np.pi/4, np.pi/2]:
kn = k1*np.cos(theta)**2 + k2*np.sin(theta)**2
print(f" θ={np.degrees(theta):5.1f}°: k_n = {kn:.6f}")
print(f" K = k1·k2 = {k1*k2:.6f}(圓柱面恆為 0)\n")
# 4) Gauss–Bonnet:球面總曲率恆為 4π
print("Gauss–Bonnet 定理:")
# 數值積分球面曲率
us = np.linspace(0.001, np.pi-0.001, 100)
vs = np.linspace(0, 2*np.pi, 200)
total = 0.0
for i in range(len(us)-1):
for j in range(len(vs)-1):
du, dv = us[i+1]-us[i], vs[j+1]-vs[j]
u0, v0 = (us[i]+us[i+1])/2, (vs[j]+vs[j+1])/2
Xu = (sphere(u0+1e-5, v0) - sphere(u0-1e-5, v0)) / 2e-5
Xv = (sphere(u0, v0+1e-5) - sphere(u0, v0-1e-5)) / 2e-5
area_el = np.linalg.norm(np.cross(Xu, Xv))
K = 1.0 # 球面 K = 1
total += K * area_el * du * dv # dA = |Xu×Xv| du dv
print(f" 球面總曲率 ∫K dA = {total:.4f}")
print(f" 理論值 4π = {4*np.pi:.4f}")
print(" → 無論怎麼變形球面,總曲率恆為 4π(χ=2 的必然)")
絕妙定理驗證:
圓柱面 K = 0.000000(應 = 0,可展開成平面)
球面 R=1.0: K = 1.000000(理論 = 1.000000)
球面 R=2.0: K = 0.250000(理論 = 0.250000)
球面 R=5.0: K = 0.040000(理論 = 0.040000)
→ 球面 K > 0:不能展開成平面(地圖必失真)
Euler 公式驗證(主曲率):
θ= 0.0°: k_n = 0.000000
θ= 30.0°: k_n = 0.250000
θ= 45.0°: k_n = 0.500000
θ= 90.0°: k_n = 1.000000
K = k1·k2 = 0.000000(圓柱面恆為 0)
Gauss–Bonnet 定理:
球面總曲率 ∫K dA = 12.5669
理論值 4π = 12.5664
→ 無論怎麼變形球面,總曲率恆為 4π(χ=2 的必然)
結案 -- 後果與影響#
- 內在幾何的誕生(1827):
Gauss 的絕妙定理是黎曼幾何的哲學宣言: - 幾何不必依賴「空間中的位置」; - 幾何是「曲面自己」的性質。 Riemann(1854,Gauss 的學生) 直接把這個思想推廣到 \(n\) 維 (見「1854-黎曼幾何.md」)。 - 地圖學的數學基礎(1827–): - Mercator 投影(1569):保角但面積失真; - 蘭伯特投影(1772):面積守恆但角度失真; - 絕妙定理的推論:沒有完美地圖( \(K > 0\) 的球面不能等距映成平面)—— 這是地圖學的「測不準原理」。 - 非歐幾何的收容(1829–1868): Gauss–Bonnet 定理把 Lobachevsky 與 Bolyai 的非歐幾何收進了 Gauss 的框架:
Beltrami(1868)的偽球面(見「1868-貝特拉米偽球面.md」)就是 \(K < 0\) 的實例。 - 物理學的回響(1908–1915): - Einstein(1912–1915):廣義相對論把重力化為時空曲率—— 「物質告訴時空如何彎曲,時空告訴物質如何運動」; 絕妙定理是這句話的數學基礎(見「1916-愛因斯坦廣義相對論.md」); - Gauss 的測量實驗(1820s):Gauss 測量三山三角檢驗空間曲率—— Einstein(1919)的日食觀測是同一實驗的物理版(光線在太陽附近彎曲)。 - 拓樸學的果實(Gauss–Bonnet → Chern):
Atiyah–Singer 指標定理(1963)是 Gauss–Bonnet 在高維的推廣—— 20 世紀數學最重要的定理之一。 - 現代應用: - 計算機圖形學:三角網格的曲率計算(3D 遊戲、動畫、3D 列印); - 計算機視覺:曲面的「內在幾何」用於物體識別; - 機器學習:流形學習(manifold learning)—— 高維資料的「內在幾何」是低維流形。
- 歷史定位:Gauss 是「內在幾何」的發明者—— 他用大地測量的實務經驗,發現了純數學最深刻的思想之一:
關鍵人物與文獻#
- C. F. Gauss:Disquisitiones generales circa superficies curvas(1827);絕妙定理;Gauss–Bonnet。
- L. Euler:法曲率的 Euler 公式(1760);Recherches sur la courbure des surfaces。
- G. F. B. Riemann:Über die Hypothesen, welche der Geometrie zu Grunde liegen(1854)——內在幾何的推廣。
- P. O. Bonnet:Gauss–Bonnet 定理的推廣(1848)。
- S. S. Chern:A simple intrinsic proof of the Gauss-Bonnet formula(1944)。
- 相關案件:
1854-黎曼幾何.md、1868-貝特拉米偽球面.md、1916-愛因斯坦廣義相對論.md、1926-嘉當活動標架.md。