(不妨先看8#楼的补充,沙发改为Java演示。)
献给所有尝试独自研究三阶魔方复原方法的人-逆操作思路复原魔方
当你尝试着撇开现有的公式,“闭门造车”地复原三阶魔方时,你一定会遇到重重困难。
当你克服重重困难,成功复原三阶魔方时(不管是侥幸成功,还是真抓实干),成就感溢于言表。
当你满怀喜悦地核对复原方法,以验证成果时,你会发现,无数前辈总结出来的方法、公式都超极简单。
三下五除二,旧貌换新颜。仿似各位大仙都练就了“还我漂漂拳”,魔方瞬间被“打”回原形。
这些前辈们是怎么想出如此精致的复原方法的呢?本人能力有限,还无法参悟其中的奥妙。不过,本人纵览百家后,加上自己的一点点小聪明,发现了(谈不上“发明”)一条羊肠小道——可以用逆操作的思路将魔方复原。利用逆操作对魔方进行微调,并利用多次微调来完成复原魔方的重任。
复原魔方,难就难在如何实现下一个目标而又不破坏原有的劳动成果。刚开始时,劳动成果比较小,可以随便拧。但是,伴随着“下一个目标”的不断实现,劳动成果越来越大。不破坏?谈何容易。本人在此用逆操作的思路复原魔方,就是为了保存劳动成果。大致步骤:先进行一番操作,而后将魔方的某一层旋转一个角度(90度或180度),紧接着将刚才的“一番操作”逆过来用,也就是进行逆操作。这样,原有的劳动成果便得以保存。
为了叙述方便,先做如下说明。将前文中的“一番操作”定义为前半程,则对应的“逆操作”为后半程,而中间的“某一层旋转”的操作定义为分界点。此外,前半程之前的调整操作定义为前调整,后半程之后的调整操作定义为后调整。综上,一个轮次的完整操作包括:前调整,前半程,分界点,后半程,后调整。其中的前调整、后调整视具体情况可省。
对公式进行大致说明。把六个面分别用不同的符号表示。将面向操作者的面称为“前(F)”;其他以此相对应的位置称为“右(R)、顶(U)、后(B)、左(L)、底(D)”。当所转动的那一面面向自己,顺时针转动90度时用字母表示,逆时针转动90度时用字母加'表示。当转动180度时,符号后加2。如:顺时针转动右面90度,记作R;逆时针转动右面90度,记作R';转动右面180度,记作R2或R'2(结果是一样的)。另外,T表示两层,C表示三层(整个三阶魔方),M表示中间层,S表示夹层(除去中间层的两层)。如:TR表示(从右向左看的前)两层顺时针转动90度,CR表示(从右向左看的前)三层顺时针转动90度。MU表示(从顶向底看的)中层(顶层与底层所夹的层)顺时针转动90度。MD表示(从底向顶看的)中层顺时针转动90度(与MU'的结果一样)。SF表示(从前向后看的)前层与后层顺时针转动90度(中层不动)。
三阶魔方由8个角块(8个角),12个棱块(12条棱)和6个中心块(六个面的中心)共26个块构成。由于中心块的位置是不变的,而角块与棱块之间是不能替换的,所以掌握了翻角、换角、翻棱和换棱的方法,复原传统的三阶六色魔方便不是一件难事了。本文用逆操作的思路总结出来的翻角(思路一)、换角、翻棱和换棱的公式都很干净,操作结束后无副作用。而分界点的操作分别采用U'、U和U2则能对不同位置的角块和棱块进行调换。再辅以一些简单的调整操作,则用逆操作的思路来复原魔方就算不上什么难事了。本文的复原路线:复原四个角块-复原八个角块-复原顶层与底层-复原中层-复原中心块。很明显,这是角先法的路线。
复原四个角块:将某一层的四个角块外加一个中心块复原,并将此层置于底部。这样的一个目标比较容易实现,不再赘言。(这里面包含了一些低级的“逆操作”思路,好好体会一下。)
此目标完成后,可尝试将棱块“塞入”合适的位置,以实现复原一层的目标。这样可以练习最基本的“逆操作”思路之一——侧面转-中层转-侧面转。
复原八个角块:这个目标的跨度有点大,本人将其分解为两个小目标:先进行翻角,后进行换角。
翻角:复原底层(或是只复原了底层的四个角块外加一个中心块)后,顶层四个角块中属于顶面的颜色的分布状态必然是图示中八种情形之一。其中的1号是翻角的目标。
这里有两种逆操作的思路。思路一是利用角块的顺逆时针方向的转动来翻角。思路二是将角块边旋转边移位。
思路一用于2号情形的参考公式:(FD'F'R'D'R)U2(R'DRFDF')U2 。
思路一比较好理解。2、3、4只须进行一个轮次的操作。5、6、7、8需进行两个轮次。
下面换个高难度的,用思路二来一次解决各种情形(只针对角先法,个别操作比较复杂)。
思路二的参考公式:
2.(F'R'DR)U'(R'D'RF)
3.(F'R'DR)U2(R'D'RF)
4.(F'DR'D'R)U'(R'DRD'F)
5.(FDF2D2F2D'F')U(FDF2D2F2D'F')
6.(FDF2D2F2D'F')U'(FDF2D2F2D'F')
7.(FDF2D2F2D'F')U2(FDF2D2F2D'F')
8.(F'DR'D'R)U2(R'DRD'F)
另外的,还有:
5.(F2LD'L'FD'F')U(FDF'LDL'F2)
6.(F2LD'L'FD'F')U'(FDF'LDL'F2)
(在公式前加个CR操作可能会好理解些。)
另外,7号情形有一种比较经典的逆操作思路:(R2U2)R(U2R2) 或 (R2U2)R'(U2R2) 。
换角:翻角后,顶层角块的位置分布状态必然是图示中的三种情形之一。其中的c是换角的目标。图示中的大写字母表示顶层角块位于侧面的颜色,相同的字母表示相同的颜色。初步分析,a中1、4互换,b中1、3或2、4互换即可。但是研究表明在保护劳动成果的前提下,用逆操作的思路无法实现上述目标,只好曲线救国:a中1、2互换而后1、3互换,b中1、2互换而后3、4互换。
参考公式:
a:(R'DRLD'L'R'DR)U(R'D'RLDL'R'D'R) 或 (FDF'LD2L'FD'F')U(FDF'LD2L'FD'F')
b:(R'DRLD'L'R'DR)U2(R'D'RLDL'R'D'R) 或 (FDF'LD2L'FD'F')U2(FDF'LD2L'FD'F')
复原顶层与底层:复原八个角块后,利用侧面转-中层转-侧面转的逆操作思路将合适的棱块放到合适的位置,即可实现目标。需进行多轮次的操作才能将八个棱块复原归位。公式从略。本人提供两条路线作参考。
路线一:先复原一层的三个,再复原另一层的三个,再将最后的两个复原归位。顶层的最后一个棱块与底层的最后一个棱块是同时复原归位的。“同时”意味着这两个棱块要摆成一个合适的形状。形状摆好后,“同时”复原将是一件轻松easy的事情。具体形状不好描述,画图要用到展开图。本人建议读者找个六面完整的魔方,从以下操作中体会如何“同时”复原最后的两个棱块(关键在于做出所需的形状)。
一个完整的魔方经第一段操作后,中层翻棱;经第二段操作后,又变成一个完整的魔方。
(R'MU'RMUR'MU'RMU2R2MU'R2MU'RMU2R'MU')2
(其实前层与后层的两个中心块都旋转了180度。开头的R'MU'R和结束前的RMU2R'很重要哦。)
路线二:先复原一层的三个,再复原另一层的四个,再将最后的一个复原归位。这个“补一刀”的思路比“同时复原”的思路好理解些,只是用逆操作的思路来补最后的一刀有点“牛刀杀小鸡”,“把简单问题复杂化”的感觉。
图示的Ⅰ,Ⅱ两种情形中,1、2号棱块的状态是不用关心的,要关心的是3号棱块以及3号棱块将要“入住”的层这二者的摆放位置关系。万一3号提前“入住”却头尾颠倒,则将其强行撵出。构思为1、2互换而后1、3互换。
参考公式(换棱公式):
Ⅰ:U(RMU'R'FMU2F'RMUR')U'(RMU'R'FMU2F'RMUR')
Ⅱ:U'(RMU'R'FMU2F'RMUR')U(RMU'R'FMU2F'RMUR')
复原中层:这个目标也要分成两个小目标:调棱和翻棱。这两个小目标不分先后,灵活处理。
调棱:侧面转180度-中层转90度(或180度)-侧面转180度。用于调整中层的棱块位置,使棱块与中心块的相同颜色靠近些,最好是紧挨着。一般只进行一轮操作即可。
翻棱:将图示中位于前面的中层的左右两个“相邻”棱块翻转(只翻转不换位)。
参考公式(执行CR操作后):(R'MUR2MU2R')U2(RMU2R2MU'R)U2
一般只进行一轮操作即可。如果不“相邻”,则在公式前加个180度的旋转操作(R2或L2),在公式后补个180度的旋转操作(R2或L2)。
复原中心块:将公式罗列如下(建议先看构思):
顶层中心块旋转180 度而其它层不改变:(LRU2L'R'U)2 或写成 (LRU2L'R')U(LRU2L'R')U
顶层中心块顺指针旋转90度,前层中心块逆时针旋转90度:(SFSLSU)F'(SU'SL'SF')U
顶层中心块逆指针旋转90度,前层中心块顺时针旋转90度:(SFSLSU)F(SU'SL'SF')U'
顶层中心块旋转180度,前层中心块旋转180度:(SFSLSU)F2(SU'SL'SF')U2
顶层中心块顺指针旋转90度,底层中心块逆时针旋转90度:(SRSF2SR)U(SR'SF2SR')D'
顶层中心块逆指针旋转90度,底层中心块顺时针旋转90度:(SRSF2SR)U'(SR'SF2SR')D
顶层中心块旋转180度,底层中心块旋转180度:(SRSF2SR)U2(SR'SF2SR')D2
以下是构思:
顶层中心块旋转180 度而其它层不改变的构思:将顶层除中心块之外的四周共八个块(围墙)两两组合分割(如图),先将1、3互换而后2、4互换。(换成此公式好理解些:(LRTD2L'R'U)2 。)
顶层与前层中心块旋转的构思:将顶层除中心块之外的“围墙”整体搬迁至前层,再将前层(“围墙”外加一个中心块)旋转一个合适的角度(不用记忆,看一下左边就知道该怎么转了),用逆操作将“围墙”整体迁回顶层。前半程是将顶层除中心块之外的“围墙”整体搬迁至前层,分界点是将前层旋转,后半程是将旋转后的“围墙”回迁。
同理可得出顶层与底层中心块旋转的构思。分界点的那下不用乱看,顶层怎么转则结果就是怎样。
第一个公式似乎有点不像逆操作的思路。其实不然。(LRU2L'R')U(LRU2L'R')U的结果与 (LRU2L'R')U(RLU2R'L')U 的结果是一致的。
结合具体情况,(重复)使用相关公式即可复原三阶图案魔方。
本人一般只用顶层与前层旋转的那三个公式,反复用。最后用第一个——原地旋转180度收尾。
逆操作的思路同样可以用于棱先法和层先法。
棱先法的棱块参考角先法(比较容易,有时候需要使用邻棱换公式),角块可轮番使用换角和翻角思路一的公式慢慢解决(较难)。
层先法的底层好解决,中间那层的思路是先分别复原两个“相邻”的棱块(换棱,注意各棱的位置),记作1、2号棱块,而后将3号棱块放到4号位(换棱),最后(补上最后的一刀)用4号棱块将4号位的3号棱块挤出并将3号棱块放到3号位。(最好先翻棱再换棱。)最后一层用翻角思路一、换角、换棱和翻棱的公式慢慢解决(比较容易)。
在此赠送对棱换公式:(LRMU2L'R')U(LRMU2L'R')U' 。
邻棱换公式参考“补一刀”的思路:(RMU'R'FMU2F'RMUR')U2(RMU'R'FMU2F'RMUR')U2 。
好了,以上便是用逆操作的思路来复原魔方的方法。与各位前辈铺就的高等级公路相比,这条羊肠小道实在是太逊了。由于整个过程反复使用逆操作的思路,所以在实战中受到限制,无法将其用于竞技比赛,只能在闲暇时练练脑子。本人写下此篇文章,并不奢望其中的方法在实战中有什么大作用。谨以此篇文章献给所有尝试独自研究三阶魔方复原方法的人。
给复原成功的人鼓掌,给仍在尝试的人加油,给有此意愿的人指路。
将文章中的公式(含括号)逐个复制到中国魔方吧首页的三阶魔方Java助手的“需执行操作”中,而后点击“确定提交”按钮后,再按播放按钮即可在线观看相应操作的演示。
友情链接地址:
http://mf8.com.cn/Java/3x3.html
[ 本帖最后由 migl 于 2009-2-18 10:20 编辑 ] |