首页 > 娱乐前沿 > 热点
我造出了4D俄罗斯方块,其实也不难
佚名 2015-11-23 17:05:31

幸好这个问题不难。

先从二维看吧。

平面上一个坐标(基准位置)为 x、y,边长为 a 的正方形,我这么表示它的四个顶点坐标:

([x, x+a], [y, y+a])

在一个轴上不变,另一个轴上平移 ±a,可以得到一个和它相接的正方形,这两个正方形之间有一条边是重合的。

构造所谓「基础型」(Tetrimino)时,有两个原则:

沿 x 或 y 轴任意一轴,以 a 为单位进行任意距离平移,即 x2 = x1 + na; y2 = y1 + na,得到的图形和原图形等价。

绕虚设的 z 轴进行 90 度旋转,即 x2=y1;y2 = -x1,得到的图形和原图形等价。

为了简化描述,这里再转换一下坐标系:设正方形边长是 1,第一个正方形的坐标是 (0,0)。

显然,两个正方形的情况下,不管怎么连接都等价于这个:

(0, 0), (1, 0)

三个正方形的情况下,可以连接成两种形状:

(0, 0), (1, 0), (0, 1)

(0, 0), (1, 0), (2, 0)

增加到第四个正方形的时候,需要在之前的形状上选择一个邻接面。也就是「选择一个正方形」,「再选一个轴」,「再选一个方向」。

得到的排列组合中,去掉不合法的(有时第四个正方形会和之前的正方形重叠),再去掉等价重复的,最后就是你知道的 7 种形状:

(0, 0), (1, 0), (0, 1), (-1, 0) — T

(0, 0), (1, 0), (0, 1), (1, 1) — O

(0, 0), (1, 0), (0, 1), (1, -1) — S

(0, 0), (1, 0), (0, 1), (2, 0) — J

(0, 0), (1, 0), (0, 1), (0, 2) — L

(0, 0), (1, 0), (0, 1), (-1, 1) — Z

(0, 0), (1, 0), (2, 0), (3, 0) — I

注意,除了直棍 I 以外的所有形状,都可以看成是 L 型的衍伸,也就是说只重点考虑 L 型即可。

三维的情况类似。

首先,多了一个实际存在的 z 轴。空间中正方体的八个顶点的坐标为:

([x, x+a], [y, y+a], [z, z+a])

保持其中两个轴不变,另一个轴上平移±a 可以得到一个和原正方体相接的正方体。它们之间有一个面重合。

构造三维版的基础型(Tetracube)时中,被视为等价的变换除了平移外,绕其中任意一轴以 90 度为单位旋转也包括在内。

于是,三个正方体的情况下,可以连接成两种形状:

(0, 0, 0), (1, 0, 0), (0, 1, 0)

(0, 0, 0), (1, 0, 0), (2, 0, 0)

再加一个正方体,利用上面的原则,可以得到这些不重复的形状:

(0, 0, 0), (1, 0, 0), (0, 1, 0), (-1, 0, 0) — T

(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1) — (没名字,我这里暂称 W)

(0, 0, 0), (1, 0, 0), (0, 1, 0), (1, 1, 0) — O

(0, 0, 0), (1, 0, 0), (0, 1, 0), (1, -1, 0) — S

(0, 0, 0), (1, 0, 0), (0, 1, 0), (1, 0, 1) — (暂称 V)

(0, 0, 0), (1, 0, 0), (0, 1, 0), (1, 0, -1) — (暂称逆 V)

(0, 0, 0), (1, 0, 0), (0, 1, 0), (2, 0, 0) — L

(0, 0, 0), (1, 0, 0), (2, 0, 0), (3, 0, 0) — I

注意,三维空间下,不再区分 S 与 Z、J 与 L。二维平面中的对称形状只能通过翻转得到,光靠旋转是不能实现的;而三维空间中由于 x 和 y 轴也都变成了可旋转的了,等于获得了翻转二维形状的能力。新引入的「V」和「逆 V」具有手性,无法通过三维旋转互换。

到了四维,又多了一个轴,因此「超正方体」拥有 16 个顶点,坐标变成了这样:

([x, x+a], [y, y+a], [z, z+a], [m, m+a])

构造相接超正方体的原则相同,保持三个轴不变,只在一个轴上平移 a。得到的超正方体和之前的超正方体之间有一个「正方体」是重合的。

不同点是关于旋转,这里认为在四维空间下,某个点能够绕着一个平面旋转,例如点(x, y, z, m)绕着平面 xy 正向旋转 90 度,则坐标会变为(x, y, m, -z)。

和之前一样,我们允许任意平移、旋转。在只有三个超正方体的时候,它们的连接依然只有两种形状。

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0)

(0, 0, 0, 0), (1, 0, 0, 0), (2, 0, 0, 0)

在这两种形状的基础上再增加一个超正方体,得到的独特组合如下:

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (-1, 0, 0, 0) — T

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0) — W

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (1, 1, 0, 0) — O

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (1, -1, 0, 0) — S

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (1, 0, 1, 0) — V

(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (2, 0, 0, 0) — L

(0, 0, 0, 0), (1, 0, 0, 0), (2, 0, 0, 0), (3, 0, 0, 0) — I

注意,由于多引入了一个轴,原三维空间下的「V」和「逆 V」也变成等价互换的了。所以,四维空间下,由四个超正方体构成的基础型共有 7 种形状。

光是这么说可能难以理解,来张图感受一下吧:

图片作者 Livio Zucca,来源网页http://www.iread.it/lz/polyhypercubes.html,强烈推荐阅读原网页——人家不光研究了由四个超立方体构成的Tetrahypercube,还研究了由五个超立方体构成的 Pentahypercube。

以上。谢谢阅读。

客官,这篇文章有意思吗?

好玩!预告 App 接着看 (????) ?

再逛逛吧 ˊ_>ˋ

上一篇  下一篇

I 相关 / Other

zt @杨毅,其实好的文字比图片更深入人心!

多幺血腥,凶残的问题。上周五在腾讯,解说那场勇士逆转快船,史诗般波澜壮阔的比赛之前,我在演播室里是这

11月结婚穿什么内衣 夏娃之秀花嫁内衣推荐


结婚是找到一个帮你脱内衣又愿意帮你穿上内衣的男人,让他把你当珍宝一样对待,呵护体贴你一辈子。

说是「不含乳糖的牛奶」,为什么还这么甜?

不含乳糖的牛奶是在制作中加入了乳糖酶,用以弥补部分人的乳糖不耐症。而加了这种酶后乳糖就分解成半乳糖和

越来越红的中端珠宝,都是女人买给自己的礼物?

中等价位的珠宝品牌越来越受欢迎了。这种被称为“买得起的珠宝”既不属于那种高街款便宜货,也不是奢侈品一

担心是因为童年缺爱才变成现在这副模样,测测就知道

在你 18 岁之前,下面这几项描述你符合几个,符合算一分,不符合算零分1. 你的父母或其他在你家里居住过(不

I 热点 / Hot