四维世界(四):二维生物视觉

很多文学影视作品里都提及过虚拟的二维平面世界以及其中的生物,因为大家很关注维度变化带来的各种效应,比如物理定律、生物和机械结构设计等。今天我们来看看大家比较忽视的一点,就是二维生物的视觉。我们不停留在描述的层面,而是通过电脑的帮助来真切体验平面生物的第一人称视角。当然我们关心二维人的体验是为了给理解四维生物的视觉做铺垫

二维生物的眼睛

首先我们假设一个二维的世界。这是一个圆形星球,星球上住着二维人。它们的眼睛和我们的一样是通过感受光线来看到物体的。我们假设二维世界也有电磁波(这是可以存在的!只是电场是矢量,而磁场是个标量),我们只会考虑几何光学。光线从哪里发出?当然是通过这个世界中的恒星太阳与其他人造光源发出,注意所有的光线都只能在平面世界内传播。所以我们最常见的笑脸表情可不是一种二维生物——因为笑脸表情的眼睛长在脑子里,接受不到任何光线!嘴巴也在头里面,吃不到东西!所以二维生物的眼睛应该是长在头的表面的。它们眼睛的感光层是一条一维的曲线段,所以它们看到的画面是一维的。
左边的笑脸等“二次元”生物不是二维生物,只是三维生物的投影,右边的才是真二维生物

挑战降维打击

站在地上的二维人与立方体
比如上面是一个简单的场景——地上放着一个正方形,在二维人眼中看来是下图最左边那样的:
一维视觉(左)与场景柱体化的对比(右)
这个画面感觉就像是从侧面看整个柱体化了的场景的感觉。为什么会有这个感觉呢?因为生活在$xy$平面中的二维人根本不对z轴方向有半点感觉。它们的视野是绝对的一维直线。这里着重要澄清一点的就是:二维生物对z轴上的维度毫无感知,它们不会觉得自己的一维视野很“窄”,它们也永远不在意、也永远想不出他看到的一维画面外的存在,虽然我们觉得生活在没有厚度的平面上的他们很可怜,但他们就像没有电也没有网络的在贫困山区里的孩子一样,不知道外面的世界照样能过得很开心(但看到了外面的世界后观念就彻底改变了,参考节目《变形记》)。所以上面图中左边两种不同的色带宽度是没区别的,我画得有宽度仅仅是图方便,因为真要画成无穷细的理想直线就会细到我们三维生物无法看到。你可以想,如果有四维人想象我们看到的画面,它们也会惊奇于我们的视野居然是无限薄得都看不见的理想平面,但其实我们居然感觉良好!

下面我们试试挑战一些稍微复杂的二维场景。

猜出答案来了吗?我相信这应该不算很难。

下面揭晓答案:点这里

立体视觉

人为什么要有两只眼睛?因为两只眼睛的位置略有不同,视觉差通过大脑运算可以得到物体离我们的远近来产生立体感。其实二维生物也有两只眼睛,与我们的立体视觉类似,它们也能感知物体的远近。我们也来试试看它们左右眼的画面吧:如果你会做对对眼(斗鸡眼),你应该可以轻而易举地将下面左右两幅画面重合在一起。如果不会的话没关系。拿出你的手指放在屏幕中央,用你的目光死盯住指尖,然后你的手逐渐像你眼睛方向上靠拢。这个过程中左右视线一定要保持水平,用你的余光看会发现后面屏幕上的内容开始错位并有点模糊,当屏幕上两幅画面刚好重叠时你会惊奇地发现这副重叠的画面浮起来了!这个浮起来的位置大概和你现在指尖的位置相同。这时你就可以看到立体图像了。

三维人拥有透视内部的能力?

但是我现在要告诉你,你刚才看到的场景其实是这样的:

或是这样的:

都是可能的!因为二维生物看不到方块里面,鬼知道里面藏着什么东西!
其实这些图片都有点问题:光线只能把表面照亮,所以物体里面应该永远是黑色,但里面的材料是确定的,把物体砍开光线就能照进去,所以你可以认为我们的上色方法是按照材料进行上色,而不是实际能够看到的二维世界。注意二维世界中空气是透明的,我们却按“材料”将空气涂成了黑色。二维生物真正看到的黑色是无穷远的黑色背景,不是空气的颜色。其实在三维世界的我们根本看不见二维世界,因为这个世界中的光是到达不了第三个维度被我们观察到的。所以我们画的二维世界都只是示意图而已,既然是示意图,画法就可以千差万别,比如刚才的场景也可以画成这样:(棋盘格表示空气的透明色)

升维打击?

现在我们告诉二维生物,其实还有个三维的世界。但注意二维世界中的所有电磁波都只能在那个平面上传播,这也包括了所有分子间作用力,所以我们假设维度不同的世界是无法在物理上直接相互作用的,但可以通过手段相互发送信息。我们怎样让它们看到我们的三维世界呢?最简单的方法就是把照片发送给二维人。由于二维人视觉是一维的,它们的显示器也做成一维的。就算二维工程师开发出了二维显示屏,或直接用2D打印机将照片打出来,它们也看不见照片的“内部”。
二维人看三维世界传来的二维照片lena
二维人绕着照片转了一圈,发现这就是个每边有着很多颜色花纹的正方形:至于照片里的图形它根本没机会看到。
你能说出这四条边分别对应照片lena的哪些边缘吗?
这可怎么办呢?只看得到照片边缘也太憋屈了吧。二维人可以一点一点把照片撕碎来逐渐看到里面,就像我们剥洋葱一样,可这种方法太麻烦了。二维工程师很聪明,把照片的材料做成半透明的,不就可以看到里面了嘛。

透明照片法

下面我们假装是二维人,来试着从它们的视角看一看半透明的二维照片,先来一张简单的几何图形照片:一个画在白色画布上的蓝色菱形。

让我们试着从侧面去看这个透明化了的照片:

我画出了左右眼两幅图,请用之前教的方法观看。二维人也长着两只眼睛以用来确定物体远近,这是靠两只眼睛的视觉差通过大脑运算得到的,跟我们一样。用上立体视觉后要稍微好一点点。但其实二维生物只能看见这样的一条线:

有立体视觉也根本看不清,不是吗?现在这个菱形内部都充满了均匀的纯蓝色,不再有光照变化,再叠加上周围的白色背景显得更模糊,二维生物很难知道它的形状,但它们至少知道照片中央有一个蓝色区域,周围是白色。

而我们的lena照片变成了这样:
上:二维人视角下看到的照片 下:在三维以一定角度看透明化的照片

截线扫描法

这个方法虽然理论上可行,但实际照片信息量太复杂了,二维生物无法很好分辨这些堆叠的像素。还有一个方法:既然把二维直接压缩到一维的信息量过大导致视野不清,干脆我们就只看一些截线上的画面就是了,通过截线扫描整个画面来间接读取所有画面上的内容,有点像做CT扫描的过程。这种方法虽然能看清每一个像素,但这些像素的位置关系远没有第一种方式直接明了。有没有兼顾两者优点的方法呢?恐怕很难找到。

下面我们来试着以二维人的视角在它们的电脑上操作以第一人称的视角看一些3D场景。我们先回到普通的二维屏幕前,看看这个三维场景,然后再到二维人的一维屏幕前再看一遍。最好在Chrome上观看,如果你用的是手机,那就跳过去直接看后面的图吧。。
按键提示:

  • 3D控制:键盘WASD为角色上下左右移动,左右移动鼠标或按键盘JL可以看向不同的水平方位;转动鼠标滚轮或按键盘IK可以看向不同的垂直方位(俯视仰视)。这里不用上下左右一起移动鼠标来控制朝向也是为了更接近二维人的体验:它们只能把鼠标放在一维的地面上移动。(用滚轮也是为了适应我们以后在4维空间里操作哦)
  • 视图控制:左右方向键 / 键盘ZW可旋转二维视图

我们过视野中心横竖切两刀,把这些截到的像素单独画出来给二维人展示,注意这些截线色带也做成了左右眼两份,我们普通的照片只能展示上下左右,前后方向信息已经丢失,但为了更好让二维生物认识三维世界,我们使用拍摄3D电影的那种摄像机位置稍微不同的双摄像头,分别在两幅画面上选对应截线,从而能让二维人有前后的立体视觉。
想必3D控制操作我们是非常熟悉的了,但要注意的是,真正的二维人只能看到最上面三排色带的画面,只有不断旋转二维图像它们才大概知道二维视图中的内容。。我估计二维生物主要还是会依赖于前两排截线。

二维人看到这些色带到底有什么样的直觉?

我们能直接看到二维,拥有三维空间想象的直觉;二维生物则是能直接看到一维,拥有二维空间想象的直觉。由于通过左右眼立体视觉还能多感受一个维度,这里有必要说一下现在画面各部分都有哪些维度。首先二维人只知道上下前后,没有左右的概念(所以严格说他们的双眼该叫上眼与下眼才对)我把他们感知的方向标在了下图中:
平时二维生物站在地上看到的视觉场景方向标注
其实这张图是下面照片中沿亮紫色竖线截下来的。二维人通过立体视觉能知道天空与绿色的地面,但让它们感到不解的是有个漂浮在半空中的灰色圆,下面除了灰色圆的影子还多了它在视野里找不到的一个物体的影子。这在二维世界里是不可能的,当然我们知道这只是三维世界的一个截面就不奇怪了:圆可以悬浮是因为它是灰色圆拱的一部分,它从另一个二维人看不见的维度上被支撑;多出来的影子是与竖直截线完全不相交的立方体,但它的影子却投到了截线上。
我们的视觉场景方向标注
二维生物看过那条水平黑线的截线色带会觉得他们像是漂浮在“太空”一样,因为这个色带上没有竖直方向,至于我为什么说像“太空”,到时去四维你也能体验到。
二维生物全新体验到的方向标注
最后我们来标注一下半透明照片上的方向:注意这里的方向并不绝对,它们可以旋转照片使上下左右的位置互换。
半透明照片上的方向标注
半透明照片观察法虽然最直接自然简单粗暴,但它太模糊了,我是没找到任何直觉的。
还有一些有意思的现象值得我们注意:

  • 虽然我们给二维生物展示的是照片(将3D场景投影到2D)的截线,但二维人觉得更像是在看3D场景的2D截面的一维照片(2D截面场景投影到1D);
  • 当左右环视时,二维人就感觉它在环视第一排色带(水平截面)展示的三维场景的二维截面,而第二排色带(垂直截面)展示的二维截面则不断变化;
  • 当上下俯仰时,二维人就感觉它在俯仰第二排色带(垂直截面)展示的三维场景的二维截面,而第一排色带(水平截面)展示的二维截面则不断变化;

我们也要被升维打击?

好了,降维打击体验之旅就先告一段落了。但,突然有一天,一个自称是四维人的生物要向人类展示从四维世界传来的三维照片!我们将与二维生物的经历极为相似!(未完待续。。把海弄干的鱼不在)