1. 第一步:还原底层角块


    python二阶魔方_python二阶魔方


  2. 2
    这一步我们要将底层的4个角块都复原,非常简单,只需要记一个算法就好了,假设以白色为底,白色块只会有5个位置,这些位置要么是对称的,要么很容易变成前面的位置。

    python二阶魔方_python二阶魔方_02


  3. 3
    我们举例说明一下,如上图中第一种情况的调整,只需要三步就可以完成了。

    python二阶魔方_html_03


  4. 4
    对于第二种情况,它和第一种情况是完全对称的,算法也是对称的。

    python二阶魔方_处理方法_04


  5. 5
    针对前两种情况,可以看出:白色在右面第一下就转右面,白色在正面第一下就转正面。
    如果白色在顶面,如下图,只要用一次公式RU就会变成情况1,或用一次F'U'变成情况2,然后按情况1或2处理就好了。


    python二阶魔方_解决方法_05


  6. 6
    但是如果底层其他几个角已经还原好了,如下图,刚才的处理方法就会破坏已经还原好的某个角,所以要提前恢复角这个角的位置,具体方法如下。

    python二阶魔方_html_06


  7. 7

    python二阶魔方_处理方法_07



  8. 另外2种情况白色是在底层的,只要对着他们用一次算法1或算法2就可以得到情况1或2了。

    python二阶魔方_python二阶魔方_08



  9. 其中,白色向右就用算法1,先转右面,(R U R')U'(R U R');白色向前就用算法2,先转正面,(F'U'F)U(F'U'F)。
    照上面说的,重复做4个角块,就可以做好底层了。


  10. 第二步:还原顶面颜色
    这一步我们要还原4个角块顶面的颜色,而先不用管顶层侧面的颜色,把它们留到最后一步还原。

    python二阶魔方_html_09



  11. 我们先观察一下顶层4个角块黄色面的位置,如果只有一个黄色块在顶面,会有两种情况,可以按下面的方法解决。

    python二阶魔方_处理方法_10



  12. 对于第一种情况,具体方法如下:

    python二阶魔方_处理方法_11



  13. 对于第二种情况,它是和情况1完全对称的,算法也是对称的,非常好记。

    python二阶魔方_html_12



  14. 另外还有5种情况,不用记新的算法,按照下面的位置摆好,用上面的算法就可以解决;其中3种情况是顶面有2个黄色块,2种情况是顶面没有黄色块,下面是具体解决方法。

    python二阶魔方_python二阶魔方_13



  15. 观察一下,可以发现除了情况6是先用公式2-2,其他几种情况都是先用公式2-1的,我们只要记住情况6的形态就好了,其它情况都先用一次公式2-1,再转转魔方的顶层就很容易得到情况1或情况2了。

  16. 第三步:还原顶层角块,完成还原
    这一步要将顶层4个侧面的颜色一次性复原,完成魔方的还原,只需要记一个新的算法。

    python二阶魔方_python二阶魔方_14



  17. 先观察有没有2个相邻角块侧面颜色一样的情况,例如下面的情况1或情况2。

    python二阶魔方_html_15


  18. 18
    如果有类似于上图的情况,就把同色的角块旋转到正对着自己的位置,再用这个算法就可以完成还原了,R B' R F2 R' B R F2 R2。
    如果找不到这样同色的角块,那就对着魔方随便用一次上面的算法,用过之后就一定能找到了,然后再用一次这个算法就可以完成还原了。