ayi2000 发表于 2004-8-24 11:01:13

ayi的魔方复原方法(角先)

<P>正式介绍之前俺先罗嗦两句,这个方法是俺上高三时候琢磨出来的,俺自小学到高二始终停留在两层水平毫无进展,时至高三终于打通任督二脉……
此方法不适合快速复原,只适用于不想记太多公式又想体验一下复原六面快感的初学者。按照此套方法复原,手法熟练者勉强3分钟。</P>
<P><B>一、基本位置</B> 要玩魔方就必须明白几个基本位置的旋转。</P>
<P><B>角块</B></P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD>1.1</TD>
<TD>1.2</TD>
<TD>衍生1</TD>
<TD>衍生2</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="B3D3B1"><PARAM NAME="pos" VALUE="ddggggggeggggggfffeeeeeeeegbggbggggbggggggdggaaagggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="D1R1D3R3"><PARAM NAME="pos" VALUE="ddggggggeggggggfffeeeeeeeegbggbggggbggggggdggaaagggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="B3D2B1D1"><PARAM NAME="pos" VALUE="ddggggggbggggggfffeeeeeeeegbggbggggdggggggeggaaagggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="B3D3B1D1"><PARAM NAME="pos" VALUE="ddeggggggggggggfffeeeeeeeebbggbggdgggggggggggaaagggggg"></APPLET></TD></TR>
<TR>
<TD>r' d' r</TD>
<TD>d f d' f'</TD>
<TD>r' d2 r d</TD>
<TD>r' d' r d</TD></TR></TABLE>
<P><B>说明:</B>
公式1.1(公式1.2)的初始状态是角块最基本的位置,此位置复原方法有两种(公式1.1、公式1.2),这是最基本的转法,不用做过多说明。
角块除了上面的基本位置之外,还有两个衍生位置(衍生1、衍生2),我们可将其旋转至基本位置,然后按照公式1.1或公式1.2进行复原。</P>

<P><B>楞块</B> </P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD>1.3</TD>
<TD>1.4</TD>
<TD>1.5</TD>
<TD>衍生3</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="F3B1R2F1B3"><PARAM NAME="pos" VALUE="dddggggggggggggfffeeeeegeeebggggbbgggggegggggaaagggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="F3B1R1F1B3"><PARAM NAME="pos" VALUE="dddgggggggeggggfffeeeeegeeebgggggbgggbgggggggaaagggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="R3U1D3F1U3"><PARAM NAME="pos" VALUE="dddgggggggggbggfffeeeeegeeebgggggbgggggggggggaaaeggggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="F3B1R3F1B3D1"><PARAM NAME="pos" VALUE="dddggggggggggggfffeeeeebeeebggeggbgggggggggggaaagggggg"></APPLET></TD></TR>
<TR>
<TD>l' r f2 l r'</TD>
<TD>l' r f l r'</TD>
<TD>f' u d' l u'</TD>
<TD>l' r f' l r' d </TD></TR></TABLE>
<P><B>说明:</B>
楞块的基本位只有三(公式1.3、公式1.4、公式1.5)
公式1.3 是目标块(橙蓝)位于正确位置正下方(位于下层底面,与顶面相对)的复原方法,其思想就是将左右两侧色块闪开,目标块旋转至正确位置,再将两侧色块退回原始位置。
公式1.4 与公式1.3类似,目标块(橙蓝)位于下层侧面,同样将两侧闪开,目标块复原,退回。
<B><FONT color=#ff0000>提示:</FONT></B>此处要牢记公式1.3、公式1.4及其原理,并掌握其扩展转法,后面复原两层和六面时将会有多处应用。</P>
<P>公式1.5 目标块(橙蓝)位于中层,将残缺的那边转向目标块,上下找齐,复原。</P>
<P>衍生3 楞块的衍生。将左右两侧色块闪开,将目标块(橙蓝)转至熟悉的位置,两侧退回,然后再按照前面学过的公式复原。</P>
<P>为了减少篇幅,上述基本位对称位置的转法省略,我们的原则就是把我不会转的那块想办法转到我会转的位置上来。上面方法理解之后其对称位置很容易掌握。
学会上面几个基本位置的旋转,您就可以轻松复原一层了!尝试一下,是不是小有成就感……</P>


<P><B>二、两层的转法(一条公式平两层)</B></P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD>2.1</TD>
<TD>2.1 换成我们熟悉的角度</TD>
<TD>2.1 完整过程</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="D2L3U3D1F2U1D3L3"><PARAM NAME="pos" VALUE="ddddddggggggffgfffeeeeeeeeebggbbbbbggggfgggggaaaaaaggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="B2D3F3B1R2F1B3D3"><PARAM NAME="pos" VALUE="gfgggggggeeeeeeeeebbbbbggbgfffgffgggaaaaaagggddgddgddg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="D2L3U3D1F2U1D3L3F1B3L2F3B1"><PARAM NAME="pos" VALUE="ddddddggggggffgfffeeeeeeeeebggbbbbbggggfgggggaaaaaaggg"></APPLET></TD></TR>
<TR>
<TD>d2 b'// u' d l2 u d' b'</TD>
<TD>r2 d'// l' r f2 l r' d'</TD>
<TD>d2 b'// u' d l2 u d' b'// l r' b2 l' r</TD></TR></TABLE>
<P><B>说明:</B>
目标块(蓝黄)位于第三层,首先,我们将目标块拧到与正确位置相对处(公式2.1的前两步),把魔方侧过来看就是公式1.3的初始位置,然后按照公式1.3将目标块(蓝黄)复原。
目标块(蓝黄)旋转至正确位置后您会发现,先前已经对齐的顶面(橙色)又被打乱了,不过不要紧,您是不是觉得当前的图形眼熟?
呵呵,没错!若以橙色做顶面,又和公式1.3的初始状态一样了,我们只需再将“橙绿”作为目标块,按照公式1.3补齐即可。
公式2.1实际上就是分别针对两个面(先是蓝色,然后橙色)执行了两次公式1.3的操作。</P>
<P>若是目标块本身在二层(可能在正确位置但颜色不对,也可能不在正确位置),此时用第三层任意一块将其替换。</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="60%" border=0>

<TR>
<TD>2.1-1 用三层色块替换位于二层的目标块</TD>
<TD>2.1-2 用三层色块替换另一位置的目标块</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="D2L3U3D1F2U1D3L3F1B3L2F3B1D1"><PARAM NAME="pos" VALUE="ddddddggggggffbfffeeeeeeeeebfgbbabbggggcgggggaaaaaaggg"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="R1U1D3F2U3D1R1F3B1R2F1B3"><PARAM NAME="pos" VALUE="ddddddggggggbfgfffeeeeeeeeebggbbabbggggcgggggaaafaaggg"></APPLET></TD></TR>
<TR>
<TD>
<P>r2 d'// l' r f2 l r' d'// b' f d2 b f'// d'</P></TD>
<TD>f u // d' l2 u' d f // l' r f2 l r'</TD></TR></TABLE>
<P>目标块到了第三层我们就会转了,按照公式2.1或其对称公式复原即可。</P>
<P>看到此您应该会觉得魔方并不是想象的那么困难吧,明天继续…… </P>

cube_master 发表于 2004-8-24 12:01:33

关于润滑

<P>很好!</P><P>希望有更多朋友把自己的心得贴出来。</P>

ayi2000 发表于 2004-8-24 16:58:08

<P><B>三、六面</B></P>
<P>前面提过我们复原的方法是“角先”,所以我们第一步的目标是将八个角都转到正确位置。(对于二阶魔方已经熟悉的朋友可略过3.0、3.1和3.2三节)</P>
<P>3.0 换角
在正式复原六面之前,我们需要明确一个概念——换角。
我们把一面中相邻的两个角互换叫做一次换角,这实际上是对公式1.1的一个扩展操作。</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="100%" border=0>

<TR>
<TD>3.0-1 一次换角</TD>
<TD>3.0-2 两次换角</TD>
<TD>3.0-3 也是两次换角</TD>
<TD>3.0-4 还是两次换角</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dgdgggdgdfgfgggfgfegegggegebgbgggbgbcgcgggcgcagagggaga"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dgdgggdgdfgfgggfgfegegggegebgbgggbgbcgcgggcgcagagggaga"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dgdgggdgdfgfgggfgfegegggegebgbgggbgbcgcgggcgcagagggaga"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1U1B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dgdgggdgdfgfgggfgfegegggegebgbgggbgbcgcgggcgcagagggaga"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1U2B3D3B1F1D1F3B3D3B1"></APPLET></TD></TR>
<TR>
<TD>
<P>r' d' r l d l' r'd' r</P></TD>
<TD>r' d' r l d l' r'd' r
r' d' r l d l' r'd' r</TD>
<TD>r' d' r l d l' r'd' r u
r' d' r l d l' r'd' r</TD>
<TD>r' d' r l d l' r'd' r u2
r' d' r l d l' r'd' r</TD></TR></TABLE>
<P>从上图我们看出
1、经过一次换角后,顶面颜色无变化。第一层经过交换的两角原本在侧面的色块(黄色、白色)被换到了正面,而原本正对着你的色块(两个蓝色)跑到了侧面。
2、经过奇数次换角,底面会发生变化;经过偶数次换角,底面无影响。
这里还有其他规律,由于我们的原则是发扬人类懒惰的本性,尽量少地记忆公式,就不过多总结了。</P>
<P>明确上面这几点之后,我们的基础工作基本做好,可以开始从头复原六面了。</P>
<P>3.1 定八角
先利用公式1.1或1.2对齐任意一面的四个角(可以暂时不管侧面颜色,因为我们后面还要调整),这时底面四个角可能会有如下几种位置(其对称位置略):</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="100%" border=0>

<TR>
<TD>3.1-1</TD>
<TD>3.1-2</TD>
<TD>3.1-3</TD>
<TD>3.1-4</TD>
<TD>3.1-5</TD>
<TD>3.1-6</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ggggggcgggggggggggegegggegeggggggggccggggggggggggggcgg"><PARAM NAME="move" VALUE="B3D3B1D3B3D2B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ggggggcgccgcggggggegegggegeggggggggggggggggggggggggggg"><PARAM NAME="move" VALUE="R2U2L1U2R2"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ggggggcggcggggggggegegggegeggcgggggcgggggggggggggggggg"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ggggggggggggggggggegegggegegggggggggcgggggcggggggggcgc"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ggggggcggcggggggggegegggegegggggggggcgggggcggggggggggg"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="gggggggggcggggggggegegggegeggggggggccgggggggcggggggggg"><PARAM NAME="move" VALUE="B3D3B1D3B3D2B1"></APPLET></TD></TR>
<TR>
<TD>r' d' r d' r' d2 r
<FONT color=#ff0000>牢记此公式</FONT></TD>
<TD>f2 u2 b u2 f2
<FONT color=#ff0000>牢记此公式</FONT></TD>
<TD>换角后底面对齐</TD>
<TD>换角后变成3.1-2的状态
</TD>
<TD>换角后变成3.1-4的状态</TD>
<TD>公式3.1-1操作后变成3.1-4的状态</TD></TR></TABLE>
<P><B>说明:</B>
公式3.1-1 底面四个角块,其中一块在底面,其余三块分布于另外三面。将位于底面的色块放到离自己较近一面(前面),同时保证另外三块中有一块正对自己。从正对自己那块所在的侧面开始旋转,将顶面一角转走,再恢复,即可使底面四角颜色对齐。</P>
<P>公式3.1-2 底面色块两两相对分布于两个侧面。此公式不难理解,也较容易记忆。</P>
<P>公式3.1-3 底面两块正对你,两块在侧。经过一次换角即可对齐。</P>
<P>公式3.1-4 、3.1-5 、3.1-6 都是经过一次操作之后变成先前熟悉的状态,按照已知步骤对齐即可。</P>
<P>其实上面每个状态都有单独的复原方法,但是我们再次发扬懒人精神,不对其规律一一总结。我们看到,3.1-1和3.1-6 是不对称的,其余几个都是左右对称的,我们只要记住一条:
凡是遇到左右对称的图形就换角,遇到非对称图形就进行3.1-1的操作,然后就会直接对齐,或者看到自己熟悉的图形再按照已知步骤对齐。
没办法啊,脑袋懒手就得勤快一些了,不得不多转几个步骤……</P>
<P>3.2 再次换角
经过3.1节我们只对齐了角块顶面与底面的颜色,角块侧面颜色还没有对齐,所以我们要通过换角进行调整。
在3.0节我们说过,经过偶数次换角,对底面无影响,所以在调整时候我们要保证每面换角次数为偶数(每面两次即可)。</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="60%" border=0>

<TR>
<TD>3.2-1</TD>
<TD>3.2-2</TD></TR>
<TR>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="agbgggdgdfgfgggagbegegggegedgbgggfgbcgcgggcgcdgfgggaga"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1U2B3D3B1F1D1F3B3D3B1"></APPLET></TD>
<TD><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="agagggagabgbgggdgfegegggegebgdgggdgdcgcgggcgcbgfgggfgf"><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D3B1U1B3D3B1F1D1F3B3D3B1U2"></APPLET></TD></TR>
<TR>
<TD>
<P>r' d' r l d l' r'd' r u2
r' d' r l d l' r'd' r</P></TD>
<TD>r' d' r l d l' r'd' r u
r' d' r l d l' r'd' r u2</TD></TR></TABLE>
<P>说明:
对于3.2-1的情况,顶层侧面四块颜色都没对齐,我们很容易看出相同的色块都是在侧面两两相对的。于是我们利用3.0节总结的第一条规律,很容易想到将前面(蓝色)得两块交换,再将后面(绿色)的两块交换,这样保证了换角两次,对底面无影响。</P>
<P>对于3.2-2的情况,顶层只有两块需要交换(橙蓝白、橙蓝黄),换角一次可以对齐顶层,但是底面又受影响了……我们如何保证换角次数为偶数呢?
为了便于观察,我们将整个魔方纵向旋转90度,如图3-2-2所示。第一次进行橙蓝黄、橙绿白的交换,换角后橙绿白的白色就会与橙蓝白的白色对齐,而橙蓝黄的黄色就会与橙绿黄的黄色相对,我们有恰巧还需要再进行一次换角以保证底面完整,接下来要如何做已经很明显了——换角呗。</P>
<P>3.3 两层
八角已经对齐,我们需要对楞了,至此前面公式1.3 、1.4 、2.1我们应该应用得很熟练了,依次将顶面楞、二层楞对齐即可。
再次提醒一下可能会需要暂时用三层楞块替换二层楞块(参见2.1-1 、2.1-2)
由于复原两层过程中两侧都是对称转动,所以先前已经对齐的角块不会被打乱。</P>
<P>未完待续……</P>
[此贴子已经被作者于8/24/2004 6:08:15 AM编辑过]

大烟头 发表于 2004-8-24 22:18:55

<P>好,</P>

ayi2000 发表于 2004-8-26 13:13:46

<P>3.4 底面
两层复原后三层若没完全对齐,底面可能出现如下几种情况(暂不考虑三层侧面)</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD width="33%">3.4-1 底面直角</TD>
<TD width="33%">3.4-2 底面十字</TD>
<TD width="34%">3.4-3 底面H形</TD></TR>
<TR>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddfdfcfffffffeeeeeeeeebbbbbbbbbcacccdcccaaaaaaaca"><PARAM NAME="move" VALUE="F3B1R3F1B3D2F3B1R3F1B3"></APPLET></TD>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddcdfcfffffffeeeeeeeeebbbbbcbbbcbcfcdcacaaaaaaaca"><PARAM NAME="move" VALUE="F3B1R3F1B3D2F3B1R3F1B3D3F3B1R3F1B3D2F3B1R3F1B3D1"></APPLET></TD>
<TD width="34%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddcdfcfffffffeeeeeeeeebbbbbfbbbcacccccdcaaaaaaaba"><PARAM NAME="move" VALUE=""></APPLET></TD></TR>
<TR>
<TD width="33%">
<P>公式1.4的扩展操作
l' r f' l r'//d2//l' r f' l r' </P></TD>
<TD width="33%">使用两次公式3.4-1</TD>
<TD width="34%">换楞之后使用公式3.4-1</TD></TR></TABLE>
<P>说明:
公式3.4-1 底面相邻两个楞块颜色不正确。我们用公式1.4的扩展操作对其转动一次,即可将底面对齐。
这里在魔方的摆放上需要注意一点:就是从底面向上看(仰视红色底面)时,把未对齐的两块放在远离你的一边和你的左手边。</P>
<P>公式3.4-2 底面四个都没有对齐。上面学过了公式3.4-1,每次操作修正的都是相邻的两块,所以我们很容易看出连续使用两次即可修正四块。
同样要注意,修正完前两块之后,要把剩下的两块转到正确的位置,然后再进行第二次修正。</P>
<P>对于3.4-3 底面只有两块没对齐,但是这两块分布于相对的两个楞上,这就要麻烦一些了。首先我们可以看出,将相邻的两个楞交换即可变成公式3.4-1的状态。
但是我们不愿意研究直接交换相邻两楞的公式,那么能否利用我们已掌握的公式达到这个效果呢?
在介绍两层的时候提到过用层楞替换二层楞(2.1-1 和 2.1-2),这里又要用到了。我们采取一个迂回的手段,暂时借用一下二层楞位,将三层相邻两块交换。
具体为红白&lt;——&gt;蓝黄、黄红&lt;——&gt;红白、蓝黄&lt;——&gt;黄红 经过上述替换,黄红、蓝红相邻,红白、红绿相邻,此时即可用公式3.4-1修正。 </P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD width="33%">红白&lt;——&gt;蓝黄</TD>
<TD width="33%">黄红&lt;——&gt;红白</TD>
<TD width="34%">蓝黄&lt;——&gt;黄红</TD></TR>
<TR>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddcdfcfffffffeeeeeeeeebbbbbfbbbcacccccdcaaaaaaaba"><PARAM NAME="move" VALUE="B1U1D3R2U3D1B1L1R3B2L3R1"></APPLET></TD>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ddddddfffdcdffcfffeeeeeeeeebdabbbbbacacccccbcaaaaaabfb"><PARAM NAME="move" VALUE="D3B1U1D3R2U3D1B1L1R3B2L3R1"></APPLET></TD>
<TD width="34%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="ddddddacabbbffffffeeeeeeeeebcdbbcbbdcccacbcdcaaaaaafff"><PARAM NAME="move" VALUE="D3B1U1D3R2U3D1B1L1R3B2L3R1"></APPLET></TD></TR>
<TR>
<TD width="33%">
<P>r u d' f2 u' d r b f' r2 b' f </P></TD>
<TD width="33%">d' r u d' f2 u' d r b f' r2 b' f </TD>
<TD width="34%">d' r u d' f2 u' d r b f' r2 b' f </TD></TR></TABLE>
<P>3.5 最终调整 底层换楞
底面颜色对齐,三层颜色有可能还不齐,所以我们还要做最终调整。</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="80%" border=0>

<TR>
<TD width="33%">3.5-1 三面不齐</TD>
<TD width="33%">3.5-2 四面不齐 两两相邻</TD>
<TD width="34%">3.5-3 四面不齐 两两相对</TD></TR>
<TR>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddbdfffffffffeeeeeeeeebbbbbabbbcccccccccaaaaaaada"><PARAM NAME="move" VALUE="B1U1D3R2U3D1B1L1R3B2L3R1D1B1U1D3R2U3D1B1L1R3B2L3R1D1B1U1D3R2U3D1B1L1R3B2L3R1"></APPLET></TD>
<TD width="33%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddbdfafffffffeeeeeeeeebbbbbdbbbcccccccccaaaaaaafa"><PARAM NAME="move" VALUE=""></APPLET></TD>
<TD width="34%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddfdfdfffffffeeeeeeeeebbbbbabbbcccccccccaaaaaaaba"><PARAM NAME="move" VALUE="F2B2D2F2B2U1L2R2D2L2R2U3"></APPLET></TD></TR>
<TR>
<TD width="33%">
<P>白色被蓝色占据,白—蓝交换
过程略</P></TD>
<TD width="33%">白—蓝交换 黄—绿交换
过程略</TD>
<TD width="34%">l2 r2 d2 l2 r2 u b2 f2 d2 b2 f2 u'</TD></TR></TABLE>
<P>说明:
3.5-1 我们看到黄色已经对齐,黄色的对面是白色,但是目前被蓝色占了,所以我们就对“白红”和“蓝红”进行交换。
还得暂时利用二层楞块“迂回”一下,无奈啊,谁让咱不爱记公式呢……</P>
<P>3.5-2 相邻侧面楞块需要两两交换,同样借用二层楞块“迂回”,换完两个,再换另两个。</P>
<P>3.5-3 同样可借用二层通过两两交换完成,但是还有简单的方法,这其实也是公式1.3的扩展操作,其思想也是将两侧闪开,底层交换,两侧退回。只是针对不同的面连续用了两次而已。</P>
<P>至此,您已经把魔方六面全部复原了,拿在手中好好赏玩一下吧 :)</P>
<P><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="pos" VALUE="dddddddddfffffffffeeeeeeeeebbbbbbbbbcccccccccaaaaaaaaa"><PARAM NAME="move" VALUE="F3B1U1D3R3L1F3B1"></APPLET></P>

<P>总结一下这个方法的优缺点
优点:公式较少,主要是1.3、1.4及其扩展,且大多数步骤都是左右对称旋转,相对容易记忆
缺点:耗费步数多,尤其后面换角、换楞时浪费很多步骤,非常不适合追求速度者。</P>
[此贴子已经被作者于8/26/2004 6:44:15 AM编辑过]

ayi2000 发表于 2004-8-26 16:08:36

<P><B>赠品:中心块的调整</B></P>
<P>对于纯色魔方,以上已经把六面完全对齐。但是对于某些图案魔方,可能存在中心块与边块角度不一致的问题,我们还要加以调整。
中心块与边块的角度可能相差 +90度、-90度或180度,但六面角度之和肯定是180度的整数倍。(如果不是整数倍那只能是你以前拆下来装错了)</P>
<P>我们找两角度能相互抵消的面(+90度/-90度、180度/180度)当作侧面,用公式1.3和公式1.4进行修正</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="60%" border=0>

<TR>
<TD width="50%">4.1-1 两面要转+/-90度</TD>
<TD width="50%">4.1-2 两面要转180度</TD></TR>
<TR>
<TD width="50%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="F3B1R3F1B3U3D1R3L1B1R1L3U1D3"><PARAM NAME="pos" VALUE="dddddddddfffffffffeeeeeeeeebbbbbbbbbcccccccccaaaaaaaaa"></APPLET></TD>
<TD width="50%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="F3B1R2F1B3U3D1R3L1B2R1L3U1D3"><PARAM NAME="pos" VALUE="dddddddddfffffffffeeeeeeeeebbbbbbbbbcccccccccaaaaaaaaa"></APPLET></TD></TR>
<TR>
<TD width="50%"></TD>
<TD width="50%"></TD></TR></TABLE>
<P>4.1-1 在其中一面(蓝色)把色块转走,在另一面(白色)将其恢复,这样对整体无影响,却分别对蓝色中心块转了-90度,对白色中心块转了+90度。</P>
<P>4.1-2 与上面公式相同道理,只是被调整的两面中心块都旋转180度。</P>
<P>提示:以上两条公式的应用不仅限于相邻两面,需要调整相对两面时同样可用。</P>
<P>经过以上调整,图案魔方可能完全复原,但是您也不得不面对另外一种可能——还剩下最后一面中心块倒转了180度。</P>
<P>不怕,我们把它转回去。还记得前面的换角公式不?</P>
<TABLE style="FONT-SIZE: 9pt" cellSpacing=0 cellPadding=0 width="40%" border=0>

<TR>
<TD width="23%">两次换角将底面中心块转180度</TD></TR>
<TR>
<TD width="23%"><APPLET codeBase=http://www.mf8.com.cn/Java/3a/ height=145 width=125 code=lrubik.class><PARAM NAME="move" VALUE="B3D3B1F1D1F3B3D2B1F1D1F3B3D3B1"><PARAM NAME="pos" VALUE="dddddddddfffffffffeeeeeeeeebbbbbbbbbcccccccccaaaaaaaaa"></APPLET></TD></TR>
<TR>
<TD width="23%">r' d' r l d l' r'd2 r l d l' r'd' r</TD></TR></TABLE>
<P>看懂了没,这实际上就是公式3.0-2。经过两次换角,其他都无影响,底面却旋转了180度,这正是我们需要的。</P>
<P>好了,这回是真正把一个魔方完完全全地复原了……</P>
<P>长舒一口气,大功告成!!!</P>
<P>
</P>
<P>完整版见http://ayi2000.51.net</P>
[此贴子已经被作者于8/26/2004 6:00:39 AM编辑过]

我喜欢魔方 发表于 2004-8-26 16:44:51

<P>很好,又有新的方法了,大家继续,最好能有个简单的,让人一看就懂的方法,让魔方壮大起来</P>

大烟头 发表于 2005-2-19 19:01:06

<P>顶、再顶。</P><P>好贴不能沉!</P>

kunamos 发表于 2005-7-14 16:47:01

<P>我在练习角先的复原方法时,出现如下情况.</P>
<P>八角对色,要对两次.请问各位有没有更好的方法,对色只对一次.</P>

<applet code="RubikPlayer.class" codebase=3 width="300" height="300">
  <param name="scrptLanguage" value="SupersetENG">
  <param name="stickersFront" value="4,6,0,6,0,6,0,0,0">
  <param name="stickersRight" value="1,6,1,6,1,6,1,6,3">
  <param name="stickersDown" value="2,6,2,6,2,6,2,6,2">
  <param name="stickersBack" value="3,6,4,6,3,6,4,6,1">
  <param name="stickersLeft" value="0,6,3,6,4,6,3,6,4">
  <param name="stickersUp" value="5,6,5,6,5,6,5,6,5">
</applet>
[此贴子已经被作者于2005-7-14 16:50:44编辑过]

5188 发表于 2005-7-15 11:25:57

<FONT color=#61b713 face=Verdana><B>ayi2000 </B></FONT>酷毙!!!
页: [1] 2 3 4 5
查看完整版本: ayi的魔方复原方法(角先)