魔方吧·中文魔方俱乐部
标题: 一个棱先法实例及其解法详解(已完成) [打印本页]
作者: 寒水 时间: 2007-9-14 00:38:28 标题: 一个棱先法实例及其解法详解(已完成)
<P>棱先法,顾名思义,就是先还原棱部分,后角块</P>
<P>下面是棱部分的还原方法演示</P>
<P> </P><applet codebase="3" height="300" width="300" code="RubikPlayer.class"><param value="SupersetENG" name="scrptLanguage"/><param value="U2 R F R TU' B' CU U R U' R' CU R U' R' R' U2 R CU2 F' U F R U' R' F' U F U' R U2 R' U' " name="scrpt"/><param value="4,3,5,5,0,0,1,5,2" name="stickersFront"/><param value="4,3,3,1,1,1,0,2,3" name="stickersRight"/><param value="0,1,1,2,2,4,2,5,2" name="stickersDown"/><param value="5,4,4,2,3,5,4,4,1" name="stickersBack"/><param value="5,0,0,0,4,3,3,3,5" name="stickersLeft"/><param value="3,0,1,2,5,4,2,1,0" name="stickersUp"/></applet>
<P align=right><FONT color=#000066>[此贴子已经被作者于2007-9-14 2:38:17编辑过]</FONT></P>
[ 本帖最后由 寒水 于 2007-11-23 13:11 编辑 ]
作者: 寒水 时间: 2007-9-16 21:20:17
还原角块部分,用的是角块3置换。
作者: 寒水 时间: 2007-9-16 21:38:18
详解会在后面陆续到来
作者: 寒水 时间: 2007-9-25 15:48:03
解法
第一步,架底层十字,第二步,还原中层3个棱块,第三步,架顶层十字同时还原中层第4个棱块,第四步,用角块三置换还原角块。
第一步不再赘述。
第二步,用到两个很小的公式,也可以说不是公式 F' U F和 R U' R' 分别对应下面两种情况
作者: 寒水 时间: 2007-9-25 16:13:48
要注意的是,第二层只需要还原3个棱块,留下一个缺口为顶层架十字服务。
在上面的例子中,第一个还原的棱块是白绿棱块,第二个是黄绿棱块,第三个是黄蓝棱块,状态如下
刚好,中层最后一个棱块,白蓝棱块位于顶层,满足条件。如果它位于中间层,无论颜色是否已经正确了,都把它移到顶层去!
作者: 寒水 时间: 2007-10-2 01:31:00
好了,在此基础上,我们要进行顶层十字的构造了,从一开始到十字成型,通常有3步需要我们来完成
第 1、先令顶面有3个棱顶色(和顶层中心块一样的颜色)向上,同时,尚有一个拥有顶色的棱块位于中间层。采用最简单的转法:R Ux R' 和 F' Ux F(Ux 是一个变量,具体取值范围:U U' U2),至于用前者还是用后者,就取决于中层缺口处那个棱块了,如果它的顶色位于F面,那么用前者:如果黄色位于R面,则用后者
如下图 红色(即顶色)位于F面,因此用R Ux R' 将顶色摆上
而这种情况,红色在R面,于是要用F' Ux F
于是,我们可以用这方法来完成第 1 步了
[此贴子已经被作者于2007-10-2 20:11:02编辑过]
附件: [一个棱先法实例及其解法详解(未完成,请不要回复!)] cndIIO1G.bmp (2007-10-2 01:20:46, 73.05 KB) / 下载次数 1
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTA1Mjd8NjBjZjg3ODB8MTczMjQ0NDE5MXwwfDA%3D
附件: [一个棱先法实例及其解法详解(未完成,请不要回复!)] LHtlqfPz.bmp (2007-10-2 01:24:05, 82.74 KB) / 下载次数 0
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTA1Mjh8MzgxMjNjOGZ8MTczMjQ0NDE5MXwwfDA%3D
作者: 寒水 时间: 2007-10-2 01:51:24
第2步,令顶层3个棱块相对位置正确,如何理解?上一楼魔方最后的状态:顶层有3个顶色向上的棱块,其中红白、红黄两棱块相对,因此可以认为相对位置正确,那么红绿棱块就是落在错误的位置了,那个位置是红蓝棱块的。
故而,要用红蓝棱块替换掉红绿棱块,于是乎,红白、红黄、红蓝3棱块相对位置就正确了。
如图,由于红蓝棱块替换了红绿棱块之后,顶层3棱块相对位置已经正确,因此要用不含顶色的那个棱块让红绿棱块替换(此时顶十字已经形成),然后判断是否需要校正(如果底十字被破坏了,就需要校正了)。
判断结果,无须校对,第3步校对被跳过,棱块部分全部完成。
[此贴子已经被作者于2007-10-2 20:12:50编辑过]
作者: 寒水 时间: 2007-10-2 01:53:52
上一楼的最后,再做一个U',6面十字就全部完成了
那么,如果遇到的是这种情况,又该如何解决呢?
很明显,这就是需要校正的情况了,顶十字是完成了,但是,底十字被破坏。
正解是:上图最后两步不做,也就是将魔方转到下图初态时便停止,进行校正。
只须再做一个 U2 ,6面十字就大功告成了
[此贴子已经被作者于2007-10-2 20:48:45编辑过]
作者: 寒水 时间: 2007-10-10 23:56:05
总结一下,在做顶层十字的时候,要满足一个条件:在顶十字形成之前,不管任何情况,中间层第4个棱块都必需留在顶层。
在做第1步时,根据中间层那个带红色的棱块来决定采用F'还是R,若顶层没有一个顶色向上,则任选一个给它替换,然后恢复底十字,要注意满足上述提到的条件,之后都用带顶色向上的棱块给中间层的棱块替换,直到顶层有3个顶色向上的棱块,随后转入第2步,首先看位于中层的那个顶层棱块,看它应该和哪个棱块相对,就将它转到该棱块对面,此时,把被调走的目前位于中间层的棱块转回它应在的位置,以此类推,直至顶十字形成。
第3步,确认是否需要校正。若此时底十字完好,则无须校正;若底十字被破坏,则需要校正。
如何校正?1、恢复底十字,此时顶十字被破坏,顶层只有3个棱块完全正确由这3个棱块构成一等腰三角形,以这个等腰三角形的任一底角为1号,顶角为2号,另一个顶角为3号,顶层剩下的那个棱为4号(如图),用中间层的棱块替换1号块,1号块替换2号块,2号块替换3号块,3号块替换4号块,这时候,顶十字和底十字同时形成,校正完毕,只须再根据实际情况转动顶层就可以形成6个十字了。
[此贴子已经被作者于2007-10-10 23:56:40编辑过]
附件: yNZiadgK.jpg (2007-10-10 23:56:33, 5.2 KB) / 下载次数 0
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTA2MTh8Y2RiNjhmZmR8MTczMjQ0NDE5MXwwfDA%3D
作者: 寒水 时间: 2007-11-14 00:58:18
角块的还原,用到的是角块3置换。根据参与置换的3个角位置分布的多样化,有着不同的过程,但是万变不离其宗,孙猴子不论怎么变,还是孙猴子滴……于是乎,角块3置换可以表示为f(a)=a Ux a' Ux'。我知道,你要告诉我你一头雾水,不怕,接着看下去,你会明白的!
作者: 寒水 时间: 2007-11-14 00:59:51
郁闷,发不了java图了
作者: 乌木 时间: 2007-11-14 22:42:19
<P>原帖由 <I>寒水</I> 于 2007-11-14 00:59 发表 <A href="http://bbs.mf8-china.com/redirect.php?goto=findpost&pid=58966&ptid=4383" target=_blank><IMG alt="" src="http://bbs.mf8-china.com/images/common/back.gif" border=0></A> 郁闷,发不了java图了
</P>
<P> </P>
<P>没事,可以发。请见:<A href="http://bbs.mf8-china.com/viewthread.php?tid=229&extra=page%3D1&page=29">http://bbs.mf8-china.com/viewthread.php?tid=229&extra=page%3D1&page=29</A> 的285楼站长的指点。</P>
作者: 寒水 时间: 2007-11-23 00:34:23
先看一个例子,在这个例子中,有3个角块需要移位,其中一个在底层,另外两个都在顶层,我们不妨设位于底层的白红蓝角块为1号,白红绿为2号块,剩下的(即白橙绿)为3号,为达到还原魔方的目的,我们需要令1号替换2号,2号替换3号,3号替换1号,这便是所谓的角块3置换了。
<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="L D' L' U L D L' U' ">
<param name="stickersFront" value="1,0,0,0,0,0,0,0,4">
<param name="stickersRight" value="2,1,1,1,1,1,5,1,1">
<param name="stickersDown" value="2,2,0,2,2,2,2,2,2">
<param name="stickersLeft" value="4,4,0,4,4,4,4,4,4">
<param name="stickersUp" value="5,5,5,5,5,5,5,5,1">
</applet>
作者: 寒水 时间: 2007-11-23 00:35:07
下面我们来看看,什么样的情况就符合角块3置换的要求。<FONT color=red>首先一定要有3个角块参与移位</FONT>(废话,不是3个,还叫3置换?);<FONT color=red>其次,要有一个角块在底层,另外两个在顶层</FONT>;第3,没了…… 再接下来,我们来看看,应该怎么给参加3置换的3个块进行编号。1号就给在底层那个了,为什么?我喜欢!2号呢?就给位于1号目的地的那个了(现在不是我喜欢了,是1号喜欢),3号就……不用我说了吧。 对3置换理解得透彻了,就可以做到真正意义上的无公式化了。 为什么这么说?因为,在这一部分,所用到的,都是还原第一层的做法以及相应的逆步骤。第一层的做法,不算公式了吧?因此,对应的逆步骤,也不算拉!
[ 本帖最后由 寒水 于 2007-11-23 02:16 编辑 ]
作者: 寒水 时间: 2007-11-23 00:39:36
<P>回头看一看例子,其中L D' L'就是把1号块还原到第一层的做法,U把3号块移到原本2号块的位置,L D L'是L D' L'的完全逆转。相应地,L D' L'就相当于f(a)=a Ux a' Ux'里面的a,L D L'就相当于a'。是不是有点印象了?a其实就是方程里面的未知数,可以变来变去的,就像孙猴子那样拉!那Ux,Ux'又代表什么呢?Ux意思就是说,可以选跟U有关的任何一种情况,即U U' U2的其中一种,也就是说Ux也是可以变的。这样一来,孙猴子变,a也要变,Ux也要变,你变我变大家变,就变出了好多好多种情况了,就把大家忽悠得晕忽忽了……@_@</P>
<P> </P>
<P>还是不明白吗?那我们再来看一个例子吧</P>
<P> </P><applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="R' D' R U' R' D R U ">
<param name="stickersFront" value="2,0,4,0,0,0,0,0,0">
<param name="stickersRight" value="0,1,1,1,1,1,5,1,1">
<param name="stickersDown" value="2,2,1,2,2,2,2,2,2">
<param name="stickersLeft" value="4,4,0,4,4,4,4,4,4">
<param name="stickersUp" value="5,5,5,5,5,5,1,5,5">
</applet>
<P>这里的R' D' R就相当于a了,R' D R相当于a'。</P>
<P><BR>画面跳转:<BR>A说:悄悄地告诉你一声,背下f(a)=a Ux a' Ux'这式子的人是大笨蛋……B说:(用个发火的表情),那楼主还写出来干什么,不是找打么!楼主:冤枉啊大哥,我写这个式子,不过是为了方便将角块3置换的规律表达出来而已啊……那个,各位兄弟姐妹啊,听我说一句,那个式子就不要记拉,记得你还原第一个角块时,用到哪3步才是王道!因为,你还要根据这3步,做出完全逆转来,不记住会做么?</P>
作者: 寒水 时间: 2007-11-23 01:14:11
<P> </P>
<P> </P>
<P> </P>
<P> </P>
<P>为了做到无公式化,在还原角块的时候,就要令角块归位的同时,色向也正确,这样,就可以省了翻角色的公式了,也就不用记公式了<BR>如何在这简单的8步中,达成我们伟大的心愿呢?这就关系到块的选择问题了<BR>看楼上,<FONT color=red>1号块的目标色(红色)和目标平面(红色中心块所在平面,也就是顶面)垂直,2号块的目标色和目标平面是同一个面</FONT>,这样,就可以令1、2号角块归位的同时,色向正确</P>
<P>在选择参与3置换的3个角块时,只要满足上面红色字体所表述的两个条件,就必定会有两个角块在归位时色向正确!</P>
<P>如果两个条件不能同时满足呢?呃,那我们就退而求其次吧,只有一个也可以啊,总比没有好吧?</P>
作者: 寒水 时间: 2007-11-23 01:33:30
<P> </P>
<P>废话少说,我们赶紧来分析一下2楼的例子,经过观察,发现没有同时满足条件的情况,于是,就只好只令一个归位并色向正确了,这个角块就是<FONT size=5><FONT color=yellow><STRONG>黄</STRONG></FONT><FONT color=red>红</FONT><FONT color=seagreen>绿</FONT></FONT>角块了,此时它是作为2号块的,而1号块,就随便拉个过来吧,如果有位置正确但色向错误的块,那是适合到不能再适合的了</P>
<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="CU CF' R' D' R U2 R' D R U2 ">
<param name="stickersFront" value="3,4,1,4,4,4,5,4,2">
<param name="stickersRight" value="2,0,3,0,0,0,4,0,3">
<param name="stickersDown" value="1,2,0,2,2,2,1,2,5">
<param name="stickersBack" value="2,1,0,1,1,1,1,1,2">
<param name="stickersLeft" value="5,3,5,3,3,3,0,3,0">
<param name="stickersUp" value="4,5,4,5,5,5,4,5,3">
</applet>
作者: 寒水 时间: 2007-11-23 01:45:45
<P>哇噻,运气不错</P>
<P> </P><applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="CU' CR2 R' D' R U R' D R U' ">
<param name="stickersFront" value="3,0,4,0,0,0,2,0,5">
<param name="stickersRight" value="2,2,1,2,2,2,0,2,1">
<param name="stickersDown" value="1,4,4,4,4,4,3,4,5">
<param name="stickersBack" value="0,3,3,3,3,3,0,3,5">
<param name="stickersLeft" value="5,5,4,5,5,5,4,5,3">
<param name="stickersUp" value="1,1,2,1,1,1,2,1,0">
</applet>
作者: 寒水 时间: 2007-11-23 01:58:24
<P>这里和原例有点不同的地方,改进了一下,至少少了做一步</P>
<P>因为2号块的目的地并不在顶层,并且顶层存在一个位置正确但色向错误的角块,于是它很不幸地被拿来开刀……那个……做了3号块</P>
<P> </P><applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="CF L D L' U2 L D' L' U2 ">
<param name="stickersFront" value="1,2,2,2,2,2,1,2,2">
<param name="stickersRight" value="0,0,0,0,0,0,1,0,3">
<param name="stickersDown" value="2,1,3,1,1,1,1,1,2">
<param name="stickersBack" value="5,5,4,5,5,5,4,5,5">
<param name="stickersLeft" value="5,3,0,3,3,3,3,3,0">
<param name="stickersUp" value="3,4,4,4,4,4,5,4,4">
</applet>
作者: 寒水 时间: 2007-11-23 02:08:09
<P>这个和17楼有点类似</P>
<P> </P><applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="CR' CU' R D2 R' U2 R D2 R' U2 ">
<param name="stickersFront" value="2,2,1,2,2,2,4,2,2">
<param name="stickersRight" value="5,4,2,4,4,4,4,4,4">
<param name="stickersDown" value="3,0,0,0,0,0,3,0,0">
<param name="stickersBack" value="1,5,5,5,5,5,5,5,4">
<param name="stickersLeft" value="1,1,1,1,1,1,2,1,5">
<param name="stickersUp" value="3,3,0,3,3,3,3,3,0">
</applet>
作者: 寒水 时间: 2007-11-23 02:24:17
<P>根据角块3置换的基本要求,即一个角块在底层,两个在顶层,这最后的3个角块,1号块的确定有两种选择,一是选择白红绿作为1号,另一种选择是把白橙绿当作1号,很明显,选择白橙绿作为1号时,两个条件(第16楼提到的)同时满足,那么,我们的选择是……? 当然选白橙绿拉,傻子才选白红绿呢!</P>
<P> </P><applet code="RubikPlayer.class" codebase=3 width="300" height="300">
<param name="scrptLanguage" value="SupersetENG">
<param name="scrpt" value="CR2 CU' L D L' U2 L D' L' U2 ">
<param name="stickersFront" value="2,1,1,1,1,1,4,1,1">
<param name="stickersRight" value="3,3,3,3,3,3,3,3,0">
<param name="stickersDown" value="2,2,2,2,2,2,2,2,1">
<param name="stickersBack" value="4,4,4,4,4,4,5,4,4">
<param name="stickersLeft" value="0,0,0,0,0,0,0,0,3">
<param name="stickersUp" value="5,5,5,5,5,5,1,5,5">
</applet>
作者: 寒水 时间: 2007-11-23 02:32:40
此帖至此告一段落。
睡觉去,早安
作者: popopopolo 时间: 2007-11-23 13:43:01
先顶一下,明天再继续看...^_^
作者: 剪刀石头布 时间: 2007-11-25 20:54:05
汗~~看不到图撒~~~
作者: 寒水 时间: 2007-11-26 20:26:39
装java虚拟机就可以看到了
作者: 0萧枫0 时间: 2007-11-26 22:15:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 寒水 时间: 2007-11-27 13:36:59
<P>原帖由 <I>0萧枫0</I> 于 2007-11-26 22:15 发表 <A href="http://bbs.mf8-china.com/redirect.php?goto=findpost&pid=60810&ptid=4383" target=_blank><IMG alt="" src="http://bbs.mf8-china.com/images/common/back.gif" border=0></A> 呵呵~终于完成了哦~两个月了~
</P>
<P>呵呵,一直在为怎么表达烦恼,所以就没发了</P>
作者: 剪刀石头布 时间: 2007-12-22 16:22:26
老寒啊~~没人来光顾你啊~~
我再帮你DD
作者: 寒水 时间: 2007-12-24 18:48:19
这个区很少人来,看了回帖的人就更少了
作者: popopopolo 时间: 2007-12-30 16:02:01
确实如此,再帮你顶顶~~
作者: clementchen 时间: 2008-2-16 22:57:30
呵呵 我原来也想弄一个来着 没想到你已经弄出来了 差点重了 不过还是你的思路要好些
作者: xiaoyi0815 时间: 2008-3-13 16:45:57
好深呀!基本上只看得懂前面!
作者: 寒水 时间: 2008-3-19 13:18:21 标题: 回复 32# 的帖子
从哪一部分开始就看不懂了?也许我能为你效劳
作者: leejjhhh666 时间: 2008-4-30 22:41:56 标题: 一个棱先法实例及其解法详解(已完成)
我以为解说的还不够明白,因为我想得到的角块3还原疑惑问题仍然没有得到解决.比如三个角块转来转去,总是到位,但不归位.我始终没有得到窍门
作者: ☆紫§薰☆ 时间: 2008-5-8 19:45:41
做到最后2~3个角块时,有些情况不会做……请教一下解法>w<
[ 本帖最后由 ☆紫§薰☆ 于 2008-5-8 19:46 编辑 ]
附件: [没办法同时满足1、2号块。做一次以后剩2个位置正确但色向错误的角块] 1.jpg (2008-5-8 19:45:41, 21.56 KB) / 下载次数 0
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTYzNTN8NGNjZWQ4NGF8MTczMjQ0NDE5MXwwfDA%3D
附件: [只剩2个位置正确但色向错误的角块] 2.jpg (2008-5-8 19:45:41, 20.99 KB) / 下载次数 0
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTYzNTR8ZDg1YmUyZWN8MTczMjQ0NDE5MXwwfDA%3D
附件: [同上] 3.jpg (2008-5-8 19:46:52, 24.15 KB) / 下载次数 0
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTYzNTZ8N2YwZjE5MDl8MTczMjQ0NDE5MXwwfDA%3D
作者: kexin_xiao 时间: 2008-5-8 20:02:57
学习了,但感觉明显会不如CFOP快
作者: 寒水 时间: 2008-6-24 00:15:29
回35楼对于第一张图的情况,我的做法是D'B(F'D2F U F'D2F U' )B’ D。其中D' B是构造的步骤,括号中的步骤进行三置换,B'D还原构造的步骤。
对于第二和第三,可以用某一个位置和颜色都正确的角块参与三置换,得到三个位置错误的块,然后再根据实际情况进行解决。
作者: 寒水 时间: 2008-6-24 00:19:28
时间关系,34楼那位兄弟的问题改天再回答,抱歉
作者: 寒水 时间: 2008-11-29 14:32:32
回34楼,我原本的想法就是,写给有一定基础的人看,所以我才发到这个区来的,而不是发在菜鸟入门区。
现在看来,我确实写得挺差,目前正在更新,准备写成可打印版,图片都是静态的了。本贴或许不准备再编辑了。
[ 本帖最后由 寒水 于 2008-11-29 14:33 编辑 ]
作者: 寒水 时间: 2009-1-2 19:03:45
原帖由 leejjhhh666 于 2008-4-30 22:41 发表
我以为解说的还不够明白,因为我想得到的角块3还原疑惑问题仍然没有得到解决.比如三个角块转来转去,总是到位,但不归位.我始终没有得到窍门
这位朋友,你要么没有看第16楼,要么看了但没记住,要么记住了但不理解,哈哈,仔细研究一下吧,什么都要说清楚,就没意思拉,嘿嘿
作者: 600690 时间: 2009-1-8 19:35:18
作者: lovelesszhou 时间: 2009-8-25 14:06:15
为什么 十字做完之后的JAVA都看不见了?都是代码T T 我想学啊 可是看不到 谁能帮帮我T T
欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) |
Powered by Discuz! X2 |