魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 1223640|回复: 30
打印 上一主题 下一主题

【技术贴】只用一个公式的二步盲拧法 [复制链接]

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

跳转到指定楼层
1#
发表于 2010-9-4 18:21:21 |只看该作者 |倒序浏览
    一、简介:
    这里是我设计的一套盲拧方法的最简单方法,该方法是2步法,第一步首先复原棱块,第二步复原角块。
    我们知道4步法首先调整棱块或角块的方向,然后调整棱块或角块的位置使魔方复原。采用的方法是利用缓冲区的块与操作位置的块交换来完成的。并且操作要操作的块时不能影响其他位置的块的状态。本方法是二步法,调整块的位置时同时调整块的方向,使其位置和方向一次调整完成。这样,复原魔方的过程变为两步,一步调整棱块的位置和方向复原棱块,一步调整角块的位置和方向复原角块。
    我们采用的公式是调整位置的公式,并不改变块的方向,怎么就一次能把位置和方向调整好呢?这个就是本方法与其他盲拧的不同之处。
    我们知道4步法调整块的位置时,是把要调整的块set up到固定位置,然后执行块的交换或轮换,再reverse按setup原路返回,本方法也是这样。四步法调整块位置时要有规范的setup步骤,不然就会破坏已经调整好的块的方向。也就是说,setup不能随便使用操作,有些能把块调到加工位的操作要改变原来块的方向。本方法正是利用这个特性,采用不同的setup操作,来同时调整块的位置和方向的。方向不变的,使用方向不变的setup方法,方向需要变化的采用相应改变操作块方向的setup方法,最后使块达到复原的目的。
    这里介绍最简单的,就需要一个公式:
      二、所用公式:
     TR2 F2 R U R' F2 TR F' TR U

  
  
  

    这个公式用来调角块位置和方向,也用来调奇偶的。从公式执行效果看,它交换FUL和BUL两个角块,也交换UL和DF两个边块,并且保持角块和边块的方向不变。

[ 本帖最后由 hubo5563 于 2010-9-6 19:41 编辑 ]
已有 1 人评分经验 收起 理由
谢老师 + 20 好帖,要学习,推广盲拧……

总评分: 经验 + 20   查看全部评分

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

2#
发表于 2010-9-4 18:24:11 |只看该作者
三、编码方案


     1
)基本编码




棱位置


UF


UL


UB


UR


FL


BL


BR


FR


DF


DL


DB


DR


棱颜色


蓝红


蓝白


蓝橙


蓝黄


红白


橙白


橙黄


红黄


绿红


绿白


绿橙


绿黄


棱编码


1


2


3


4


5


6


7


8


9


0


a


b




角位置:


UFL


UBL


UBR


UFR


DFL


DBL


DBR


DFR


角颜色


蓝红白


蓝橙白


蓝橙黄


蓝红黄


绿红白


绿橙白


绿橙黄


绿红黄


角编码


1


2


3


4


5


6


7


8





[ 本帖最后由 hubo5563 于 2010-9-6 10:38 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

3#
发表于 2010-9-4 18:25:20 |只看该作者
    2)操作编码
      操作编码:装入动作标记加基本编码
      棱编码为:如果需要反向加载,标志为负号;否则不加标志。
      角编码为:如果原位加载不加标志;如果需要顺时针转动加载,标志为正号;如果需要逆时针转动加载,标志为负号。
      3)操作码编码流程
          A)编棱块大循环码,从棱块缓冲区开始,定为编码位置,并假定上一编码无符号。
          B)编码位置是否缓冲块位置,如果是,循环结束,转步骤C;
      看编码位置的块应该是哪个位置的,该位置叫作下一位置,下一位置的序号为基本码,再看编码置块的块方向和上一编码符号,两者共同决定该位编码的符号,规则如下:
      如果编码位置块方向正确,上一编码无符号,基本码前无符号;
      如果编码位置块方向正确,上一编码为负号,基本码前加负号;
      如果编码位置块方向不正确,上一编码无符号,基本码前加负号;
      如果编码位置块方向不正确,上一编码为负号,基本码前无符号;
      该位编码完成,下一位置变为编码位置。
           转回步骤B。
        C)查看所有块有没有没编过的,如果都编过了,转步骤E;
        在所有没有编过的位置中,选最小号为小循环开始,如果这个位置的块就应该是在这个位置,并且方向正确,就不编这个位置码了,但该位置算编过码了,转回步骤C;
否则,该位置的位置编号为基本编码,不加符号。该位编码完成。该位置的块应该所在的位置为下一编码位置。
        D)看编码位置的块应该是哪个位置的,该位置叫作下一位置,下一位置的序号为基本码,再看编码置块的块方向和上一编码符号,两者共同决定该位编码的符号,规则如下:
如果编码位置块方向正确,上一编码无符号,基本码前无符号;
如果编码位置块方向正确,上一编码为负号,基本码前加负号;
如果编码位置块方向不正确,上一编码无符号,基本码前加负号;
如果编码位置块方向不正确,上一编码为负号,基本码前无符号;
该位编码完成。
再看编码位置是否是小循环开始位置,如果是,小循环结束,转步骤C;
否则下一位置变为编码位置。转回步骤D。
       E)棱块编码完成,检查编码个数,如果是偶数,无奇偶校正;如果是奇数,有奇偶校正。
        F)编角块码开始。如果没有奇偶校正,从缓冲区开始,如果有奇偶校正,从位置2开始,该位置定为编码位置,并假定上一编码无符号。
        G)编码位置是否缓冲块位置,如果是,大循环结束,转步骤H;
看编码位置的块应该是哪个位置的,该位置叫作下一位置,下一位置的序号为基本码,再根据块的方向编块的符号,方向正确,无符号;已经顺时针转了,为+号;已经逆时针转了为-号;再看上一编码符号,两者共同决定该位编码的操作符号,规则如下:
两个都为+,结果为-;两个都为-结果为+;两个一+一-,结果无符号;
两个其中一个无符号;结果取另一个的符号;
两个都无符号,结果也无符号。
根据上面规则定好该位编码符号,编码符号加基本码即为该位编码,该位编码完成,下一位置变为编码位置。转回步骤G。
       H)查看所有块有没有没编过的,如果都编过了,转步骤J;
否则,在所有没有编过的位置中,选最小号为小循环开始,如果这个位置的块就应该是在这个位置,并且方向正确,就不编这个位置码了,但该位置算编过码了,转回步骤H;
否则,该位置的位置编号为基本编码,不加符号。该位编码完成。该位置的块应该所在的位置为下一编码位置。
       I)看编码位置的块应该是哪个位置的,该位置叫作下一位置,下一位置的序号为基本码,再根据块的方向编块的符号,方向正确,无符号;已经顺时针转了,为+号;已经逆时针转了为-号;再看上一编码符号,两者共同决定该位编码的操作符号,规则如下:
两个都为+,结果为-;两个都为-结果为+;两个一+一-,结果无符号;
两个其中一个无符号;结果取另一个的符号;
两个都无符号,结果也无符号。
根据上面规则定好该位编码符号,编码符号加基本码即为该位编码,该位编码完成。
再看编码位置是否是小循环开始位置,如果是,小循环结束,转步骤H;
否则下一位置变为编码位置。转回步骤I。
       J)编码结束

    4)编码总结:
      1、先编楞块后编角块;
      2、先编大循环后编小循环
      3、大循环从缓冲区位置编,不编缓冲区
      4、小循环从任意没编过的位置开始,到这个位置结束,该位置开始也要编码,开始时编码无符号,最后也要编码,最后要根据规则编符号。
      5、编完楞块统计编码个数,个数是偶则角块大循环从缓冲区开始,个数是奇数则角块大循环从位置2开始,都到缓冲区结束。
      6、操作码的基本码是编码位上的块的块编码,操作码的符号是根据前一操作码的符号和该块方向符号决定。
         楞块编码规则是:
         两个有一个是负号,编码结果为负号,否则无符号。
         角块编码规则是:
         相同取反,相异变无,一个无符号,取另一个符号。两个无符号,结果无符号。
        不管棱块或角块,大循环和小循环的块的个数任意,当然有1的时候,此时,它的位置已经正确,如果方向也正确,就不参加编码了。否则要按规则编码。大循环由于起始缓冲区位置,头尾都不编,因此编码个数比循环块数少一,小循环头尾都要参加编码,因此,编码个数比循环块数多1。大循环如果只有缓冲区的一个,不管方向正确与否,都不编码,直接编小循环码。

[ 本帖最后由 hubo5563 于 2010-9-6 10:45 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

4#
发表于 2010-9-4 18:27:30 |只看该作者


       四、根据编码解魔方
        解魔方的过程分两步,第一步复原棱块。方法是根据编码的符号,采用不同的方法把要解决的棱块装到位置9,然后执行公式,再原路返回。执行公式后,位置2的棱块与位置9的棱块互换位置,位置2的棱块到位置9了,而位置9的棱块到位置2了。实际上由于执行公式前位置9的块是编码的块,因此,相当编码位置的块与位置2互换了。由于公式互换不改变互换的块的色向,反转块靠不同的装载方法做到。如果装载时也不改变色相,最终结果就不改变互换块的色向。如果装载时反装了,互换时两个块都要改变色向。
        由于采用的公式要改变UBL,UFL角块和UL以及DF棱块,其他位置的块不变。因此在复原棱块时,做装载就不能涉及UBL和UFL以及缓冲区位置UL,也就是这三个位置的东西不能动,否则将出错。同样在复原角块时,做装载就不能涉及UL和DF以及缓冲区位置UFL,也就是这三个位置的东西不能动,否则将出错。为方便,我构造了一个表,练习时看表装载,熟了就可不看表。表中很多3到4步,实际上都好理解,就是为了保护缓冲区和不能动的块。例如1号位置的块需要加载到9号位置,按最快应该直接转F2即可,但是这样将影响了UFL块,因此在转F2前先做L',转完F2再做L复原UFL位置,这样做公式操作就不会破坏UFL角块了。从表面看,装载表都不是一两步,难记,其实你实际练习就知道了,这些不用死记硬背,理解记忆就可以,只要时刻记住不破坏公式要动的其他块即可。
        解魔方的过程,就是根据操作编码,把要解决的位置调到加工位置,再做一次公式,然后按原路返回,此时要解决的块就复原了。角块也一样。
        熟练以后只需按照编码公式去做,只要编码正确,中间操作无误,最后就能将魔方复原。

魔方盲拧装载规范表.jpg
魔方盲拧装载规范表1.jpg

[ 本帖最后由 hubo5563 于 2010-9-6 18:55 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

5#
发表于 2010-9-4 18:28:58 |只看该作者

        五、实例
打乱公式为:CU CR' U2 R' U2 B' F' D B2 F2 D2 B D L' R D' U F' D' U'


  
  



先编棱块编码
      先编大循环:
  从2位置看起,2位置是红绿块,它应该是c位置上的块,并且方向相反,所以装9位置时用反向装入记为 -9
  9位置的块是绿黄块,它应该是c位置上的块,方向相反,与9位置编码方向相同,所以装c位置不需要反向装入,记为  c

  c位置的块是黄红块,它应该是8位置上的块,方向相反,与c位置的编码方向相反,所以装8位置需要反向装入,记为  -8
  8位置的块是白兰块,它应该是2位置上的块,2 位置是缓冲区,所以大循环结束。
      再编小循环, 随便找一个没有编过的块,比如1位置,作为小循环开始,循环开始都认为正向,编码1
     1位置的块是绿白色,应该是a位置上的快,方向正确,正向装入,编码记为a
     a位置的块是蓝橙色,应该是3位置的块,方向不正确,需要反向装入,编码记为-3
     3位置的块是绿橙色,应该是b位置的块,方向正确,上一个反装,这个也必须反装,编码计为-b
     b位置的块是红白色,应该是5位置的块,方向不正确,上个反装,这个就必须正装,编码记为5
     5 位置的块是红蓝色,应该是1位置的块,方向正确,上个正装,这个就必须正装,编码记为1,1是小循环开始,因此,
  至此这个小循环结束。
再编下一个小循环:
    在随便找一个没有编过的块,例如选取4位置作为小循环开始, 循环开始都认为正向,编码4
    4位置上的块为橙白色,应该是6位置的块,方向正确,上次正向装入,这次也正向装入,编码为6
    6位置上的块为橙黄色,应该是7位置的块,方向正确,上次正向装入,这次也正向装入,编码为7
    7位置上的块为蓝黄色,应该是4位置的块,方向正确,上次正向装入,这次也正向装入,编码为4
至此这个小循环结束。
到此所有棱块都编完了,棱块编码结束。
操作码为:
    -9 c -8 1 a -3 -b 5 1 4 6 7 4
    共有13个码,是个奇数,因此调完棱时应该做一次奇偶调整,就是调角那个公式。角编码应该从2位置开始。
    从第二角块编码,第二角块位置是绿橙黄色块,应该是第七位置上的块,方向是瞬时针转,第一位置认为方向正确,所以,加载位7块时,方向应该和这个块一致,应该顺时针加载所以编码为+7
    再看位7,是红蓝黄块,它应该是第4位置的块,方向是逆时针转,上个是顺时针转,这个是逆时针转,方向抵消,编码为4
    再看位置4,是红绿黄块,它应该是第8位置的块,方向顺时针转,上个是正常装入的,这个应该顺时针装入,编码为+8
    再看位置8,是蓝黄橙块,它应该是第3位置的块,方向正确,上个是顺时针装入的,这个也应该顺时针装入,编码为+3
    再看位置3,是蓝白橙块,它应该是第2位置的块,方向顺时针转,上个是顺时针装入的,两个顺时针,应该为逆时针,编码为-2
    由于做了奇偶转换,2位置应该是1位置的块,1位置的块是红绿白,它应该是5位置上的块,方向是逆时针转,上个是逆时针装入的,两个逆时针,应该为顺时针,编码为+5
    再看5位置,是红蓝白块,它应该是1位置的块,方向是顺时针转,至此大循环编码完成。
    因为还有没编过码的块,所以存在小循环,找一个没编过的块,只剩6位置了,因此6位自己构成一个小循环,它上的块如果方向正确,编码结束,但它是顺时针转,因此,先编码6,再按块编码+6
   编码结束。
角块编码为:+7 4 +8 +3 -2 +5 6 +6

整个魔方编码为:
棱块编码为: -9 c -8 1 a -3 -b 5 1 4 6 7 4
角块编码为:+7 4 +8 +3 -2 +5 6 +6

这里根据棱块编码:-9 c -8 1 a -3 -b 5 1 4 6 7 4 来复原棱块

做-9操作,复原9位置的红绿块


  
  
  
  
  
  
  
  

做c操作,复原c位置的黄绿块


  
  
  
  
  
  
  
  
  

做-8操作,复原8位置的红黄块


  
  
  
  
  
  
  
  
  



[ 本帖最后由 hubo5563 于 2010-9-6 19:03 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

6#
发表于 2010-9-4 18:30:58 |只看该作者
这里接着楼上继续根据棱块编码:-9 c -8 1 a -3 -b 5 1 4 6 7 4 来复原棱块

做1操作,小循环开始


  
  
  
  
  
  
  
  
  

做a操作,复原a位置的绿白块


  
  
  
  
  
  
  
  
  

做-3操作,复原3位置的蓝橙块


  
  
  
  
  
  
  
  
  

做-b操作,复原b位置的橙绿块


  
  
  
  
  
  
  
  
  

做5操作,复原5位置的红白块


  
  
  
  
  
  
  
  
  

做1操作,复原1位置的红蓝块


  
  
  
  
  
  
  
  
  


做4操作,另一小循环开始


  
  
  
  
  
  
  
  
  

做6操作,复原6位置的橙白块


  
  
  
  
  
  
  
  
  

做7操作,复原7位置的橙黄块


  
  
  
  
  
  
  
  
  

做4操作,复原4位置的蓝黄块


  
  
  
  
  
  
  
  
  

至此棱块编码做完了,魔方棱块都复原了,下面再复原角块




[ 本帖最后由 hubo5563 于 2010-9-6 18:54 编辑 ]

使用道具 举报

Rank: 2

积分
486
帖子
369
精华
0
UID
100498
性别

六年元老

7#
发表于 2010-9-4 18:31:18 |只看该作者
看不到!如下: 后面都看不到!

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

8#
发表于 2010-9-4 18:32:17 |只看该作者
这里接着按照角块编码:+7 4 +8 +3 -2 +5 6 +6复原角块

做+7操作复原角块DBR上的橙绿黄角块


  
  
  
  
  
  
  
  

做4操作复原角块UFR上的红蓝黄角块


  
  
  
  
  
  
  
  
  

做+8操作复原角块DFR上的红绿黄角块


  
  
  
  
  
  
  
  
  

做+3操作复原角块UBR上的橙蓝黄角块


  
  
  
  
  
  
  
  
  

做-2操作复原角块UBL上的橙蓝白角块


  
  
  
  
  
  
  
  
  

做+5操作复原角块DFL上的红绿白角块


  
  
  
  
  
  
  
  
  

做6小循环开始


  
  
  
  
  
  
  
  
  

做+6复原DBL的绿橙白角块


  
  
  
  
  
  
  
  
  

编码操作都做完了,整个魔方也复原了。



[ 本帖最后由 hubo5563 于 2010-9-6 16:47 编辑 ]

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

9#
发表于 2010-9-4 18:54:00 |只看该作者
另一个例子。                        。。

[ 本帖最后由 hubo5563 于 2010-9-6 15:48 编辑 ]

使用道具 举报

粉魔

【BLD】

Rank: 5Rank: 5

积分
3582
帖子
2767
精华
0
UID
1253011
性别

四年元老

10#
发表于 2010-9-4 19:01:10 |只看该作者
顶了再看......
Practice Makes Perfect - 007~

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-23 15:48

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部