1.4 球面度量手推实验


1.4 球面度量手推实验

摘要:本节是第一章的实操收官。不查表、不背结论,从三维欧氏度量出发,经参数化与链式法则一步步推出单位球面在极坐标下的度量 ds^2 = d\theta^2 + \sin^2\theta\, d\varphi^2,随后分别手算大圆弧与纬线圈弧长,最后用 SymPy 复核每一步。手推与数值互证,是本册所有后续推导的标准作业流程。

实验任务书

本节在知识体系中位于第一章末尾:把前三节分别到手的「参数化」「诱导度量」「分量变换」三件工具合起来用一次。任务四项——推导球面度量;计算两类圆弧长度;对比「距离的直觉」与「距离的账本」;用符号计算复核全部结果。完成后,第二章推导克氏符号时将直接调用本节产物。

任务背景是一个具体疑问:在球面上,纬线看起来是「绕一圈的圆」,经线也是圆,但走同样的经度跨度,高纬处的纬线弧明显更短。度量表达式应当把这件事精确地编码进去。我们即将看到,编码它的正是那个 \sin^2\theta 因子。

第一步:写出球面的参数化

单位球面 S^2 \subset \mathbb{R}^3 上,取余纬度 \theta(从北极量起的角)与经度 \varphi

r(\theta, \varphi) = (\sin\theta \cos\varphi,\ \sin\theta \sin\varphi,\ \cos\theta), \qquad \theta \in (0, \pi),\ \varphi \in (0, 2\pi).

先自查这张卡覆盖哪里:\theta\varphi 取开区间时,两个极点(\theta = 0\theta = \pi)不在卡内,经线 \varphi = 0 被缝合——正是上一节「球面至少要两张卡」结论的体现。极点的问题不影响推导:度量是逐点对象,卡覆盖到的每一点都合法。

第二步:求坐标基向量并算内积

按诱导度量流程,先算两个坐标切向量:

r_\theta = (\cos\theta \cos\varphi,\ \cos\theta \sin\varphi,\ -\sin\theta), \qquad r_\varphi = (-\sin\theta \sin\varphi,\ \sin\theta \cos\varphi,\ 0).

逐项算三个内积(每项都是欧氏点积,逐分量乘加即可):

E = r_\theta \cdot r_\theta = \cos^2\theta\cos^2\varphi + \cos^2\theta\sin^2\varphi + \sin^2\theta = \cos^2\theta + \sin^2\theta = 1;
F = r_\theta \cdot r_\varphi = -\cos\theta\cos\varphi\sin\theta\sin\varphi + \cos\theta\sin\varphi\sin\theta\cos\varphi + 0 = 0;
G = r_\varphi \cdot r_\varphi = \sin^2\theta\sin^2\varphi + \sin^2\theta\cos^2\varphi = \sin^2\theta.

于是

\boxed{ds^2 = d\theta^2 + \sin^2\theta\, d\varphi^2.}

每个中间结果都值得回看一眼:E = 1 说明沿经线走,一度就是一段固定弧长——经线是均匀刻度的;F = 0 说明经线族与纬线族处处垂直,所以经纬网在球面上是正交网格;G = \sin^2\theta 说明纬线方向的标准尺码随纬度收缩,赤道处(\theta = \pi/2)满格,两极附近趋于零。直觉疑问由此完全落地:高纬纬线短,不是「画小了」,是度量账本里那个 \sin^2\theta 记的账。

球面经纬网与度量因子的读图

球面经纬网与度量因子的读图

第三步:手算两类弧长

大圆弧(经线段):从赤道到北纬六十度(即 \theta\pi/2\pi/3),路径上 \varphi 不动、d\varphi = 0,线元退化为 ds = d\theta

L = \int_{\pi/3}^{\pi/2} d\theta = \frac{\pi}{6}.

单位球上弧长就等于圆心角,符合直觉。

纬线弧:在余纬 \theta_0 处沿纬线走过经度差 \Delta\varphi,此时 d\theta = 0

L = \int_0^{\Delta\varphi} \sqrt{\sin^2\theta_0}\ d\varphi = \sin\theta_0 \cdot \Delta\varphi.

北纬六十度即 \theta_0 = \pi/3\sin\theta_0 = \tfrac{\sqrt 3}{2} \approx 0.866;同一经度跨度在赤道则是满值 \Delta\varphi。对照检验:纬线圈是嵌入空间里半径 \sin\theta_0 的圆,其周长 2\pi \sin\theta_0 与度量积分完全一致——内在账本与外部观察这次给出了同一笔账,互相印证。

第四步:SymPy 符号复核

手推再仔细也要过机器这一关。下面的会话用符号计算复算 E, F, G 与两条弧长(在 Python 交互环境中执行):

from sympy import symbols, sin, cos, sqrt, integrate, pi, simplify, Matrix, trigsimp th, ph = symbols('theta varphi', positive=True) # 球面参数化(列向量) r = Matrix([sin(th)*cos(ph), sin(th)*sin(ph), cos(th)]) r_th = r.diff(th) # 对 theta 的偏导 r_ph = r.diff(ph) # 对 varphi 的偏导 E = trigsimp(r_th.dot(r_th)) F = trigsimp(r_th.dot(r_ph)) G = trigsimp(r_ph.dot(r_ph)) print(E, F, G) # 输出: 1 0 sin(theta)**2 # 大圆弧长: theta 从 pi/3 到 pi/2, varphi 不动 L1 = integrate(sqrt(E*1), (th, pi/3, pi/2)) print(L1) # 输出: pi/6 # 纬线弧长: theta 固定为 pi/3, varphi 走 2 pi(整圈纬线) L2 = integrate(sqrt(G.subs(th, pi/3)), (ph, 0, 2*pi)) print(simplify(L2)) # 输出: sqrt(3)*pi 即 2 pi sin(pi/3)

机器输出与手推逐项一致。值得留意的是 trigsimp 的作用:直接点积会得到一长串三角乘积,化简后才显形为 1, 0, \sin^2\theta——手推时合并 \cos^2 + \sin^2 = 1 那一步,机器同样必须执行。

⚠️ 常见坑:把 \theta 当成「纬度」。地理纬度从赤道量起,余纬度从北极量起,两者相差 \tfrac{\pi}{2}。混用会得到 ds^2 = d\lambda^2 + \cos^2\lambda\, d\varphi^2\lambda 为地理纬度)——这个式子本身没错,但与查表公式对照时经常差一个 \sin\cos,检查两小时找不到错的故事大多源于此。另一种坑是忘开根号:ds^2 是长度平方,积分时务必先取平方根。

结果解读与一个预告

这次实验验证的不只是一条公式。第一,度量完全可以从更高维空间「继承」下来,继承过程只用到点积与链式法则,没有任何新假设——这条路径以后会反复走(环面、旋转曲面、乃至第六章的时空度量)。第二,度量分量 G = \sin^2\theta 是「位置依赖」的:尺子在不同方向、不同地点读数不同,这正是弯曲空间的日常,而不是异常。第三,本节刻意没问「球面上两点的最短路径是什么」——这个问题需要新工具(如何对曲线长度做变分),而做变分之前必须先解决「向量如何跨点比较」,这就是第二章联络的全部任务。

本节要点回顾

  • 手推流程:参数化 → 坐标切向量 → 三项点积 → 组装 ds^2,四步没有任何跳跃;
  • 球面度量 ds^2 = d\theta^2 + \sin^2\theta\, d\varphi^2:经线均匀、经纬正交、纬向随 \sin\theta 收缩;
  • 弧长账本:大圆弧等于圆心角;纬线弧长要乘 \sin\theta_0,与外部几何核账一致;
  • 机器复核:SymPy 化简输出与手推逐项对上,改参数即可复测任意路径;
  • 两点余味:尺子逐点变化是常态;最短路径问题已就位,等第二章发牌照。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U