魔方吧·中文魔方俱乐部

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

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

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

跳转到指定楼层
1#
发表于 2012-12-13 11:47:01 |只看该作者 |倒序浏览
本帖最后由 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楼的第五部分开始看。

     
已有 1 人评分经验 收起 理由
kexin_xiao + 20 赞一个!

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

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

2#
发表于 2012-12-13 11:48:13 |只看该作者
本帖最后由 hubo5563 于 2012-12-14 17:14 编辑

    一、认识魔方

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

     

















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

     

















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

     

















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

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

   











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

使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

3#
发表于 2012-12-13 11:49:22 |只看该作者
本帖最后由 hubo5563 于 2012-12-14 17:16 编辑

二、做底十字

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

   















有图案的也要照顾中心块的方向:



















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

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

   

















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



















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

   















有时简洁情况:

















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

   















或:

















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

例如:
   

















使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

4#
发表于 2012-12-13 11:50:36 |只看该作者
本帖最后由 hubo5563 于 2012-12-14 16:04 编辑

    三、复原底层三个角块

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

   















     

















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

   















   
   
    3:红白蓝角块不在顶层,那他一定在底层,如果它没有在目的地,或虽然在目的地但方向不对,此时,转侧面90度,把它转到顶层,再
转顶层把它转开,然后反向转侧面,此时就可转化成1或2的情况,此时再按1或2的情况来处理。这样可以把底层三个角块复原。

   















      
















使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

5#
发表于 2012-12-13 11:52:24 |只看该作者
本帖最后由 hubo5563 于 2012-12-14 16:03 编辑

    四、复原中层三个棱块

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


















     

















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

   















   

















使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

6#
发表于 2012-12-13 11:53:46 |只看该作者
本帖最后由 hubo5563 于 2012-12-17 16:00 编辑

五、剩余五个棱块的方向

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

   















或者是中层错位情况:

















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


















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

     

















       侧棱块如果在顶层,

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

   















   

































   

















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



















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

   















      















使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

7#
发表于 2012-12-13 11:55:29 |只看该作者
本帖最后由 hubo5563 于 2012-12-17 15:15 编辑

    六、调剩余棱块的方向

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

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

     

















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

     

















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

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

     
















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


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


     

















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


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

     

















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



使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

8#
发表于 2012-12-13 11:57:30 |只看该作者
本帖最后由 hubo5563 于 2012-12-17 15:37 编辑

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

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

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

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

   

















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

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

     

















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

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

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

   

















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

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

     

















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

     





















































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

使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

9#
发表于 2012-12-13 11:58:47 |只看该作者
本帖最后由 hubo5563 于 2012-12-14 16:00 编辑

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

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

   











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

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

   










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

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

     先看看它们的性质:

     “+2”操作:
      











     “-2”操作:

     










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


    “+3”操作:

      











     “-3”操作:

     











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

   











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

   











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

     











      











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

使用道具 举报

Rank: 8Rank: 8

积分
6797
帖子
2465
精华
79
UID
4618
性别

论坛建设奖 十年元老

10#
发表于 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”操作:

     

















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



















     

   










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













使用道具 举报

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

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

GMT+8, 2024-4-28 04:36

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部