高阶有向魔方能复原吗?

高阶有向魔方能复原吗?

更新了一下。

一种方法是先拼合中心面,在拼合的过程中,顶面、底面和两个相邻的侧面可以一开始就让各个中心面的块方向相同,一列一列拼合即可。这个不难,自己试一下就出来了。稍微要注意一点的就是,假设正在拼顶面的中心面,拼好中心面三列中的左边和中间两列,将第三列也拼上来的时候,对于没有方向的魔方,应该把第三列转到第一列的位置,顶上来,顶面旋转 180°,再把原来的第一列做回来。但是对于中心面有方向的魔方,这样弄完后,第二列会和第一、三列方向相反。解决方法是再把第二列单独挪到一个没拼好的面,转180°再回来即可。或者一开始把第一列反着拼。

这样剩下两个中心面,先把颜色还原后,可以用分割线下面的方法依次还原这两个中心面的各个块的方向。

之后照常合棱,84 法照常做即可,最后两棱的公式我不确定是不是都能用,如果不能就自行用翻棱公式(右手边前面的棱) (RUR')(FR'F'R)结合把某个中间层让开再转回来的方法再还原,这都是84法比较基础的做法。如果不熟悉84法,普通方法也没有问题。

另一种方法就是直接先还原颜色,然后再用下面的方法挨个旋转中心面,不过工作量太大,通常带中心面方向的魔方也不推荐这么还原。

想到还有一些情况。对于奇数阶魔方,在还原最后一个中心面各个块的朝向的时候,可能会出现中心十字(除了最中心的面)每一层都有一半的块对不上方向的情况。这时候如果继续做下去合棱,合棱到最后就会发现有棱的中间块和两边方向是相反方向的情况。因此只要发现最后一个面拼中心面出现这种问题,就做四阶魔方单条棱翻转的那个公式 TR2 B2 U2 TL U2 TR' U2 TR U2 F2 TR F2 TL' B2 TR2(这里加字母 T 代表多层,具体几层根据魔方阶数判断,不难),把顶面中心面的中间一列翻转 180°,就可以了。

还有一种情况,就是遇到四阶魔方里面仅仅交换顶层相对的两个棱的公式,虽然做 MR2 U2 MR2 TU2 MR2 MU2(T 和上面含义相同,M 指的是 T 除去最表层的部分,例如 MR2=TR2+R'2)可以把顶层对面两个棱交换,但是会破坏前后的中心面,还要至少做四次中心面的三轮换,拧 72 下,非常麻烦。一个比较好的替代是用 84 法里面交换对位两个棱中心的那个公式,把顶面放到前面,让要交换的两个棱一左一右,然后做 TR2 F2 U2 TR2 U2 F2 TR2 U2即可。

说一个可能比较麻烦的方法。假设已经不考虑中心面朝向还原了魔方。

对于奇数阶魔方,和三阶一样,所有最中心面相对于正确取向,总旋转角度必须是 180° 的倍数。用三阶有向(带图案)魔方的还原方法即可转到正确朝向;或者一开始拼 Cross 的时候就对好底面及四个侧面中心面的方向,然后 F2L OLL PLL 这三步只用不会改变顶面以外中心面取向的公式完成,如果部分 OLL PLL 公式可能破坏底面或侧面的方向,就 OLL 先做棱后做角,PLL 先做角后做棱,分两步做也行。这样完成后,要么已经还原,要么只有顶面中心面差了 180°,用这个公式即可还原:

(LRU2 L'R'U)2

如果一开始 Cross 没有对齐顶面以外各个面的方向,那还需要这几个公式:

顶面中心面顺时针转 90°,右侧中心面逆时针转 90 °:

(U'D F'B R'L) U (RL' FB' UD') R'

顶面中心面逆时针转 90°,右侧中心面顺时针转 90 °:

(U'D F'B R'L) U' (RL' FB' UD') R

顶面中心面和右侧中心面同时旋转 180° 同理,把中间那个 U/U' 改成 U2,最后的 R'/R 改成 R2 即可。

顶面中心面顺时针转 90°,底面中心面逆时针转 90 °:

(RL' F2B2 RL') U (RL' F2B2 RL') D'

顶面中心面逆时针转 90°,底面中心面顺时针转 90 °:

(RL' F2B2 RL') U' (RL' F2B2 RL') D

顶面中心面和底面中心面同时旋转 180° 同理,把中间那个 U/U' 改成 U2,最后的 D'/D 改成 D2 即可。

然后说偶数阶魔方的所有中心面,以及奇数阶魔方除了最中心的中心面以外的面。我们以五阶魔方为例,先复习一个不带图案的魔方,拼合中心面时候的公式:

一般情况是 n 阶魔方,把前面右下角的一个块和顶面对应的块位置交换。首先旋转底面和顶面,让这两个块放到对应的位置,并且确定是在右下角(如果是左下角,后面会说)除了最中心面下面半列的位置。这里右下角除了最中心面下面半列的位置指的是前面从右往左数的第 i 列,从下往上数的第 j 行,而且 2i <= n,2j <= n+1(知乎公式编辑器好像手机端总出现渲染不出的问题,就不用 TeX 写了。)

还原公式为

右数第 i 列往 x 方向(就是往前)推 90° -> U ->

左数第 j 列往 x 方向(就是往前)推 90° -> U' ->

右数第 i 列往 x' 方向(就是往后)推 90° -> U ->

左数第 j 列往 x' 方向(就是往后)推 90° -> U'

做完这 8 下就可以交换这两个块的位置了。

如果是要放在左下角的情况,那就是上述公式做左右镜像,也就是从右数和从左数交换,U 和 U' 交换。也就是前面从左往右数的第 i 列,从下往上数的第 j 行与顶面对应的块交换,做

左数第 i 列往 x 方向(就是往前)推 90° -> U' ->

右数第 j 列往 x 方向(就是往前)推 90° -> U ->

左数第 i 列往 x' 方向(就是往后)推 90° -> U' ->

右数第 j 列往 x' 方向(就是往后)推 90° -> U

这两个个公式也可以用来还原【前面】中心面的朝向。需要注意的是,除了奇数阶魔方最中心的面,剩下的中心面都是不能单独只将一个旋转 90° 的,都得是三个做三轮换并且两个同时顺时针或逆时针转 90° 并伴随着第三个转 180°,这种情况的组合。(有一种特殊一些的情况,涉及到两个面同时要还原,每个面都有两个块要交换,并且这两个块一个要顺时针转 90°,另一个要逆时针转 90°,这种情况后面会单独说 )

对于奇数阶魔方,最中心的十字所在块:

这个逆时针三轮换,我们做(记住逆时针用上文右下角的公式,顺时针用上文左下角的公式。)上文右下角的公式,假想最右边那个块(这里是 i=2,j=3)是要和顶面交换的,做一下上文的公式,然后会得到顶面和前面有一个中心块交换了位置的情况。然后做一下 F',让前面颜色错误的中心面和顶面颜色错误的中心面放在对应位置,再做一次上文右下角的公式,然后再做一次反操作 F,就完成了这个三轮换。

对于顺时针三轮换同理,我们看最左边的块是 (2,3),然后做对应的上文左下角的公式然后 F,然后再做一次对应的上文左下角的公式,然后 F' 即可。

对于除了奇数阶魔方最中心的十字所在块以外的三轮换,也是完全一样的道理。

逆时针的三轮换,把一个块放在右下角,另两个块放在左边,然后根据右下角块的坐标做上述右下角的公式,然后 F',然后再做上述右下角的公式,再做 F,就还原了。

顺时针的三轮换同理,把一个块放在左下角,另两个块放在右边,然后根据左下角块的坐标做上述左下角的公式,然后 F,然后再做上述左下角的公式,再做 F',就还原了。

用上述方法,逐个面去旋转中心面的方向。可能会遇到一种情况,单独一个面无法用三轮换还原,必须与另一个需要还原的面同时处理,比如有两个块应该相互交换位置和方向。这种情况上文提到过,其实只要从另一个需要还原的面,转一下中间层借过来一个块替换掉第三个块的位置,做上面三轮换的公式,再把借来的中间层推回去,就得到一种两个面有一个位置交换了的情况。用最初提到的交换两个面对应块位置的公式做一下,就变成两个面都可以用三轮换解决的情况了。需要注意的是,上面替换两个面对应位置中心块的公式只会顺便改变前面某些中心块的方向,不会改变顶面,记住这一点然后就知道这里应该怎么交换了。

需要注意除了中心十字的块以外,所有中心块的三轮换,不管是顺时针还是逆时针都可以一次性完成,只不过放的位置不一样。原则是顺时针三轮换就要让三个块分别在左下角、右下角、右上角的 1/4 区域内,同时做左半边往上顶,接下来逆时针转顶面的那个公式;逆时针三轮换则是让三个块分别在右下角、左下角、左上角的 1/4 区域内,同时做右半边往上顶,接下来顺时针转顶面的那个公式。

这个方法比较麻烦,不清楚有哪些更好的方法,欢迎指教。