CurvG
分形曲线

希尔伯特曲线Hilbert curve

一条不重复的路径走遍 2ⁿ × 2ⁿ 网格的每一格;取极限后,它经过正方形里的每一个点。

调节参数

导出

公式与关键数值

构造规则

按 U 形依次经过正方形的四个四分之一;在每个四分之一里,把整个图案缩小一半重复一遍,并旋转到首尾相接。

弧长图中 ≈ 31.97
Ln=2n−2−nL_n = 2^n - 2^{-n}
经过的格子数图中 = 1024
4n4^n
极限的维数
D=2D = 2

n 是阶数;曲线位于单位正方形内。

讲解视频

把希尔伯特曲线做成讲解视频

打开创作台,自动填好这条曲线的动画需求。自由生成目前是测试版。

开始制作

01 · 定义

什么是希尔伯特曲线?

把正方形分成四块,用一条 U 形路径连起四块的中心。再把每一块换成整个图案缩小后的副本,并旋转到首尾相接。David Hilbert 在 1891 年发表了这个构造,比 Peano 证明"曲线可以填满正方形"晚一年。

n 阶路径恰好经过网格的全部 4ⁿ 个格子一次。n 增大时,这些曲线收敛到一个把线段连续地映满整个正方形的映射。它在实际中的好处是"局部性":在曲线上相邻的点,在正方形里也相邻,所以被用来给像素、地图瓦片和数据库键排序。

02 · 性质

关键性质

  1. n 阶曲线经过 4ⁿ 个格子,每格恰好一次。
  2. 在单位正方形里,n 阶路径长 2ⁿ − 2⁻ⁿ。
  3. 极限是从 [0, 1] 到正方形的连续满射:一条填满空间的曲线。
  4. 它的像的维数是 2,就是被填满的正方形的维数。
  5. 曲线上相近的位置落在相近的格子里,因此适合给二维数据做一维索引。

03 · 问答

关于希尔伯特曲线的常见问题

希尔伯特曲线是怎么构造的?
构造规则:按 U 形依次经过正方形的四个四分之一;在每个四分之一里,把整个图案缩小一半重复一遍,并旋转到首尾相接。。n 是阶数;曲线位于单位正方形内。
希尔伯特曲线的弧长是多少?
弧长:L_n = 2^n - 2^(-n)。n 是阶数;曲线位于单位正方形内。

04 · 继续探索