lionkinglk 发表于 2011-7-2 22:53:02

使用简化的Thistlethwaite方法

使用简化的Thistlethwaite方法,可以不用任何难懂的公式就能还原魔方。


步骤1 不需要公式
步骤2 用一个5步的公式
步骤3 用一个7步的公式和一个4步的公式
步骤4 用两个6步的公式

因为所有的公式都很短很简单,所以使用这一方法人可以说,他们还原了魔方,并且懂得他们是如何做到的!
也许你觉得这还不够简单,但这是一个还原魔方的有趣的方法,如果你能做到的话。

**步骤1**

  把魔方转到<L2,R2,F,B,U,D>状态集(我称它为G1)。也就是说,把魔方转到一个状态,使得它可以只使用L2,R2,F,B,U,D来还原。在这个方法中,在步骤4之前,把相对面的颜色看成相同的,会对你有帮助。我们把左/右面的颜色称为“绿色”(这在步骤1中并不重要),上/下面称为“红色”,前/后面称为“白色”。

  一旦进入G1状态集,就不可能再翻转棱了,所以为了让魔方进入G1状态集,我们所要做的就是确保所有的棱块都正确翻转。首先,你需要找出未正确翻转的棱块(Bad edges)。一个未正确翻转的棱块是指,如果只使用G1中允许的转动(L2,R2,F,B,U,D)去把这个棱块归回原位,它的朝向是错误的。(当然了,只为判断,你用不着把它转回原位去)

  未正确翻转的棱总是偶数个,在0到12之间,或者平均6个。翻转棱的唯一方法就是把L层或R层转动90度,这样会一下子把这一边的4个棱全部翻转。为了翻转4个棱,你只需要简单把它们都放在一边(比如左边),然后把该层转动90度。为了翻转2个棱,你可以把其中一个放到L层上,再转90度,这样2个就变成了4个(新出现的3个+原来的1个),就又可是用刚才的方法了。

  在步骤1的末尾,你应该看到,没有一个红色的棱朝向前或后,没有一个白色的棱朝向上或下。在别人看来,你的转动简直没有任何成果!然而现在,12个棱都已处在一个比较好的位置上了。

**步骤2**

  把魔方转到<L2,R2,F2,B2,U,D>状态集(我称它为G2)。在这个状态集中,中层的棱块都位于中层(被UD夹在中间的层)上且被正确翻转了,而顶部和底部的棱块只能在这两层之间交换且不会再被翻转。在步骤2的末尾,你应该看到,顶面和底面只有红色,而在中层,绿色朝向左/右,白色朝向前/后。

  切记我们刚刚进入G1状态集,所以为了进入G2状态集,我们只能使用G1中允许的转动(L2,R2,F,B,U,D)。我们希望在顶层和底层各得到一个红色的Cross,而在12个棱块中,有8个是红色,由于空间有限,必有至少4个已成为Cross的一部分。通用的策略是,先在顶层和底层各放3个红色的棱,然后调整一下U和D,使得Cross的缺口都朝前。这时,两个缺失的红色棱块一定在中层的某处(如果不是,那一定有4个红色棱同时在顶层或底层,而不是3个)。用180度旋转(L2,R2,F2,B2)把这剩下的两个红色棱移到中层朝前的地方,再把F层转动90度。当这样把棱块做好时,我们得到了“对称”的结构,所以现在我们可以把整个魔方绕着U-D轴转动,随时改变一下前和后的观念了。很方便。

  现在开始解决角块,我们可以一次翻转两个角块。把一个角块放在LUF位置上(角A),把另一个角放在FDR位置上(角B),然后做:

  R'D - 翻转角B
  L2 - 交换角B和角A
  D'R - 在返回时翻转角A

  重复的这样做直到所有的角块都被正确翻转。你应该让所有的红色都在顶面或底面上。

**步骤3**

  把魔方转到<L2,R2,F2,B2,U2,D2>状态集(我称它为G3)。在前面的状态集中,你只是把顶面和底面都变成了相对面的颜色(红色),在这一步骤,你要把前/后面(白色)、左/右面(绿色)也做到这样子。在G3状态集中,每个角块只能处在四个位置中的一个,我称它为一个“环”。在魔方上只有两个环,8个角块分属其中。在G3状态集中,你能做的只能是180度转动,即交换一个环中的两个角块,同时交换另一个环中的两个角块。这就限制了角块可能的排列,也意味着简单的使每个面只有它本身的颜色和相对面的颜色是不足以满足G3的。

  既然角块会出一点小问题,所以我们先使角块进入G3状态集,然后再处理棱块。现在为了判断是否满足G3,你必须要区分相对面的颜色了。在这里我用的颜色是红对橙、白对黄、绿对蓝。一个判断是否满足G3的简单方法是把所有红色的角块移到顶层,橙色的角块放在底层,这样这些角块分成四对,每一对可能是匹配的,也可能是不匹配的。当它们全匹配或全不匹配时,角块就进入G3状态集了。所有角块都匹配只有一种情况,所有角块都不匹配也只有一种情况(在两个层都有一对对角相交换)。做R2U2R2,就可以在全匹配和全不匹配之间转换(使顶层的一对对角交换,底层同样)。当你手中的魔方不处于这个状态时,这有一个公式可以交换底层的一对对角,同时交换顶层的一对相邻的角块:

  R'FR' - 使4个目标角块移到B层
  B2    - 交换!
  RF'R - 返回

  在这种情况下,可以非常高效的暂时打乱G2,在这一步骤的结尾,又返回到G2状态集中。这个公式会交换DF、DB、UB三对角块,而不会影响到在UF处的角块对。当你在寻找那些匹配或不匹配的角块时,你会经常发现有一对与其它的不一样(比如另外三对都匹配了,只有一对不匹配)。当你找到这一对并把它拿在UF的位置,然后做上面那个公式,就会使所有角块相协调。

  接下来开始处理棱块,这就没什么特别之处了。棱块也是位于几个环之中,魔方总共有12个棱,分为3个环。中层的棱块在步骤2中已经做好了,而且也不会再离开它们的环。所以现在,我们只有UD两层的8个棱块需要处理。我们要做的是把白色的棱移到白色那一侧(前/后,这里白色泛指白、黄),把绿色的棱移到绿色的一侧(左/右)。处于错误位置的棱块的数目一定是偶数。最简单的公式是把绿色那一侧的两个棱与白色那一侧的两个棱相交换,绿色那一侧的两个棱必须放在底层(DL、DR),而白色那一侧的两个棱必须放在顶层(UF、UB)。然后做:

  D'
  M2(M是被L和R层夹在中间的层)- 交换!
  D

  这应该不需要解释了。像步骤1一样,如果你遇到了只有两个不正确的棱,那你可以很容易的把它变成4个。
  在这个步骤的末尾,你应该看到,在每个面上都只有它自身的颜色和它相对面的颜色。

**步骤4**

  魔方现在只用180度旋转就可以还原了。当然,如果我们能看出一些明显的捷径来,也可以用180度旋转以外的操作。

  首先,用180度旋转来还原角块。先找到一个面,把两个角块连在一起,那么这个面上的另两个角块就会自动连在一起(如果你步骤3做对了的话)。然后把两对角块移到一个面,另外4个角块自然会自动复原(如果你步骤3做对了的话)。

  接着还原棱块,这有两个容易理解的简单公式:
  F2R2 F2R2 F2R2 - 交换不同环中的两对棱块,其它的块不受影响。
  F2 M2 F2 M2    - 交换同一环中的两对棱块,第二个F2会把其它的块复原。

  运用这两个公式及它们的一些变化,就能够还原所有的棱。

  第一个公式的变化包括:
  R     (F2R2 F2R2 F2R2)      R'
  L2B2R (F2R2 F2R2 F2R2) R'B2L2

  第二个公式的变化包括:
  F2 M F2 M' (将两对棱重叠在一起,这样就能交换三个棱)
  F (F2 M2 F2 M2) F'


CUBE SOLVED
魔方还原完毕
Ryan
Copyright &copy; 2003 Ryan Heise

[ 本帖最后由 lionkinglk 于 2011-7-2 23:02 编辑 ]

耗子哥哥 发表于 2011-7-2 23:01:02

没太看懂,建议楼主插入Java演示进行说明。

Jersey 发表于 2011-7-2 23:07:13

直接给个实例吧!
打乱加解法!

TanLaiChen 发表于 2011-7-2 23:32:36

这解法。。。楼主应该做个打乱和解法。。。

shmily72d 发表于 2011-7-2 23:35:55

很有意思的新解法,不过过程能不能叙述的更亲民点啊,都没看懂。。。。。

Cielo 发表于 2011-7-2 23:50:27

楼主最后一段的意思是说翻译的Heise网站上的么?

司马殇 发表于 2011-7-3 00:12:40

还真怎么没有看懂啊!!!!

mutou2000 发表于 2011-7-3 07:27:57

和以前的TM貌似差不太多啊,是初级版的,跟层先之对于CFOP那样吗???

yuyi1005 发表于 2012-3-16 23:09:19

标题

基本看懂了…也会用这种方法复原了。但是你有一个公式写错了。R2U2R2那个,要把U改成F或者B。

LAMBO 发表于 2012-3-22 19:34:10

图啊····
光说不管用啊······
页: [1] 2
查看完整版本: 使用简化的Thistlethwaite方法