hubo5563 发表于 2012-12-13 11:47:01

不用公式复原三阶魔方详细教程(java动画演示)

本帖最后由 hubo5563 于 2012-12-14 16:19 编辑

这里用到java动画,因此没有安装java环境的不能看到图。


    这个方法的特点是不用记任何公式。
    说白了是不用记步数超过4步的公式。本方法用到形如ABA'B'四步的一个公式及其逆公式,这里叫做操作。

    分十个步骤讲解
    一、认识魔方   (2楼)
    二、做底十字   (3楼)
    三、复原底层三个角块(4楼)
    四、复原中层三个棱块 (5楼)
    五、剩余五个棱块的方向 (6楼)
    六、调剩余棱块的方向    (7楼)
    七、调剩余棱块位置       (8楼)
    八、两个只用“上上下下”的基本操作“+1”和“-1”     (9楼)
    九、调顶层三个角块位置和方向    (10楼)
    十、调最后两个角块方向           (第二页 11楼)
    十一、几个完整实例的java动画      (12楼)
    十二、不用公式解五魔方的例子  (16楼)

    初次接触魔方的朋友可以从二楼第一部分看,熟悉魔方的朋友可跳过第一至第四部分,直接从6楼的第五部分开始看。

     

hubo5563 发表于 2012-12-13 11:48:13

本帖最后由 hubo5563 于 2012-12-14 17:14 编辑

    一、认识魔方

     魔方是由26个块和中心架构成,其中26个块分三类:
     第一类,只有一种颜色,位于六个面的中心,有6块,不管怎么拧魔方,中心块是不会跑到其他位置的,如果是图案魔方,它可以有四
个方向的转动。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
u;u';
f3a0e2
99d658
cccc1cccc
cccc2cccc
cccc3cccc
cccc4cccc
cccc5cccc
cccc6cccc


     第二类,有两种颜色,位于魔方的12个棱上,因此有12块。不管怎么拧,这类块只能在棱上活动,它不会跑到角上,也不会跑到中心。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
u;u';
f3a0e2
99d658
c1c1c1c1c
c2c2c2c2c
c3c3c3c3c
c4c4c4c4c
c5c5c5c5c
c6c6c6c6c


     第三类,有三种颜色,位于魔方的8个角上,因此有8块。不管怎么拧,这类块只能在角上活动,它不会跑到棱上,也不会跑到中心。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
u;u';
f3a0e2
99d658
1c1ccc1c1
2c2ccc2c2
3c3ccc3c3
4c4ccc4c4
5c5ccc5c5
6c6ccc6c6


     一个复原的魔方看起来是有6个面,每面有相同的颜色,因此,初接触魔方的人认为复原魔方的过程是逐面复原的,这是错误的认识。
实际上魔方的构成是以块为单位的,不是以表面小面为单位的,小面贴在块上,是块的属性,魔方的26个块是没有属性相同的,不同块的贴
纸是不同的。

    在一个复原后的魔方上,第一种块不用说,它的位置是固定的,第二种块,复原后的魔方它的位置和方向也是固定的,例如,具有红白
色的棱块只有一块,复原后的魔方它必须位于红白面之间所夹的棱上,并且红面在红色中心所在的面上,白色在白色中心所在的面上。 第三
种块,复原后的魔方它的位置和方向也是固定的,例如,具有红白蓝色的角块只有一块,复原后的魔方它必须位于红白蓝三面之间所交的角
上,并且红面在红色中心所在的面上,白色在白色中心所在的面上,蓝色在蓝色中心所在的面上。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
u;u';
99d658
f3a0e2


    复原魔方的过程是把每个块拧到它应在的位置上,并且使得它的方向正确。

hubo5563 发表于 2012-12-13 11:49:22

本帖最后由 hubo5563 于 2012-12-14 17:16 编辑

二、做底十字

    我习惯白色为底。做成是:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
u;u';
f3a0e2
99d658
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4cccc
ccc55cccc
c6cc6cccc
有图案的也要照顾中心块的方向:
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';U';
u;u';
f3a0e2
99d658
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4cccc
ccc55cccc
c6cc6cccc
Y



       做底十字是把底层的四个棱块摆放正确。要逐块复位。例如要复位红白块,首先要找到红白色棱块,有四种可能:

    1:红白棱块在侧面,此时转动底面,使目的地在白面的一侧,然后转目的地所在的一侧即可到位。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
D2;L;D2;
f3a0e2
99d658
cccc1cccc
ccc222c2c
ccc33cc2c
cccc4cccc
ccc55cccc
c6c16cccc


    2:红白棱块在顶面,白面在上,此时转动顶层,使其转到目的地相对位置,再转该块所在侧面180度即可。


1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
U';R2;
f3a0e2
99d658
cccc1cccc
ccc222c2c
ccc331ccc
ccc24cccc
ccc55cccc
c6cc6cccc


    3:红白棱块在顶面,白面在侧面,此时转动顶层使该块与要到目的地错开,转动侧面,转化为第1种状态按第1种情况处理。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
L;D';F';D;
f3a0e2
99d658
cccc1cccc
ccc222c2c
ccc33cccc
cccc4cc1c
ccc55cccc
c6cc6cc2c
有时简洁情况:
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
F;R';F';
f3a0e2
99d658
cccc1cccc
ccc222c2c
ccc332ccc
ccc14cccc
ccc55cccc
c6cc6cccc


     
    4:红百棱块在底面,不在目的地,或虽然在目的地,方向不对,此时转动它所在侧面90度把它转到侧棱上,按第1种情况处理。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
F;D';F';D;
f3a0e2
99d658
cccc1cccc
ccc222c2c
ccc13cccc
cccc4cccc
ccc55cccc
c6cc6cccc
或:
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
R;D';F;D;
f3a0e2
99d658
c2cc1cccc
c1c222c2c
ccc33cccc
cccc4cccc
ccc55cccc
c6cc6cccc


    按照这个方法可以把底十字做出。如果是图案魔方,在做底十字时要把中心方向摆正,包括底面中心,和侧面中心。这需要灵活处理,

例如:
   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';R2;F;L;F';R';B2;D2;R2;L;F;D;B;L;R';F;
{复原白兰棱块包括方向}F';R';F2;R;D;F;&{复原白橙色棱块包括方向}D';B';D2;L;D';&{复原白红棱块包括方向}B';R;B;R;&{复原白绿棱块包括方向}B;L2;B;L2;
f3a0e2
99d658
Y
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4cccc
ccc55cccc
c6cc6cccc

hubo5563 发表于 2012-12-13 11:50:36

本帖最后由 hubo5563 于 2012-12-14 16:04 编辑

    三、复原底层三个角块

    复原底层三个角块也是逐块复原,例如要复原红白蓝色角块,首先要找到具有红白蓝三色的角块,这样的角块只有一块。根据它所在位
置不同分三种情况:
    1:红白蓝角块在顶层,并且白色在侧面,此时把它转到目的地相对位置上,然后转白面所在的侧面,把目的地那块转上来,再转顶层把
转跑的块转回来,再反向转一次侧面,即可把它复原。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
U2;R;U;R';
f3a0e2
99d658
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4ccc1
ccc55ccc3
c6cc6ccc2
     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
U2;F';U';F;
f3a0e2
99d658
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4ccc3
ccc55ccc2
c6cc6ccc1


    2:红白蓝角块在顶层,并且白色在顶面,此时把它转到目的地相对位置上,然后转侧面,把目的地那块转上来,再转顶层把转跑的块转
到另侧,再反向转一次侧面,就可以把白面转到侧面,此时按第一种情况处理。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{将它转一下}U2;R;U2;R';&{按第一种情况处理}U';R;U;R';
f3a0e2
99d658
c1cc1cccc
c2c222c2c
ccc33cccc
cccc4ccc2
ccc55ccc1
c6cc6ccc3
   
   
    3:红白蓝角块不在顶层,那他一定在底层,如果它没有在目的地,或虽然在目的地但方向不对,此时,转侧面90度,把它转到顶层,再
转顶层把它转开,然后反向转侧面,此时就可转化成1或2的情况,此时再按1或2的情况来处理。这样可以把底层三个角块复原。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{转到顶层}L';U';L;&{按第一种情况处理}R;U;R';
f3a0e2
99d658
c1cc1cccc
c2c22222c
ccc33c1cc
cccc4cccc
ccc55cccc
36cc6cccc
      
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{转到顶层}F';U';F;&{按第一种情况处理}U;F';U';F;
f3a0e2
99d658
31cc1cccc
12c222c2c
2cc33cccc
cccc4cccc
ccc55cccc
c6cc6cccc

hubo5563 发表于 2012-12-13 11:52:24

本帖最后由 hubo5563 于 2012-12-14 16:03 编辑

    四、复原中层三个棱块

    复原中层三个棱块也是逐块复原,复原中层棱块要利用底层的没有复原的角块位置,首先要从顶层棱块中找有没有属于中层的块,例如
找到一个红绿棱块,然后转动中层,使得红面和绿面位于右前方,转动底层,使得没有复原的底层角块到右前下方,转动顶层,使得红绿棱
块侧面与侧面中心颜色不同,然后转动另一侧面,将目的地转到顶层,转动顶层,使得块到位,然后反向转动侧面,把棱块转到位。



1,1,1;
1,1,1;
1,1,1;
N
10
r';u';U';
2D';D2;U;R;U';R';
f3a0e2
99d658
111c1cccc
22222222c
3cc3353cc
ccc14cccc
5cc55cccc
66cc6cccc
     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';U2;
D2;2D';U2;F';U;F;
f3a0e2
99d658
111c1cc1c
22222222c
3cc33c3cc
c5cc4cccc
5cc55cccc
66cc6cccc


    如果在顶层找不到属于中层的棱块,它一定在中层,转动中层,把它和没有复原的底层角块对准,然后转动侧面,再转动顶层,反向转
侧面即可把它拧到顶层,再按顶层处理。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{转到顶层}D2;R;U;R';&{按在顶层的情况处理}2D';R;U';R';
f3a0e2
99d658
11151cccc
22222222c
31c33c3cc
cccc4cccc
5cc55cccc
66cc6cccc
   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{转到顶层}2D';D2;R;U;R';&{按在顶层的情况处理}U';F';U;F;
f3a0e2
99d658
111c15ccc
22222222c
3cc33c3cc
cccc4cccc
51c55cccc
66cc6cccc


hubo5563 发表于 2012-12-13 11:53:46

本帖最后由 hubo5563 于 2012-12-17 16:00 编辑

五、剩余五个棱块的方向

    到此时,已经复原了底层的7块和中层的3块,剩下顶层和右前棱块没有复原,中层有可能错位:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';
{前面色超上为正向}u;u';
f3a0e2
99d658
c11c11ccc
c22222222
ccc33c33c
cccc4cccc
55c55c55c
666666ccc
或者是中层错位情况:
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';2D;
{前面色超上为正向}u;u';
f3a0e2
99d658
c11111ccc
c22222222
c3c33c3cc
cccc4cccc
55c55c55c
666c66ccc


    此时,为了不破坏已经复原的块,顶层可以任意转,前面和右面只能先下后上:

1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{顶层可以任意转}U;U2;U';(U;)4;&{右面只能上下90度转}R';R;&{前面只能上下90度转}F;F';&{并且当转下时下步只能转另一侧面再转上}F;R';F';R;&{转上时顶层可任意转再转下}F';U2;F;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc4cccc
55c55cccc
66c66cccc


         剩下五个棱块的方向:
     我们规定
     顶层黄色面朝上为正向,黄色面在侧面为反向,在侧面时黄色面朝前为正向、黄色面再右为反向:

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{红黄棱块正向,蓝黄棱块为反向,黄绿棱块为正向}u;u;u;u;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc44c3c
55c551c4c
66c665c4c


       侧棱块如果在顶层,

    前面色朝上为正向,右面色朝上为反向,侧棱块在侧面与中心块一致为正向,不一致为反向  

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{前面色超上为正向}u;u;u;u;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc45ccc
55c556ccc
66c66cccc
   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{右面色超上为反向}u;u;u;u;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc46ccc
55c555ccc
66c66cccc



1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{与中心一致为正向}u;u;u;u;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc4cccc
55c55cc5c
66c666ccc
   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{与中心不一致为反向}u;u;u;u;
f3a0e2
99d658
111111ccc
22222222c
33c33c33c
cccc4cccc
55c55cc6c
66c665ccc


       这样规定的棱块方向,顶层怎么转是不会改变棱块方向的,同样转动右面也不改变棱块方向。


1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{转顶层不改变棱块方向}U;U';U2;&{转右面也不改变棱块方向}R;R';
f3a0e2
99d658
111111c5c
22222222c
33c33633c
c4c444c5c
55c551c4c
66c663c6c


       转动前面和上面,或转动前面和右面改变棱块方向。当前面转下时,上面的块转到侧面,就要改变一次方向;当前面转上时,侧面的块转到顶层时也改变一次方向。这就是调整棱块方向的依据。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{当前面转下时,上面的块转到侧面,就要改变一次方向}F;
f3a0e2
99d658
111111c5c
22222222c
33c33633c
c4c444c5c
55c551c4c
66c663c6c
      
1,1,1;
1,1,1;
1,1,1;
N
10
r';u';u2;
{当前面转上时,侧面的块转到顶层时也改变一次方向}F';
f3a0e2
99d658
111111c5c
22222222c
33c33633c
c4c444c5c
55c551c4c
66c663c6c

hubo5563 发表于 2012-12-13 11:55:29

本帖最后由 hubo5563 于 2012-12-17 15:15 编辑

    六、调剩余棱块的方向

     棱块的方向有这么一个规律:反向棱块成对出现。
     所剩的5个棱块只能出现0对反向的就是都棱块方向都正确,1对棱块反向的,和两对棱块反向的。

     分如下几种情况:
     1、侧棱块反向,顶层有一个棱块反向,此时将顶层前面放上正向棱块,将前面转上,把前面棱块翻过来,再通过转顶层把另一反向棱
块转到前顶棱,再将前面转下,将另一棱块反过来,就可以把两个棱块翻过来。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{第一种情况翻两棱}F';U2;F;
f3a0e2
99d658
11c111c3c
22c222222
33c33533c
c4c441c6c
c4c55555c
666666c4c


     这步归纳为:通过转动前面和顶层达到:上去一个反向的,下来一个反向的
     2、侧面棱块正向,顶层有两个相邻反向棱块,此时,通过转顶层将这对反向棱块转到右前方向,将前面转下,翻转前棱块,将右面转
下,把右面的反向棱块带到侧棱,再将前面转上,将侧棱也翻转过来,再将右面转上。就可翻转两个棱块。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{第二种情况翻两棱}U2;F;R';F';R;
f3a0e2
99d658
11c114c5c
22c222222
33c33433c
c4c141c6c
c3c55555c
666666c4c


      这步归纳为:通过转动前面和右面达到:转前面下来一个反向的,转右面下来另一反向的,再上去一个反向的,恢复右面  

    以上是最基本的两个处理方法。
  
     3、侧棱块反向,顶层有三个棱块反向,此时将顶层前面放上正向棱块,将前面转上,把前面棱块翻过来,再通过转顶层把左面一个反
向棱块转到前顶棱,再将前面转下,将这一棱块反过来,就可以把两个棱块翻过来,此时顶层有两个相邻的反向棱块,按第2种情况处理,即
可都翻过来。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{第三种情况翻两棱}F';U';F;&{按第一种情况处理}U2;F;R';F';R;
f3a0e2
99d658
11c113c5c
22c222222
33c33433c
c4c145c6c
c4c55155c
666666c4c

      
      就是,先按第一种方法处理两个反向的,再按第二种方法处理另外两个反向的。


     4、侧面棱块正向,顶层有四个反向棱块,此时,将前面转下,翻转前棱块,将右面转下,把右面的反向棱块带到侧棱,再将前面转上
,将侧棱也翻转过来,再将右面转上。就可翻转两个棱块,此时顶层有两个相邻的反向棱块,按第2种情况处理,即可把剩下的两棱块翻过来


     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{第四种情况翻四棱}F;R';F';R;&{按第二种情况处理}U2;F;R';F';R;
f3a0e2
99d658
11c114c4c
22c222222
33c33133c
c3c545c1c
c6c55455c
666666c4c


     就是,按第二种方法处理两边,每次处理两个反向的。


     5、侧面棱块正向,顶层有两个相对的反向棱块,通过转动顶层,使得一个正向块在右侧,将右面转上,目的是带下一个反向块,转动
上层,将一个反向块转到右侧,再将右面转下,就从上面带下一个反向块,就转化成情况1,按第一种情况处理。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{第五种情况翻两棱}U';R;U;R';&{按第一种情况处理}F';U';F;
f3a0e2
99d658
11c114c3c
22c222222
33c33133c
c4c545c4c
c6c55455c
666666c1c


        这步归纳为:转动右面上去一个正向的,下来一个反向的,就转化为第一种情况。



hubo5563 发表于 2012-12-13 11:57:30

本帖最后由 hubo5563 于 2012-12-17 15:37 编辑

      七、调剩余棱块位置
     
    经过第六步后,剩余的5个棱块方向都正确了,这步调整棱块的位置。调整棱块位置只需转动顶层和右面,不能转动前面,这样就不会破
坏调好的棱块方向了。

    根据侧棱块在顶层和侧棱块在侧棱上分两种情况,先看侧棱块在顶层的情况,此时,侧棱位一定是顶层的块。魔方的特点是对面颜色相
近,红、橙色对面,蓝绿色对面,颜色相近的为一组,我们把顶层四个棱块分为两组,每组两个,由于有一个跑到侧棱上了,顶层一定是有
两个颜色相近的,一个是另一组的块。分为两种情况:

    1、两个相近色块对面,通过转动上层使得相对的两个同组棱块侧面同所在侧面中心一致,再看那个单独颜色块与侧面中心相同与否,又
分两种情况:

    1-1、如果单独颜色块不同它在的侧面中心,说明,它的摆放次序错,此时,通过将右面转上的方法,用侧棱上的那个棱块替换它,将有
连续三个棱块位置正确,另一个不正确的块是侧棱块,然后通过将右面转下的方法,用刚才错误的那个顶层棱块替换它,顶层所有棱块的位
置就都正确了,并且,正好将顶层的测棱快转下,侧棱块刚好转到侧棱上,此时,顶层四个块的排列次序已经正确,再通过适当转动顶层,
顶层棱块位置能够正确归位,并且侧棱块已经归位,棱块位置调整完成。这个操作需要转动右面上下各一次,即可解决。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';U;
{将相近的红黄、橙黄两块对准各自中心,看绿黄棱块}U';u';u;&{绿黄块对的是蓝面,不是绿面,应将它替换成蓝黄块,为此,将其转到右侧}U2;&{将右面转上用蓝黄块替换绿黄块}R;&{然后把侧棱块转到右侧,将右面转下}U2;R';&{棱块调整完成}u;u';
f3a0e2
99d658
c1c114c1c
c2c222c2c
c3c335c3c
c4c441c4c
c3c555c5c
c6c666c6c


    这步归纳为:  确定错误快,顶层有一个位置错的块,转上侧棱的替换块,再把侧棱块换下。

    1-2、如果单独块颜色与它所在的侧面中心块一致,说明三个块的排列顺序正确,需要侧棱块与侧棱位置上的块交换。理论上两棱块交换
是由于顶层棱块位置错误造成的,需要处理奇偶性,这就需要顶层中心与现在的棱块做90度的相对转动,可以这样来实现,用测棱上的块替
换紧挨测棱快的块,再用该块替换紧挨它的块,再替换下一块,最后替换测棱快。这需要右面上下上下即可。同过这样处理,顶层棱块排列
顺序已经正确,侧面棱块位置也刚好正确,再通过合理转动顶层,各个棱块都能正确复位。位置调整完成。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';U;
{将相近的红黄、橙黄两块对准各自中心,看蓝黄棱块}U';u';u;&{蓝黄块对的是蓝面,此时顶层三个棱块位置正确,需要交换红绿和黄绿块}U;&{通过转动右面和上面,从紧挨测棱快的那块依次逐块替换,直到将侧棱块归位}R;U;R';U;R;U;R';&{适当转动顶层}U;&{棱块调整完成}u;u';
f3a0e2
99d658
c1c114c1c
c2c222c2c
c3c333c3c
c4c441c4c
c5c555c5c
c6c666c6c


      这步归纳为:顶层有三个位置对,做奇偶,通过转动右面从侧棱块一侧的棱块开始逐个按顺序替换,最后替换测棱快,正好转右面上下两次。。

    2、两个相近色块相邻,通过转动上层使得单独的一个棱块侧面与侧面中心颜色相同,此时再看相邻的两个棱块还有没有颜色与所在侧面
中心相同的,此时又分两种情况:

    2-1、还有一个棱块侧面颜色与其所在侧面中心颜色相同,此时,有两个棱块位置正确,另一个棱块侧面与所在侧面颜色不同,说明,它
的摆放次序错,此时,通过将右面转上的方法,用侧棱上的那个棱块替换它,将有连续三个棱块位置正确,另一个不正确的块是侧棱块,然
后通过将右面转下的方法,用刚才错误的那个顶层棱块替换它,顶层所有棱块的位置就都正确了,并且,正好将顶层的测棱快转下,侧棱块
刚好转到侧棱上,此时,顶层四个块的排列次序已经正确,再通过适当转动顶层,顶层棱块位置能够正确归位,并且侧棱块已经归位,棱块
位置调整完成。这个操作需要转动右面上下各一次,即可解决。

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{将蓝黄色棱块对准它的中心块,看红黄和橙黄两棱块有没有对准中心}U2;u';u;&{此时红黄块也对准它的中心,说明蓝黄、红黄两块位置正确,橙黄块位置不正确}u;u';&{将右面向上转动,用绿黄块替换橙黄块}R;&{通过转动顶层,使红绿块转到右侧}U;&{将右面向下转动,用橙黄色块替换红绿块,同时红绿块复原}R';&{适当转动顶层}U';&{棱块调整完成}u;u';
f3a0e2
99d658
c1c114c5c
c2c222c2c
c3c336c3c
c1c444c4c
c5c553c5c
c6c666c1c


       这步归纳为:  确定错误快,顶层有一个位置错的块,转上侧棱的替换块,再把侧棱块换下。

     
     2-2、除了单独颜色的块外,另外两个块都不对准他们的中心,此时,将侧棱块转到右侧,将右面转上,在将原来那个单独颜色的块转
动到右侧,再将右面转下,此时,刚转上的块成了新的单独颜色的块,将它与它的中心块对准,此时,另外两个块必有一个与自己中心对准
的,就转化成2-1情况,按2-1的方法来处理。此种情况需要右面上下上下两次。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{将蓝黄色棱块对准它的中心块,看红黄和橙黄两棱块有没有对准中心}U2;u';u;&{此时红黄和橙黄块都不对准它的中心,}u;u';&{通过转动顶层,使红绿块转到右侧}U;&{将右面转上}R;&{将蓝黄色块转到右侧}U;&{将右面向下转动,用绿黄色块替换蓝黄色块,同时蓝黄色块转到侧棱上}R';&{转动顶层,使绿黄色块对准绿色面}U';&{看红黄和橙黄块有没有对准中心的,实际上通过这样操作,必有一块对准它的中心}u;u';&{转化成2-1情况,按2-1情况来处理}u;u';&{将位置不对的橙黄块转到右侧}U2;&{通过向上转动右面,用蓝黄块替换}R;&{将侧棱块转到右侧}U';&{向下转动右面,橙黄块替换红绿块,同时复位侧棱块}R';&{适当转动顶层,复位顶层棱块}U';&{完成棱块复位}u;u';
f3a0e2
99d658
c1c114c5c
c2c222c2c
c3c331c3c
c1c444c4c
c5c553c5c
c6c666c6c


     这步归纳为:右面转上,用侧棱位置的块替换侧棱块;右面转下,替换另一同组色块;右面转上,替换刚转上的棱块对面那块,右面转下,替换侧棱块
  
     以上介绍的是侧棱块在顶层的情况,还有一种情况,就是侧棱块刚好在侧棱块位置上,这种情况出现的概率是五分之一。此时首先转动
顶层,看是否都复位,如果顶层棱块也都能转到各自位置上,棱块复位完成。这种情况很难碰到,除非在翻转棱块操作时,采用特殊技术,
使得棱块翻正方向的同时,也复位棱块位置。如果不是棱块复位状态,通过向上转动右面,把侧棱块转动到顶层,再向下转动右面时,从顶
层带下一个其它块,就转化为侧棱块在顶层的情况,再按侧棱块在顶层的情况来处理。

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{通过转动右面和顶面,将侧棱块转到顶层}R;U';R';&{转化成2-2的情况,按2-2方式来处理}u;u';U;R;U;R';U;R;U';R';
f3a0e2
99d658
c1c111c1c
c2c222c2c
c3c335c3c
c4c444c4c
c5c553c5c
c6c666c6c



1,1,1;
1,1,1;
1,1,1;
N
10
r';
{通过转动右面和顶面,将侧棱块转到顶层}R;U';R';&{转化成2-1的情况,按2-1方式来处理}U2;R;U';R';U2;
f3a0e2
99d658
c1c111c1c
c2c222c2c
c3c335c3c
c4c444c4c
c5c556c5c
c6c666c3c



1,1,1;
1,1,1;
1,1,1;
N
10
r';
{通过转动右面和顶面,将侧棱块转到顶层}U;R;U';R';U2;&{转化成1-1的情况,按1-1方式来处理}U;R;U2;R';U;
f3a0e2
99d658
c1c111c1c
c2c222c2c
c3c335c3c
c4c444c4c
c5c556c5c
c6c666c3c


        这步归纳为:转上一个侧棱块,转下一个顶层块

hubo5563 发表于 2012-12-13 11:58:47

本帖最后由 hubo5563 于 2012-12-14 16:00 编辑

    八、两个只用“上上下下”的基本操作“+1”和“-1”

    在介绍角块复原方法前,先看一下只用“上上下下”转动的操作步骤,及其性质。
    第一个是先转右面后传前面,我们把它叫做操作“+1”:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,+1}R;F';R';F;
99d658
f3a0e2


    这样的操作只改变顶层一个角块,它在操作前位于底层,并且与之位置相对,执行这样的操作,是把底层右前角块搬到顶层右前角块位
置,同时把顶层右前角块搬到底层右前角块位置上。但是,当底层角块搬到顶层时,原来在前面的面跑到上面了。

    第二个是先转前面后传右面,我们把它叫做“-1”:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,-1}F';R;F;R';
99d658
f3a0e2

      
     这样的操作也只改变顶层一个角块,它在操作前位于底层,并且与之位置相对,执行这样的操作,是把底层右前角块搬到顶层右前角块
位置,同时把顶层右前角块搬到底层右前角块位置上。但是,当底层角块搬到顶层时,原来在右面的面跑到上面了。

    有了这两个基本操作,我们定义“+2”操作是做两次操作“+1”,“+3”操作是做3次“+1”操作,等等。同时我们定义“-2”操作是做
2次“-1”操作,“-3”操作是做3次“-1”操作。

     先看看它们的性质:

     “+2”操作:
      
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,+2}(R;F';R';F;)2;
99d658
f3a0e2


     “-2”操作:

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,-2}(F';R;F;R';)2;
99d658
f3a0e2

  
    通过java动画演示可以看出,这两个操作也只改变上层的一个角块,并且这个角块只是原地转动,“+2”使其顺时针转动120度,“-2”
操作使其逆时针转动120度。利用这个性质来扭转顶层角块方向。


    “+3”操作:

      
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,+3}(R;F';R';F;)3;
99d658
f3a0e2


     “-3”操作:

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,-3}(F';R;F;R';)3;
99d658
f3a0e2


     可以看到“+3”和“-3”的作用是相同的,是把右前底层角块搬到顶层,底面到顶面。
     
    当我们先做“+1”操作,然后做“-1”操作结果是魔方没有变动:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,+1}R;F';R';F;&{只用上上下下的操作,-1}F';R;F;R';
99d658
f3a0e2


    或者我们先做“-1”操作,然后做“+1”操作结果也是魔方没有变动:

   
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,-1}F';R;F;R';&{只用上上下下的操作,+1}R;F';R';F;
99d658
f3a0e2


     又一性质是做6次这样的操作,等于没有做操作:

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,+1}(R;F';R';F;)6;
99d658
f3a0e2


      
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{只用上上下下的操作,-1}(F';R;F;R';)6;
99d658
f3a0e2


      “+1” 与 “-5”等价,“+2”与“-4”等价
      “-1” 与 “+5”等价,“-2”与“+4”等价
      “-3” 与 “+3”等价。
     这些性质自己验证。

hubo5563 发表于 2012-12-13 11:59:58

本帖最后由 hubo5563 于 2012-12-14 17:09 编辑

      九、调顶层三个角块位置和方向  
   
    顶层角块位置调整可以用“+1”或“-1”操作来调整,你可能发现,做操作“-1”或“+1”后,除了底层角块和顶层角块变化外,还有
其它块也在变化,就把原来做好的底面和一个侧棱块破坏了,是的,但是你做一系列这样的操作,中间夹着一些顶层转动,只要最后代数和
为0,(实际是模6的加减运算),作用在其他块上就会相互抵消,只有前右侧棱的上下两个角块变化。

    利用这个性质,我们可以把魔方的顶层三个角块的位置和方向逐个复原,复原第四个角块,先不要管角块的方向,只要把各个操作的代
数和做到0,操作牵涉到的其它块作用相互抵消,相当没动。例如,复原前三个块操作总代数和为“+2”,那么第四个不管方向只做“-2”,
做完“-2”,代数和变为0,有三分之一的概率,整个魔方复原了;另有三分之一的概率,右前上层角块位置正确,但方向顺时针转了120度
,同时右前下角块逆时针转了120度,其他块已经复原;还有三分之一的概率,右前上层角块位置正确,但方向逆时针转了120度,同时右前
下角块顺时针转了120度,其他块已经复原。后两种情况,下步处理。

    如果下层角块是顶层角块,并且黄色在前面,此时,转动顶层使该块的应到位置转到右前方,再做“+1”操作:

      
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{下角块黄色在前面,转动顶层使该块的应到位置转到右前方}U;&{做操作“+1”}R;F';R';F;
f3a0e2
99d658
cc411cc1c
cc522c22c
c3c33333c
c4c444c4c
6ccc55c5c
66c666c6c


     如果下层角块是顶层角块,并且黄色在右面,此时,转动顶层使该块的应到位置转到右前方,再做“-1”操作:

     
1,1,1;
1,1,1;
1,1,1;
N
10
r';
{下角块黄色在右面,转动顶层使该块的应到位置转到右前方}U;&{做操作“-1”}F';R;F;R';
f3a0e2
99d658
cc511cc1c
cc622c22c
c3c33333c
c4c444c4c
4ccc55c5c
66c666c6c


    如果下层角块是顶层角块,并且黄色在下面,此时,转动顶层使该块的应到位置转到右前方,再做“+3”操作:


1,1,1;
1,1,1;
1,1,1;
N
10
r';
{下角块黄色在下面,转动顶层使该块的应到位置转到右前方}U;&{做操作“+3”}(R;F';R';F;)3;
f3a0e2
99d658
cc611cc1c
cc422c22c
c3c33333c
c4c444c4c
5ccc55c5c
66c666c6c


     

   
1,1,1;
1,1,1;
1,1,1;
N
10

12B2;12F2;D;12B';B';R';12B;12L2;12U2;F';12B;R';12L;R2;12L2;B;D2;12R;L;12U;L;12U;D';12F';D;12B;12F2;12F;D;L';12L2;L2;12D2;R';12U;L;B;12D';12L;F;R';12B';R;D;12F;12D2;12L;R2;F2;12U2;B;12L';D2;12L';12L2;12F';F;U';12F';12F2;&{做十字}L';F;R;F;L2;F2;&{复原底下三个角}r';u;U';R';F;R;F';U;u';R';F;R;F';u2;U;F;R';F';R;U';B';R;B;R';&{复原二层三个棱块}U2;F;R';F';R;12U';U2;F;R';F';R;12U';&{调整顶层方向}U;F;R;U;R';U';F';&{调整棱块位置}R;U;R';U2;R;U';R';U;R;U';R';U;
{复原顶层角块}U;&{红蓝黄,0+1}R;F';R';F;&{绿橙黄,1-1=0}U2;F';R;F;R';&{蓝橙黄,0-1=-1}U;F';R;F;R';&{红绿黄,-1-1=-2}U2;F';R;F;R';&{红蓝黄,前面操作代数和为-2,这里只能做“+2”}U';R;F';R';F;R;F';R';F;&{最后调整}U';&{正好复原}(u;)4;"
99d658
f3a0e2

     
    上面例子正好复原。有时第一个位置是白色块,可以把块先搬到其他位置。


1,1,1;
1,1,1;
1,1,1;
N
10
12D;12R;12D';L';12R';12B';12R';L;12B;12F;R';D2;12L2;L';12F2;F2;12B;12L2;L';12F';F2;B';12B2;12L;12B';12L';12B;F';12F;L2;U';U2;D';12D2;12L2;L;12B;12L2;12L';R;U';12D;F;12B2;12F2;B';12L;12U2;F2;12B';B';12L;D';R;F;12U';D;R2;12U;12R;&{做十字}R2;B2;U;B';D2;L;B';U;r;&{复原底层三个角块}U2;u';R';F;R;F';u2;R';F;R;F';u;U';F;R';F';R;u2;U2;F;R';F';R;D';&{复原三个二层棱块}12U2;F;R';F';R;12U';R';F;R;F';12U';U;F;R';F';R;12U;U';R';F;R;F';12U2;&{调整顶层方向}R;U';R';U2;F;R';F';R;U';F;R;U;R';U';F';&{调整顶层棱块位置}U2;R;U';R';U';R;U2;R';U;
{复原顶层三个角块,红绿蓝位是白块,可以把红绿蓝搬到别处,做“+1”,0+1=1}R;F';R';F;&{红蓝黄,1+1=2}R;F';R';F;&{红绿黄,2+1=3}U;R;F';R';F;&{将橙蓝黄角块搬到底层,3+1=4}U;R;F';R';F;&{橙蓝黄,4+1=5等价-1}U;R;F';R';F;&{最后一个角块,代数和为5,等价-1,因此只能做+1}U';R;F';R';F;U2;D2;&{最后差两个角块没有复原}u2;u2;u2;
99d658
f3a0e2


页: [1] 2 3 4 5
查看完整版本: 不用公式复原三阶魔方详细教程(java动画演示)