水滴和二向箔哪个厉害 二向箔长啥样子


水滴和二向箔哪个厉害 二向箔长啥样子

文章插图
文章插图
作者|贝爽,陈大新
视频作者|哔哩哔哩@Ele实验室
本文经视频作者授权整理成图文版 。
要选取著名科幻小说《三体》中几个令人印象深刻又热血的科幻元素和场景,水滴攻击和双向衬托降维攻击肯定会榜上有名 。
图注:水滴描述:水滴
今天我们就来聊聊降维打击——如何在地球上实现“从三维降到二维” 。
《三体》中,太阳系被一小片双向箔片从三维攻击到二维的场景描述,真是引人入胜 。有没有:
“这是第一颗落入二维空间的固体行星 。与海王星和土星的想象相比,二维地球的“青春”更加清晰细腻……,听起来是那么的诗意,激发了很多读者的无限想象 。其中一个是科幻迷哔哩哔哩·Up的Ele实验室 。起初,他对三体降维的想象是这样的:
啪啪!三维变成了二维...
啊,这是...有点草率 。
下面呢?
这种剥橘子的方法显然也不太好 。
其实这两种想法最大的问题是只考虑地球表面 。我们在玩游戏戴模具的时候可以看到,目前主流的3D建模技术都是用三角曲面来构成物体的表面,而物体内部只有空 。
但地球其实是一个实心球体,由内而外由地核、河漫滩、地壳和地表组成 。
有点复杂 。
那么如何实现对三维对象的降维攻击呢?
前几天,哔哩哔哩UP主在用threejs框架写程序的时候偶然发现了一个演示 。
看起来是这样的:
和大多数人一样,UPLord一开始认为这个极度恐惧的人看到的是泪痕,而爱蛇者看到的是狂喜,这只是一个简单的数学分析 。
但他研究后发现,这其实就是著名的希尔伯特曲线 。
借助这条曲线,Up成功实现了三体的降维 。
希尔伯特曲线
我们先来了解一下什么是“希尔伯特曲线” 。
早在19世纪,数学界就出现了用一维直线填充二维平面的热潮,换句话说,就是寻找一维和二维的映射 。起初是意大利数学家皮亚诺,没错,是一个时不时出现在高等数学课本上的老伙计:
他提出了一条可以填充平面的曲线peano曲线,紧接着是德国数学家希尔伯特提出的另一条希尔伯特曲线,这是Up用来完成降维的工具 。
希尔伯特曲线是这样的:这是一个平面正方形 。首先把它分成4等份 。你可以用这样的曲线遍历所有四个小块 。这是一阶希尔伯特曲线 。
之后,每一小块可以分成4等份 。如果想得到一条可以遍历所有小块的曲线,可以先在四个小区域中的每一个区域画一阶希尔伯特曲线 。
然后把下面两个分别旋转90度和-90度,连接起来 。这是二阶希尔伯特曲线 。
同理,我们可以得到三阶、四阶、五阶希尔伯特曲线等等 。
而当阶数接近无穷大时,我们可以认为曲线“填满”了整个平面:
只有当这是真正的希尔伯特曲线,且前一阶不能达到无穷大时,才能称之为“伪希尔伯特曲线” 。
通过遍历这条曲线,我们可以得到平面上的所有点 。虽然希尔伯特曲线取无穷大的时候数学上还有很多争议,但是对于离散系统的计算机来说就很不错了 。
那么,希尔伯特曲线是如何实现降维的呢?
举个栗子:
这是一张64×64像素的图片,每个像素只是一个小方块 。
我们可以用伪希尔伯特曲线穿过这些像素块,然后把这些像素像冰糖葫芦一样从线的出口往外拉,这样二维的画面就变成一维了:
当然,既然不能无限,这也只是一个近似 。
但这种降维方法的好处是,在遍历希尔伯特曲线时,可以保证二维平面的局部相邻点被拉到一维时仍然相邻,使降维后的图案有自然过渡的效果 。