鱼C论坛

 找回密码
 立即注册
查看: 1417|回复: 18

[几何] 希尔伯特曲线(Hilbert curve)

[复制链接]
发表于 2024-2-5 06:11:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
希尔伯特曲线(Hilbert curve)


希尔伯特曲线(Hilbert curve),又称希尔伯特空间填充曲线,是由德国数学家大卫·希尔伯特(David Hilbert)在 1891 年提出的一种连续分形曲线。

这种曲线的独特之处在于它可以无限地逼近、填满一个二维空间,因此它是一个典型的空间填充曲线。

因此,希尔伯特曲线广泛应用于计算机科学、物理学、遥感、生物信息学等领域,用于分形分析、地图制作、信号处理等方面。


下面,小甲鱼教大家怎么来画这个东西~



一阶希尔伯特曲线:

1.png

没错,就是正方形少了一个 “缺口”


二阶希尔伯特曲线:

2.png

这是怎么来的呢?



其实就是先将一阶曲线进行拷贝,然后底下两个分别向右和向左旋转 90 度角:

3.png

接着彼此连线,但下方同样还是要留一个 “缺口”:

4.png


三阶希尔伯特曲线:

5.png

同样的道理,是基于二阶的拷贝和旋转,然后连线:

6.png


四阶希尔伯特曲线:

7.png


五阶希尔伯特曲线:

8.png


六阶希尔伯特曲线:

9.png


七阶希尔伯特曲线:

10.png


动画演示




附带一个使用 Turtle 实现的动画代码:

游客,如果您要查看本帖隐藏内容请回复


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-5 07:20:37 | 显示全部楼层
你用线再折一折还能折出正方体
实际上线段是没有宽度的,它相当于一维。
所以一维的线无法填满二维中的任何已知结构体或三维的。
之所以看起来像被填满了是因为笔粗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-5 14:26:20 | 显示全部楼层
一点沙 发表于 2024-2-5 07:20
你用线再折一折还能折出正方体
实际上线段是没有宽度的,它相当于一维。
所以一维的线无法填满 ...

并不是用一维的线段去填充二维,希尔伯特曲线是一种分形几何形状,具体来说是一种空间填充曲线,跟跨维度概念是无关系的。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-5 14:59:49 | 显示全部楼层
长知识了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-5 20:58:15 | 显示全部楼层
小甲鱼 发表于 2024-2-5 14:26
并不是用一维的线段去填充二维,希尔伯特曲线是一种分形几何形状,具体来说是一种空间填充曲线,跟跨维度 ...

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-6 07:53:13 | 显示全部楼层
纠错啦
是希尔伯特折线,因为并没有出现曲线
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-6 14:02:48 | 显示全部楼层
一点沙 发表于 2024-2-6 07:53
纠错啦
是希尔伯特折线,因为并没有出现曲线

可是它的译名好像就是这个“希尔伯特曲线”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-6 14:14:57 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-6 21:49:57 | 显示全部楼层
长见识了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-7 22:19:49 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-8 00:49:02 | 显示全部楼层
学会了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-8 02:03:53 | 显示全部楼层
一点沙 发表于 2024-2-6 07:53
纠错啦
是希尔伯特折线,因为并没有出现曲线

首先,curve 翻译过来就是 “曲线” 的意思~

你的问题我能理解,尽管希尔伯特曲线在每一次迭代中看起来像是折线,由于它的极限形态是无限细分后的结果,我们可以认为它在理论上是连续的,并且可以无限接近任意一个区域内的点。因此,从数学的角度来说,将其称为“曲线”是合适的,因为“曲线”一词在数学中通常指的是一条连续的路径。

此外,“折线”一般指的是由有限多个线段首尾相连组成的线,这些线段通常是直的,而希尔伯特曲线虽然起始阶段看似由直线段组成,但在极限状态下,它不再是由明显的直线段组成,而是形成了一条完全连续的曲线,它的每一部分都无限地细小,以至于不再是直线。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-9 16:23:05 | 显示全部楼层
太酷了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-23 07:41:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-23 20:05:24 | 显示全部楼层
知识+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-20 20:20:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-7-1 16:28:45 | 显示全部楼层
涨知识了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-17 21:49:28 From FishC Mobile | 显示全部楼层
还没有弄懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-18 18:06:35 | 显示全部楼层
学会啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 20:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表