美丽阅读 2018-01-04
看过《三体》的朋友一定对书中描述的「四维空间」,以及其中的物体颇有印象:突然间,硬币大小的“魔戒”顶天立地地出现在前方。卓文用目光操纵太空艇紧急转向,使撞向环箍的太空艇从“魔戒”的圆环中穿过。从艇中看去,像是通过了太空中一道巨大的拱门。太空艇全力减速,然后返回,悬停在距“魔戒”的圆心不远处。
首先说明一点,即人若「进入」四维空间之中,并不会有太大的异样之感觉。因人与物(三维空间中的)的构成信息皆是三维的,若进入了四维空间,信息并不会因此增加。就如一个二维的图案从纸上揭下之后,并不会因此变成一个有体积的物体。故人在四维空间所见之物,可以以普通之图样显示出来,而无需特别的技巧。考虑一个四维空间之球面,依旧按照三维空间之定义推广:即距离某一点恒为R的点的集合。
又因:2 = Sin(u)^2+Cos(u)^2+Sin(v)^2+Cos(v)^2故可以将之写为如下的参数表达式:p = (Sin(u),Cos(u),Sin(v),Cos(v))此即其在四维空间之中的座标。而人所见之空间,则是四维座标旋转了某一角度之后向三维空间之投影,就如三维空间中物体投向二维平面之影子。只不过这里的「影子」是三维的。这里需要用一个四阶旋转矩阵M,计算M.p,取前三个座标,则得到了其在三维空间之投影。
(a^2+b^2+c^2+d^2 = 1)这样,使用如下的Mathematica代码可以绘出相应的三维图像:MakeTransM[{x_, y_, z_, k_}] := Module[{a = x, b = y, c = z, d = k, l = Sqrt[x^2 + y^2 + z^2 + k^2]}, {a, b, c, d} = {x, y, z, k}/l; ({ {a, -b, -c, -d}, {b, a, -d, c}, {c, d, a, -b}, {d, -c, b, a} })]ParametricPlot3D[(MakeTransM[{1, 3, 1, 6}][[1 ;; 3]]).{Sin, Cos, Sin[v], Cos[v]}, {u, 0, 2 \[Pi]}, {v, 0, 2 \[Pi]}]复制代码
这是从不同角度(四维)观察一个四维球体得到的图形。可以看出,图二所示的图形比较符合书中所谓之「魔戒」。那么后面的工作便都以此为基础。注:大家可以注意到,两个图形中的面都是交错的,一半是正面,一半是反面。可能有人说这便是所谓「同时看到里边与外边」之来历。但这种说法是不严谨的。因为这里的「里边」与「外边」都是相对于四维空间来说的。而四维球的连通性与三维球并不相同,不可一并论之。将之导入三维建模软件,经过一大……段操作之后,可以得到如下的成品:
其中的那个白色发光物体便是他们乘坐的飞船,不过由于飞船还没有完全画好(=_=||),所以只能以这么小的样子出现。静态之图形并不能表现四维物体之奇特。需动起来方能体验,若此四维球体绕着某一轴(x,y,z,u)旋转,则人所看到的则是其整体形状的变化(偶尔会出现图一与图二之形态)。有欲以电影、动画之形式表现四维物体者需注意这一点,否则与三维物体无异,不免令人失望。