摘要:把前两节的仪器带到三个标准现场——单位球面(正常曲率样板)、伪球面(负常曲率样板)、嵌入环面(混合曲率样板),执行同一套测量规程:曲率公式核算、内角和读数、圆周长与半径关系、回路偏转。三种曲率符号在同一次实验里正面相遇,负曲率与混合曲率的反直觉行为由此获得具体校准。
本章前两节备好了全部仪器:克氏符号五步法、曲率分量公式、二维坍缩公式 K = R_{1212}/\det g、测地线方程。本节将它们打包成一个固定规程,依次对三个现场执行:第一站单位球面 S^2(已知答案 K = 1,用于规程校准);第二站伪球面(曳物线旋转体,预期 K = -1 的常负曲率样板);第三站嵌入环面(甜甜圈面,预期曲率随位置变号)。每站四项读数:曲率公式核算、三角形内角和、小圆周长与半径比、平行移动回路偏转。规程完全不变,只换现场——这是第一章内在性纲领的第三次兑现。
校准站的三项读数全部已知且已两度验算(角盈定律、回路偏转率),此处补第四项——小圆周长与半径关系,它是最能区分曲率符号的读数。以北极为中心、测地线半径 \rho 画圆(即纬线 \theta_0 = \rho),周长 C(\rho) = 2\pi\sin\rho,而欧氏平面周长应为 2\pi\rho。小半径展开 \sin\rho \approx \rho - \tfrac{\rho^3}{6},得 C(\rho) \approx 2\pi\rho\,(1 - \tfrac{\rho^2}{6}):正曲率的标志是周长比欧氏值短,亏欠量与 K\rho^2 成正比。取 \rho = \tfrac{\pi}{6}:欧氏账面 2\pi \times 0.5236 \approx 3.290,实测 2\pi \times 0.5 = 3.142,短了约百分之四点五。规程四项读数(K=1、内角和超、周长亏、回路偏转正)全部对上,仪器可信,开赴第二站。
伪球面由曳物线绕轴旋转生成,参数化为
诱导度量为 ds^2 = \tanh^2 u\, du^2 + \mathrm{sech}^2 u\, dv^2(推导与第 1.4 节球面流程完全同构:参数化、求切向量、算三项内积)。代入克氏符号公式与曲率分量公式(或直接用本章代码段),得到 K = -1,且与 u 无关——常负曲率。
负曲率的读数全面反号,逐项对照球面:三角形内角和小于 \pi(马鞍上三点连线,三角「瘪」进去一块);测地圆周长大于欧氏值(展开式变 C \approx 2\pi\rho(1 + \tfrac{\rho^2}{6}),超额);平行移动回路偏转角为负(顺时针偏转)。最反直觉的是面积:内角和亏缺意味着「同周长的图形在负曲率下面积可以任意大」——双曲平面的裙子永远做不完,这也是地图学中双曲投影难以等面积嵌入平面的根源。伪球面自身有个限制:它只是双曲平面的局部模型,u 有下界,边缘处出现尖点,不可能整体实现常负曲率完备曲面的嵌入(希尔伯特定理禁止三维欧氏空间里完整的常负曲率嵌入,详见第四章)。
标准嵌入环面参数化为
诱导度量 ds^2 = r^2 d\theta^2 + (R + r\cos\theta)^2 d\varphi^2。高斯曲率(用曲率公式或嵌入公式 K = \tfrac{\cos\theta}{r(R + r\cos\theta)},两种算法应一致):
读数分区:外赤道 \theta = 0 处 K = \tfrac{1}{r(R+r)} > 0,正曲率像球面外侧;顶底两圆 \theta = \pm\tfrac{\pi}{2} 处 K = 0,抛物线点;内赤道 \theta = \pi 处 K = -\tfrac{1}{r(R-r)} < 0,负曲率且绝对值更大(分母 R - r 更小)。环面一圈走下来,曲率符号经历正-零-负-零-正的完整循环——同一张曲面、同一次测量规程,读数连续变号。对照第 1.3 节的预告:平环面(配 d\theta^2 + d\varphi^2)处处 K=0,甜甜圈环面有正有负——拓扑相同、度量不同,曲率读数彻底分道扬镳。第四章 Gauss-Bonnet 定理将补上惊人的一笔:尽管读数逐点不同,环面全曲率积分恒为零,与平环面相同——拓扑在总量上强行「对账」。

from sympy import symbols, sin, cos, tanh, sech, Matrix, simplify, together u, v, R, r = symbols('u v R r', positive=True) def gauss_curvature(g, coords): ginv = g.inv() G = {(k,i,j): simplify(sum(ginv[k,l]*(g[l,i].diff(coords[j]) + g[l,j].diff(coords[i]) - g[i,j].diff(coords[l])) for l in range(2))/2) for k in range(2) for i in range(2) for j in range(2)} R1212 = simplify(sum( g[0,l]*(G[(l,1,0)].diff(coords[1]) - G[(l,1,1)].diff(coords[0]) + sum(G[(l,1,m)]*G[(m,0,1)] - G[(l,1,m)]*G[(m,1,0)] for m in range(2))) for l in range(2))) return together(simplify(R1212/g.det())) # 伪球面度量 g_pseudo = Matrix([[tanh(u)**2, 0], [0, sech(u)**2]]) print(gauss_curvature(g_pseudo, [u, v])) # 输出: -1 # 嵌入环面度量(取 R=2, r=1 便于核对) g_torus = Matrix([[r**2, 0], [0, (R + r*cos(u))**2]]).subs({R: 2, r: 1}) print(gauss_curvature(g_torus, [u, v])) # 输出: cos(u)/(2 + cos(u))
输出确认:伪球面 K = -1 恒定;环面 K = \tfrac{\cos u}{2+\cos u},外圈 u=0 时 \tfrac{1}{3}、内圈 u=\pi 时 -1、顶底 u=\pm\tfrac{\pi}{2} 时归零。手推与机器互证的习惯,至此已跑完第四轮。
💡 关键直觉:曲率符号是一部「行为词典」——内角和、周长、回路偏转、平行线数目,四条词条查任何一个都能反推符号。仪器不必全套出勤,读一项读数即可定位现场性质;反过来,四项读数相互锁定,正是曲率作为内蕴量的鲁棒性。