魔方吧·中文魔方俱乐部

标题: 只用一个公式盲拧的方法 [打印本页]

作者: woyujnss    时间: 2011-11-12 23:57:59     标题: 只用一个公式盲拧的方法

之前看过胡波老师写的用TR2 F2 R U R' F2 TR F' TR U这一个公式盲拧的帖子(http://bbs.mf8-china.com/viewthread.php?tid=60880),回帖中有人提到说可以只用R U R'U'R'F R2U'R'U'R U R'F'这一个公式来盲拧,试过之后成功了,所以发出来分享一下下,呵呵。

所用公式,首先给个JAVA图吧:
R U R'U'R'F R2U'R'U'R U R'F'
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]R U R'U'R'F R2U'R'U'R U R'F'[/param]
  [param=stickersFront]5,5,5,5,5,5,5,5,5[/param]
  [param=stickersRight]4,4,4,4,4,4,4,4,4[/param]
  [param=stickersDown]3,3,3,3,3,3,3,3,3[/param]
  [param=stickersBack]2,2,2,2,2,2,2,2,2[/param]
  [param=stickersLeft]1,1,1,1,1,1,1,1,1[/param]
  [param=stickersUp]0,0,0,0,0,0,0,0,0[/param]
[/java3]
这个公式就是PLL中的T形态,也就是不改变色向交换UFR、UBR两个角块,同时交换UR、RL两个棱块的。

编码方案,我用的和胡波老师的差不多,不过也不完全相同就是了,这里给个我的编码方案的图吧:
我的编码方案.jpg
图中的两个X是缓冲块位置,也就是编码的开始处。

然后是编码方法,这个方法借鉴于扫地僧的《六街三市》——26块盲拧秘笈
A)棱块编码,看缓冲块位置上的块还原后应该是在哪,在X上的面应该是哪个编码,记下这个编码。
B)看上个被记下编码位置上的块还原后应该是哪,记下编码。然后重复这一步,直到
编码遇到缓冲块。
C)编码遇到缓冲块,结束本次循环,看看有没有未还原的棱块没有被编码,有则进行D)步骤,无则跳到E)步骤。
D)以任意一个未被编码的棱块作为编码的起点,并记下这个编码。然后运行B)步骤,不过是直到编码遇到前面记下的起点(不论前面是+还是-,只要后面的数值一样)时记下这个起点块的编码,而不是遇到缓冲块时结束。
E)所有未还原的的棱块都被编码后,则效验奇偶性:如果棱块编码的数量为奇数,则直接做一次公式,或者是在编码最后加上一个+3,使编码数量变为偶数,原因后面会说到;如果棱块编码的数量为偶数,则进入步骤F)
F)角块编码,看缓冲块位置上的块还原后应该是在哪,在X上的面应该是哪个编码,记下这个编码。
G)看上个被记下编码位置上的块还原后应该是哪,记下编码。然后重复这一步,直到
编码遇到缓冲块。
H)编码遇到缓冲块,结束本次循环,看看有没有未还原的棱块没有被编码,有则进行I)步骤,无则结束编码。
I)以任意一个未被编码的棱块作为编码的起点,并记下这个编码。然后运行H)步骤,不过是直到编码遇到前面记下的起点(不论前面是+还是-,只要后面的数值一样)时记下这个起点块的编码,而不是遇到缓冲块时结束。

根据编码来解魔方:以上就是编码方法的步骤了,下面就是根据编码来解魔方了,解决方案:
先解决棱块,把编码位置的棱块放到+3位置上,做一次公式,再照做公式前做的步骤反过来做一次(原路返回);这里要注意一点就是移动棱块所用的步数应尽量少和顺手,然后这个移动不能影响UFR和UBR两个角块。
再解决角块,把编码位置的角块放到02位置上,做一次公式,再照做公式前做的步骤反过来做一次(原路返回);这里要注意一点就是移动角块所用的步数应尽量少和顺手,然后这个移动不能影响UR和UL两个棱块。
这里可以参照一下图里的表格:
一个公式盲拧.jpg
图中是各个编码在带有不同符号时进入做公式位置和原路返回所用的转动,其中“/”的前面是进入,其后面是返回。例如+5这个棱块,在表中是“D'L2/L2D”,那么就是说编码是+5时,则做D'L2,然后做前面说到的公式,再用L2D原路返回。如此就能还原+5这个块了。
前面说的奇偶效验可以在棱块编码的最后加个+3也可以看这图就应该知道了吧?+3就是直接做公式嘛,呵呵。
本人文笔不算太行,中间有什么不懂的地方请在回帖中说明,我会尽力去解释的,另外有什么好的建议也可以提出来让我修改的,谢谢。
PS:2楼还请留给我占着写实例吧,谢谢。

[ 本帖最后由 woyujnss 于 2011-11-13 00:43 编辑 ]

附件: 我的编码方案.jpg (2011-11-12 23:57:59, 68.44 KB) / 下载次数 48
http://www.mf8-china.com/forum.php?mod=attachment&aid=MTY1NDkwfDg4YmZiMDM5fDE3NTEzNjU2Mzl8MHww

附件: 一个公式盲拧.jpg (2011-11-12 23:57:59, 82.71 KB) / 下载次数 47
http://www.mf8-china.com/forum.php?mod=attachment&aid=MTY1NDkxfGI1NzI2NWUyfDE3NTEzNjU2Mzl8MHww
作者: woyujnss    时间: 2011-11-12 23:59:05

还原实例1:
打乱公式B' D U2 B2 F L F2 L2 D F2 R2 B2 L B2 U2 L D' U B' D' U F2 D' U B D2 L2 F L R2,我是用的白顶红前打乱……
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=initScrpt]CR CU2 B' D U2 B2 F L F2 L2 D F2 R2 B2 L B2 U2 L D' U B' D' U F2 D' U B D2 L2 F L R2[/param]
[/java3]
接下来是如何用这个方法来还原魔方了,先进行编码。
先看缓冲块,上面是-4块,然后看-4上是-0,再看-0上是-5,后面我直接给出编码了。+9-A+3-7+2-1,-1过后是缓冲块了,此循环结束。
这里棱块编码就是-4-0-5+9-A+3-7+2-1,循环结束且所有未还原的棱块都已经被编码,那么就效验一次奇偶性,前面编码了9个块,奇数我们就在编码最后再加个+3来使其变为偶数,所以最终棱块编码就是-4-0-5+9-A+3-7+2-1+3。
再下来是角块编码了,一样先看缓冲块,上面是08,08上面是+3,然后是+5,08+3+5后就到缓冲块了,本循环结束,不过并不是所有未还原的块都被编码了,那就随便找一个未还原且未被编码的块做起点,这里我就用02吧,方便一些。02上面是-7,-7上面是-2,-2和前面的02是同一个块,只是不同面,此循环结束,编码02-7-2,此时应该记的编码是08+3+502-7-2,还有未还原且未被编码的块,继续编码,这次我用04作为起点则是0406-4,至此所有未还原的角块都被编码了,最终编码为08+3+502-7-20406-4。
接下来,以编码来还原这个魔方,编码前后动作我会用表里面的。

以编码还原棱块:-4 -0 -5 +9 -A +3 -7 +2 -1 +3,一图一个编码,大家自己看吧……
[java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-4的还原]R'B R L (R U R'U'R'F R2U'R'U'R U R'F') L'R'B'R[/param]
  [param=initScrpt]x y2 F2 U2 R2 F' L2 B' L2 R' U B' D' U' L' F' R2 F D B' R'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-0的还原]d L'(R U R'U'R'F R2U'R'U'R U R'F')L d'[/param]
  [param=initScrpt]x y2 D2 R2 B2 F2 L D2 U' B' D2 L B' R B' D L2 R2 F' D'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-5的还原]R F R'L'(R U R'U'R'F R2U'R'U'R U R'F')L R F'R'[/param]
  [param=initScrpt]x y2 U2 R2 U2 L F2 D L' B2 L U2 B' R' D F D' B L' B2[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-9的还原]d'L(R U R'U'R'F R2U'R'U'R U R'F')L'd[/param]
  [param=initScrpt]x y2 B U2 L2 R2 B R2 U2 B U B L D' R2 U2 B R' B D U'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的+A的还原]d2L(R U R'U'R'F R2U'R'U'R U R'F')L'd2[/param]
  [param=initScrpt]x y2 L2 D2 L2 R2 F2 U' F' R D R' D2 B2 D2 B2 R' F' D U[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-3的还原]Ld'L(R U R'U'R'F R2U'R'U'R U R'F')L'd L'[/param]
  [param=initScrpt]x y2 D2 U2 B' R2 F D2 B' L' U2 F' U2 R2 D2 R2 F' U' B2 U[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的+7的还原]D L2(R U R'U'R'F R2U'R'U'R U R'F')L2D'[/param]
  [param=initScrpt]x y2 R U2 B2 F2 R F2 R' U2 R' F' D2 F' D2 R U' B2 U F2[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的-2的还原]R F'R'L'(R U R'U'R'F R2U'R'U'R U R'F')L R F R'[/param]
  [param=initScrpt]x y2 L D2 F2 U2 L F R2 F' U2 L2 F' R2 F' U2 L' D2 R'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的+1的还原]d2L'(R U R'U'R'F R2U'R'U'R U R'F')Ld2[/param]
  [param=initScrpt]x y2 D2 U F2 L2 D' R' U R2 D2 R F2 U L2 D R2 B2 F2[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][棱块的+3的还原](R U R'U'R'F R2U'R'U'R U R'F')[/param]
  [param=initScrpt]x y2 L2 R U2 B2 F2 L R2 U2 B2 F2 R' U R D2 R' U R[/param]
[/java3]

结束后会发现,UR块和UL块的位置被对调了,这里是因为有进行过奇偶效验,可以不用管,再说了盲拧时你也不会看到这情况,呵呵。


下面以编码还原角块:08 +3 +5 02 -7 -2 04 06 -4,和上面JAVA图一样,一图一个编码,大家自己看吧……

[java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的08的还原]D2F2(R U R'U'R'F R2U'R'U'R U R'F')F2D2[/param]
  [param=initScrpt]x y2 R2 B2 L2 R2 D2 U2 B L D2 B L F' U2 L2 B F2 R[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的+3的还原]F'D F'(R U R'U'R'F R2U'R'U'R U R'F')F D'F[/param]
  [param=initScrpt]x y2 D2 B2 L D2 F2 L R D L' R D L R' D' U2 F2 R2[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的+5的还原]R F'R'F(R U R'U'R'F R2U'R'U'R U R'F')F'R F R'[/param]
  [param=initScrpt]x y2 F2 U2 L' U L B2 R2 D' R F2 R B2 F2 L2 U' L2[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的02的还原](R U R'U'R'F R2U'R'U'R U R'F')[/param]
  [param=initScrpt]x y2 L2 U R U L' U2 L' R D B2 D R D2 R[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的-7的还原]D2F'(R U R'U'R'F R2U'R'U'R U R'F')F D2[/param]
  [param=initScrpt]x y2 U2 L F2 L' U' F2 L' F2 U2 F2 U' L F2 U'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的-2的还原]F D'F2(R U R'U'R'F R2U'R'U'R U R'F')F2D F'[/param]
  [param=initScrpt]x y2 L2 F U2 F' U2 B' U2 B U2 R B L2 B' R'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的04的还原]L2F2L2(R U R'U'R'F R2U'R'U'R U R'F')L2F2L2[/param]
  [param=initScrpt]x y2 F2 U F' U F2 D B' R2 B D' F2 U' F'[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的06的还原]F2(R U R'U'R'F R2U'R'U'R U R'F')F2[/param]
  [param=initScrpt]x y2 U F2 U' B' U F2 U' B[/param]
[/java3][java3=300,300]
  [param=scrptLanguage]HarrisENG[/param]
  [param=scrpt][角块的-4的还原]L'D2F'L(R U R'U'R'F R2U'R'U'R U R'F')L'F D2L[/param]
  [param=initScrpt]x y2 R2 F2 D2 L D' L' D L' D2 F2 R' U B2 U' R'[/param]
[/java3]
至此,这个魔方就已经被成功复原了。累了,有时间继续……

[ 本帖最后由 woyujnss 于 2011-11-14 00:33 编辑 ]
作者: 谢老师    时间: 2011-11-13 00:12:57

也可以这样盲拧! 佩服!

一个T字公式搞定!

R U R'U'R'F R2U'R'U'R U R'F' 是对的,JAVA里最后一个F的少了' 。
作者: ZxtL    时间: 2011-11-13 00:45:49

膜拜啊。。我以为我用的公式已经够少了。。
作者: lele1415    时间: 2011-11-13 01:35:59

无公式盲拧怎么样=。=
http://tieba.baidu.com/p/1128119351
作者: woyujnss    时间: 2011-11-13 10:39:39

原帖由 lele1415 于 2011-11-13 01:35 发表
无公式盲拧怎么样=。=
http://tieba.baidu.com/p/1128119351

呵呵,方法嘛,多了不嫌的,不过无公式也可以看着拧了吧,一样可以教别人一个不记公式的还原方法,支持lele
作者: 弘毅    时间: 2011-11-22 17:02:10

马克一下 最近想学盲拧
作者: 观赏龟龟12    时间: 2011-12-30 15:41:29

我最开始就是学得一个公式打天下的,不过由于一个一个的角和楞还原,公式用的次数太多,速度很慢,后来就开始学习三循环公式了。我用的公式是UFL和UBL对换,同时UF楞和UL楞对换的公式。




欢迎光临 魔方吧·中文魔方俱乐部 (http://www.mf8-china.com/) Powered by Discuz! X2