自己 搞 一个 球面几何 (草稿)
写这篇文章 的 原因 是 网友 虾米1237895 在 反相吧 发的一个 帖 《不懂相对论很正常,先把非欧几何想明白在说。》 http://tieba.baidu.com/p/6356134238 。
看着这个 帖, 我就想, 球面几何 很 神 吗 ? 自己 也可以 搞一个 吧 ?
所以 我们就来 搞 一个 球面几何 。 这里 的 球面 是 标准球体 的 球面, 不是 任意曲面 。
搞 一个 球面几何, 最基本 的 一个 课题 是 证明 和 推导 球面 上 的 短程线 。 短程线 就是 球面上 任意 2 点 之间 距离 最短 的 线 。
在 平面 上, 两点 之间 直线 最短, 在 曲面 上 , 两点 之间 距离最短 的 线 就 视 曲面 “弯曲 的 状况” 而定, 把 曲面 看作是 高低起伏 的 地表, 那么 两点间 距离最短 的 线路 就 视 地形 而定 。
小时候 看 爱因斯坦 爷爷 广义相对论 相关 的 科普读物, 会看到 说 “曲面 上 两点间 距离最短 的 线 不是 直线, 而是一条 曲线 。” , 其实 这个 说法 不太恰当, 因为 曲面 上 2 点 间 任意 一条线 都是 曲线, 没有 直线 。 因为 科普读物 是 以 地球 举例 的, 所以 我想 科普读物 想说的是 在 一个 球面 上, 2 点 间 距离最短 的 不是 从 地垂线 看下去 的 那条 线 。
从 地垂线 看下去 的 那条 线 就是 2 点 和 球心 三点 组成 的 平面 与 球面 的 相交线 。 对于 地表 上的 人 来说, 就是 从 A 点 “正直” 的 望向 B 点, 得到 的 AB 线 。
对于 地表 的 人 来说, AB 线 平行于 地平面 (水平面), 垂直于 地垂线, 如果 地表 是 平面, 那么 AB 线 就是 A B 2 点 间 最短 的 线 。
但 对于 球面, AB 线 这条 “正直” 的 线 不是 A B 间 距离最短 的 线 。
我被 科普读物 里 “曲面 上 两点间 距离最短 的 线 不是 直线, 而是一条 曲线 。” 这个 说法 误导了 很多年, 因为 球面 上 没有 直线, 都是 曲线, 那何来 “距离最短 的 线 不是 直线” 的 说法 呢 ? 这里说的 “直线” 应该是 刚刚 说的 球面上 A B 间 “正直” 的 那条线, 但 这条线 也是 曲线, 是一个 圆弧, 不是 直线 。
书归正传, 我们来 证明 和 推导 球面 上 的 短程线 。
设 一个 球体 O 球心 为 点 O, 半径 为 R, 球面 上 有 A 、B 2 点, OA OB 之间 的 夹角 为 α , 求 A 、B 间 短程线 。
首先, 要 证明 一点, 球面 上 两点间 的 短程线 必然 在 一个 平面 上, 即 必然 是 一个 平面 与 球面 相交 得到 的 圆弧 。
平面 与 球面 相交 得到 一个 圆 , 短程线 是 这个 圆 上 A B 2 点 间 的 圆弧 。
当然, 可以有 无数 个 平面 过 A B 2 点 和 球面 相交, 短程线 就是 无数个 平面 与 球面 相交 得到 的 无数个 AB 圆弧 中 最短 的 那一个 。
这一点 称为 球面 短程线 定性 定理 。
要 证明 球面 短程线 定性 定理 , 需要 先 证明 球面 同质线 定理 。
球面 同质线 定理 是 : 球面 上 两点间 的 同质线 的 长度 小于 连接 2 点 的 两条 或者 两条 以上 的 同质线 长度 的 和 。
什么是 球面 上 的 同质线 呢 ? 就是 A B 2 点 和 圆心 O 三点 组成 一个 平面 , 称为 ABO 平面, 以 ABO 平面 为 基准, 可以来 描述 任意一个 过 A B 2 点 和 球面 相交 的 平面, 把 过 A B 2 点 和 球面 相交 的 任意平面 称为 相交面 , 用 相交面 和 ABO 平面 之间 的 夹角 θ 就可以 描述 相交面, 一个 θ 值 对应 一个 相交面, 对于 球面 上 任意 2 点, 有 无数个 相交面, 当然, 也有 无数个 θ 值 , θ ∈ [ 0, π / 2 ] 。
θ 是 [ 0, π / 2 ] 区间 上 的 实数, 所以, 有 无数个 θ 值, 对应 过 A B 的 无数个 相交面 。
ABO 平面 称为 A B 2 点 的 基准面, OA OB 之间 的 夹角 为 α 称为 A B 的 基准角 , 基准角 决定了 A B 的 位置关系 。
过 A B 的 相交面 称为 A B 的 相交面 , 相交面 和 基准面 之间 的 夹角 称为 相交面夹角, 记为 θ 。 A B 和 θ 决定一个 相交面 。
对于 球面 上 任意 的 4 个 点 A B C D , 过 A B 有一 相交面 , 相交面夹角 为 θ1 , 与 球面 相交 得到 AB 间 弧线 为 弧 AB ,
过 C D 有一 相交面 , 相交面夹角 为 θ2 , 与 球面 相交 得到 CD 间 弧线 为 弧 CD ,
若 θ1 = θ2 , 则 弧 AB 和 弧 CD 称为 同质线 。
显然, 因为 球面 的 各向对称性, 若 A B 的 基准角 α1 = C D 的 基准角 α2 , 则 A B 和 C D 的 同质线 长度 相等, 不仅仅 长度 相等, 两者 完全 相等, 是 一样 的 圆弧 。
于是, 球面 同质线 定理 的 内容 也可以这样 描述 : 对于 球面 上 的 2 点 A B, 取 任意一个 相交面 可以得到 一条 弧线 弧 AB ,
设 n 为 自然数, n > 1 ,
用 n 条 弧 AB 的 同质线 把 A B 2 点 连接 起来, 这段 连接线 称为 折线 AB ,
则, 弧 AB 的 长度 必然 小于 折线 AB 的 长度 。
比如, 在 A B 附近 取 一个 点 C, 可以用 弧 AC 、 弧 BC 把 AB 连起来, 弧 AC 、 弧 BC 构成 折线 ACB,
若 弧 AB 、弧 AC 、 弧 BC 是 同质线 , 则 弧 AB 的 长度 必然 小于 折线 ACB 。
这是 可以 证明 的 , 证明 的 根据 是 球面 的 各向对称性 , 球面 的 各向对称性 又称为 各处同性性 , 各处同性性 是指 球面 上 任意一点 的 性质 都是一样 的, 性质一样 是指, 取 球面 上 任意一点 A, 在 球面 上 过 A 点 有 无数条 曲线, 任意一条 曲线 在 该点 的 曲率 为 K, 在 球面 上 取 另外一点 B, 在 球面 上 过 B 点 有 无数条 曲线, 球面上 过 A 点 的 无数条 曲线 和 过 B 点 无数条 曲线 一 一 对应, 相对应 的 2 条 曲线 在 A 点 (B 点) 的 曲率 相等 。
具体 的 我不想 证明了, 这和 平面 上 两点之间 直线最短 , 或者 三角形 两边之和 大于 第三边 是 类似 的 。
这就是 球面 同质线 定理 。
我们 可以这样 来 定义 球面上 2 点 间 的 折线 : 设 n 为 自然数, n > 1 , 对于 球面 上 的 任意两点 A B , 用 n 段 圆弧 把 A B 连接起来, 则 把 这些 圆弧 组成 的 折线 成为 AB 间 的 折线, 折线 的 圆弧数 为 n 。
接下来 证明 : 设 折线 L 是 A B 间 的 一条 折线, 则 折线 L 的 长度 必然 大于 至少 一条 AB 间 的 圆弧 。 AB 间 的 圆弧 当然 是 由 一个 平面 过 AB 与 球面 相交得到 。
要 证明 这一点, 要 引入一个 相交弧长率 的 概念, 对于 球面 上 A B 2 点, 不同 的 相交面 过 A B 与 球面 相交 得到 的 弧 AB 的 长度 是 不一样的, 对于 位置 确定 的 A B 2 点, 弧 AB 的 长度 和 相交面 的 θ 有关,
可以知道, 存在 一个 θ , 使得 该 θ 对应 的 相交面 和 球面 相交 得到 的 弧 AB 的 长度 最小 。
好吧, 到这里, 我似乎 发现 我 打算 把 球面 短程线 简化 成 一个 平面 与 球面 相交 的 一段 圆弧 的 计划 要 破产 了 , 因为 存在 这样一个 矛盾 :
假设 A 、B 两点 间 的 短程线 在 一个 平面 上, 是 这个 平面 与 球面 相交 得到 的 弧 AB, 那么 任意取 弧 AB 上 的 一点 C, 则 A C 之间 也存在 一个 短程线, 因为 A C 的 位置 和 A B 的 位置 不同, 所以, A C 间 的 短程线 弧 AC 不会 和 弧 AB 重合在 一个 圆 上, 即 弧 AC 和 弧 AB 在 不同 的 平面 上, 依次类推, 弧 AC 也 也可以 取一个 点 D, A D 间 短程线 弧 AD 、CD 间 短程线 弧 CD 、弧 AC 也不会 重合在 一个 圆 上, 可以如此 无限分割 下去 。
对于 B C 也可以 如此 无限分割 下去 。
所以, 整个 弧 AB 也可以 无限分割 下去, 于是, A B 间 短程线 不在 一个 平面 上, 不是 一个 平面 与 球面 相交 的 圆弧, 而是 在 球面 上 “弯扭” 的 一条 线 。
如果 把 短程线 简化 为 一个 平面 上 的 圆弧, 那么可以 得到 A B 两点间 任意 θ 的 相交面 与 球面 相交 得到的 弧 AB,
设 弧 AB 长 为 L , 可以 记为 L = f ( θ ) , 这样 求 短程线 就是一个 求 函数极值 问题,
可以 求 出 当 θ 等于 多少时, L 最小, 这就是 短程线 长度, 把 θ 带入 L = f ( θ ) , 就是 短程线 方程 。
不过 现在 既然 不能 把 短程线 简化 为 一个 平面 上 的 圆弧 , 那 求 “最小” 这个 就得 想点办法, 教科书 上 是用 变分法 ,
嗯 …… 我们 可以自己 想个 办法, 不过 懒得想了, 先这样吧 。
总之 这个 课题 是 可以用 微积分 + 解析几何 来 研究 的, 这个 课题 是 数学分析, 数学分析 就是 用 微积分 + 解析几何 来 研究 的 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-02-05 ILBC 运行时 (ILBC Runtime) 架构