/出租车几何
演示中
1

橙色阶梯=曼哈顿(L₁)、蓝线=欧氏(L₂)、绿色长边=切比雪夫(L∞),读数实时变化

几何

出租车几何

抄近路和绕远路,为什么一样远?

抄近路和绕远路,为什么一样远?

你在曼哈顿打了辆出租车,从一个路口到斜对面那个路口。司机可以先往东开三个街区、再往北开三个;也可以走一格东、一格北、一格东……拐来拐去走个"楼梯"。可你会发现一件怪事:只要他不往回开,无论怎么拐,总路程一模一样

因为车不能像鸟一样飞对角线——它被街道网格锁死了。在这个世界里,"距离"不再是我们熟悉的那条直线。

三种不一样的"距离"

我们平时说的距离,是两点间那条直线的长度,叫欧氏距离——也就是勾股定理量出来的那条斜边(见 [[pythagorean-theorem]])。但它只是众多距离里的一种。

把两点的横、纵坐标差记作 Δx\Delta xΔy\Delta y,三种最常见的距离是:

  • 曼哈顿距离(出租车走的):横竖一段段加起来,Δx+Δy|\Delta x| + |\Delta y|
  • 欧氏距离(鸟飞的直线):Δx2+Δy2\sqrt{\Delta x^2 + \Delta y^2}
  • 切比雪夫距离(国际象棋"王"走的):max(Δx,Δy)\max(|\Delta x|, |\Delta y|)

最后这个最反直觉。国际象棋的"王"每步能往八个方向走一格,斜着走也只算一步。所以它从棋盘一角走到对角,要的不是 7+7=147+7=14 步,而是 max(7,7)=8\max(7,7)=\textbf{8} 步——斜着冲过去就行。

同样两个点,三种规则,量出三个不同的"远近"。距离不是天经地义的,它取决于你怎么被允许移动

每种距离都有自己的"圆"

这是最妙的地方。所谓"圆",就是到圆心距离都相等的点连成的形状。换一种距离,圆就长得不一样:

距离 怎么算 "单位圆"长什么样
欧氏 L2L_2 Δx2+Δy2\sqrt{\Delta x^2+\Delta y^2} 我们熟悉的
曼哈顿 L1L_1 Δx+Δy|\Delta x|+|\Delta y| 立着的菱形(钻石)
切比雪夫 LL_\infty max(Δx,Δy)\max(|\Delta x|,|\Delta y|) 正着的正方形

动画里这三个形状叠在一起,一眼就能看出区别。顺带一个彩蛋:在曼哈顿几何里,"圆周率"不是 3.14,而是整整 4——菱形一圈的"周长"除以"直径"恰好等于 4。

它们其实是一家人

这些距离不是各自孤立的,它们都属于一个统一的公式——闵可夫斯基距离

dp=(Δxp+Δyp)1/pd_p = \left(|\Delta x|^p + |\Delta y|^p\right)^{1/p}

拨动里面的 pp,神奇的事情发生了:

  • p=1p = 1 时,就是曼哈顿距离,单位圆是菱形
  • p=2p = 2 时,就是欧氏距离,单位圆是
  • pp \to \infty 时,就是切比雪夫距离,单位圆鼓成正方形

动画里拖动 pp,你能看到菱形平滑地长成圆、再鼓成方。它们是同一族曲线的不同长相。

曼哈顿和切比雪夫,竟是同一个

还有个更漂亮的结论。把曼哈顿的菱形绕中心转 45°、再放大 2\sqrt{2},它会严丝合缝地压在切比雪夫的正方形上

这说明:切比雪夫距离不过是"把坐标系转了 45°的曼哈顿距离"。两个看似不同的世界,本质上是同一个,只是看的角度差了 45°。

它藏在哪些地方

  • 导航与物流:城市配送、仓库取货机器人在网格货架间穿行,算的都是曼哈顿距离。
  • 游戏与棋类:棋盘寻路、塔防的攻击范围,常用切比雪夫距离("王"的走法)。
  • 图像处理:给图形描边、计算像素到边界的"距离变换",按的就是这几种格点距离。

下次坐进出租车,看着窗外一格格倒退的街区——你正穿行在一个"圆是菱形"的几何世界里。

同分类推荐
毕达哥拉斯定理

为什么 a² + b² = c²?

月牙求积

一弯月牙,竟和一个三角形一样大?

阿基米德螺线

一条匀速展开的螺线,圈与圈为何永远等距?

帕普斯六角形定理

两条直线上各取三点,为什么三个交点必共线?