主题:【文摘】+【原创】 怎样迅速拼好魔方的六面(层先法) -- 玫瑰灰
这篇帖子的源起,还是好几天前看到完颜陈和尚的帖子链接出处,聊着聊着聊到魔方不好拼。
本来其实是想借着Meissen魔方菜鸟教程(外链出处中的魔方还原文件夹点进去可以看到全文的图片版、pdf版等)直接说魔方的还原算法的。
出身厦门大学的Meissen写的这套教材,是我在学魔方过程中对我帮助最大的一套教材。
不过看起来这套教程还是有些繁杂,因为之前直接给人看,说还是看不懂。
那——就开主题帖单说吧。
在本贴中,大量借鉴了Meissen画的图和Meissen的原教程概念。
所以,基本上算文摘可能更好一点?
大概里面只有第一层的算法,算是我自己的原创了。
笑,感觉我自己的这个法子比Meissen的来得更简便易行,最重要是会容易理解。
魔方的还原方法有很多种。本文师从Meissen文,故仅拿最容易学会的层先法来下手。
不过即使这样,这也会是个很庞大的系列贴。目录大致如下:
一、一些关于魔方的基本概念链接出处
二、算法摘要链接出处(其实这一章的内容,从后面的章节名也可以看出来了)
三、魔方的基础旋转手法链接出处
四、第一层的还原(1.顶层十字的棱块)链接出处
五、第一层的还原(2.顶层四角的角块)
六、第二层的还原
七、第三层的还原(1.顶层十字)
八、第三层的还原(2.对好十字)
九、第三层的还原(3.四角归位)
十、第三层的还原(4.四角对好)
先列着目录在这,我慢慢写吧。
说到魔方,大家都知道这是个任意旋转的3*3*3的小正方体块构成的大正方体。
——但是且慢,魔方任意旋转的时候,这些色块是“任意”旋转的么?
仔细看看魔方的构造。
从立体几何上说,一个大正方体是可以由27个小正方体构成。
魔方就是这样一个结构,只不过最中心的那个小立方体因为边上都有阻隔所以看不见(实际在制作魔方的时候,这个小立方体被一个转轴芯代替了),所以实际在魔方还原中我们需要涉及的就是26个小正方体。
大正方体一共六个面,每面3*3个颜色片。
而这周围的26个小立方体,随位置不同,有的能露出三个颜色片,有的能露出两个颜色片,有的只能露出一个颜色片。
用魔方术语来说,含有三个颜色的小正方体是“角块”(3色块),处于魔方的八个角,魔方上一共有8个角块。
只有一个颜色的小正方体是“中心块”(单色块),处于魔方每个面的中心,共6个。
剩下的含有二个颜色的小正方体是“棱块”(2色块),处于角块与中心块之间,共12个。
图中被标为彩色的,就是对应的角块、棱块和中心块。
显然的,无论你怎么转动,角块只能转到角块的位置上,棱块只能转到棱块的位置上。
而六个中心块的相对位置,无论你怎么转动,它都是不会改变的。
那么,所谓的魔方还原六面,其实就是把对应的棱块和角块分别放到它应该待的地方(这个概念非常重要!后面的算法就是这么引申过来的)。
本帖一共被 1 帖 引用 (帖内工具实现)
在还原魔方的时候,大家之所以会挠头,拼好了一面再拼第二面的时候,往往又把第一面给破坏了。其实原因就出在算法问题上。
所谓庖丁解牛,未尝见全牛也。
拼魔方的科学的方法,在还原过程中是无视于“面”的存在的,而要用我们在前面说的“块”的概念来考虑。
前面说了,所谓的魔方还原六面,其实就是把对应的棱块和角块分别放到它应该待的地方。
那么,用块来还原层,一块一块的往上拼,咱就得讲个规矩,看是先放哪个后放哪个了。
当你要垒一个立方体,你能想到最简单的办法是什么?
显然是一层层的从下往上搭上来,就像砌房子一样。
只不过砌房子是砖头上糊点水泥直接往上放,
咱们还原魔方是通过每一步都不破坏之前搭好的层的方式来旋转,把需要的块旋转到该放的地方。
于是在各种魔方还原算法的分类中,这种方法就叫“层先法”,是入门级的最简单选择。
图中灰色的是尚未还原完毕的、混乱的色块。
按照这个图示步骤可以看出来,
总的算法,简单的来说,就是先拼好魔方的第一面(图中柠檬黄色的那一面),
然后把魔方翻180°过来放着。拼好的这面就是底面,基础的基础。
拼的时候不仅仅是看它所在这一面的颜色,还要兼顾到每个小立方体另外几面的颜色位置。
这样,当正确的拼好第一面所有立方体的位置后,翻过来看,魔方的第一层也应该同时拼好了(图中立方体侧面的蓝橙绿红四种颜色)。
然后再按照算法的步骤一步步拼第二层、第三层……
直到三层都砌好,整个魔方自然就还原完毕了。
本帖一共被 2 帖 引用 (帖内工具实现)
无规矩不以成方圆。
手里拿着一个魔方,东摆西转的,要想描述清楚怎么旋转的方式自然需要事先约定好一个坐标系。
一种标准六色魔方摆放方法是:当顶面(Up)为白色,前(Front)为蓝色时,则右面(Right)为橙色,后面(Back)为绿色,左面(Left)为红色,底面(Down)为黄色。Meissen的方法里,所有的示意图都是基于这个为基础的。
如图所示:
确定六个面的颜色,其实就是在一开始就确定了六个中心块的位置。
按照我们在基本概念里面说过的,转动中心一层,其实等价于把两边的两层逆向旋转。
在师从Meissen的那套算法中,是完全不会用中心层转动(从而中心块的位置始终保持不变),仅用六个面的两边操作。
记号如下:
网上流传的一些魔方口诀,比如“下右逆左顺上”之类的,其实也就是用文字来描述这个图中示意的F, F'等操作。
在Meissen方法中,后面的公式里会出现一些用括号括起来的操作顺序。这些括号仅仅是一种手法记号。
手法的意思就是说括号中的那些步骤是可以连起来一起转好的。
实际拿个魔方转转你就会发现,这些步骤一起转的时候手法会格外的顺——利用这种方式也会有效的加快你转魔方的速度。
在我改良的第一层还原手法中,还增加了一个对魔方中间纵列层的旋转操作。
本帖一共被 1 帖 引用 (帖内工具实现)
拆下来,重新装上。
下面两层好办,最难的就是上面一层,不过,这是有口诀的,当然,现在是早就忘了。
我认识一位数学老师,一边用纸笔计算,一边完成6面。
最好达到下两层不用背口诀也能拼的地步
上面那一层好几个口诀呢——而且我也没理解到能解释清楚的地步,还是搬Meissen的口诀法子算了。
我也没进过1分钟,最经常锻炼那阵子也就是1分挂单的成绩。囧。
在魔方小站看着大家都是几十秒的,被打击死了……
ps.拆下来装的话一定要小心。
装六面同色无所谓,但如果对安装的花色控制不当,有可能会装出一个靠旋转永远无法还原的魔方来,那就糟之糕也了。
第三层是有点复杂,如果运气好的话,可以少好几个步骤,但是貌似俺以前测时间的时候,从来没有遇到过。
1分多钟算是不错了,以前在那些同学中,俺是最快的。但是过了那劲头之后,基本就再也没有碰过魔方。
你后面的<关于魔方的基本概念><算法><基础旋转收发>每一个都最好回复在你第一个主题下.然后每更新一个,在第一主题帖子里添加链接.或者以速拼魔方为系列,分别添加(一)(二)(三)(四)等列队作为后续帖子的标题.
添加链接是先进第一主题帖修改,点表情符号上面的链接,出现[URL=]添加你后续帖子的url即可[/URL]
这样你文章的后续才不会被人忽略.
每个新发的主题帖子也可以添加个人公告里,方便通知好友