解魔方算法
‘壹’ 魔方的口诀是什么
魔方新手入门 魔方教程一步一步公式口诀图解
一、(第一步)在第一面做一个十字,形成如下的样子:
‘贰’ 魔方简单口诀表,我是个新手。说的简单点
第一步)在第一面做一个十字,形成如下的样子:
‘叁’ 三阶魔方的最简单的公式
链接:https://pan..com/s/1U4iWQfn-D-t5NoTRR7-VpA
玩魔方可以锻炼你的七种能力:
1.眼力;在最初期,玩最基础的三阶魔方时就有多种变化,用眼睛去观察、辨别每一颗魔方的位置。
2.耐力;玩魔方时,没有掌握方法,琢磨出方法,我们会一直转不回来,越着急想转出来,越不能转出来。这时候,我们就需要一定的耐心去克服,慢慢去了解。
3.手力;转魔方需要双手并用,可以很好的锻炼手的灵活性和协调能力。
4.记忆力;在开始复原魔方时,就需要很好的记忆力去记住一些公式,在你想提高自己的还原速度时,就会多加练习了。
5.空间判断能力;转魔方时,总要去想象,那个魔方怎么样能还原,在这样的想象过程中,你就从中锻炼了自己的空间判断能力。
6.注意力;还原魔方的我们,需要专注,如果是自己琢磨,更会乐在其中,沉浸于还原魔法的世界里。
7.反应速度;在专业魔方比赛竞速时,锻炼选手的反应速度。
魔方尤其能迅速的锻炼空间思维能力,是一个不可多得的人脑体育活动。玩魔方更是象征智慧和时尚的休闲活动。
‘肆’ 魔方阵算法是怎么解出来的
麻烦少少,其实你在网上也可以找到些,种类繁多。
奇数用的是常用的斜线填数法
偶数的算法是:
当n为4的倍数时:采用对称元素交换法。首先把数1-n^2按行从上至下,从左至右填人方阵的n×n格。然后,把方阵的所有4 ×4子方阵中的两对角线上位置上的数固定下来不动;所有其它位置上的数关于方阵中心作对称交换,也就是把元素a(i,j)与元素a(n+1-i,n+ 1-j)的值交换。
当n为非4倍数的偶数(即4m+2形)时:首先把大方阵分解为4个奇数(2m+1阶)子方阵。上述奇数阶魔方给分解的4个子方阵对应赋值,上左子方最小(i),下右子次小(i+v),下左子方最大(i+3v),上右子方次大(i+2v),即4个子方阵对应元素相差v,其中v=n*n/4,然后作相应的元素交换:
a(i,j)与a(i+u,j)在同一列做对应交换(j<t或j>n-t+2)
a(t,1)与a(t+u,1);a(t,t)与a(t+u,t)两对元素交换
其中u=n/2,t=(n+2)/4
我写的程序:(比较傻的方法,因为昨天太晚了不想优化了:P)
include <stdio.h>
#define N 100
void main()
{
void n1(int n);
void n2(int n);
void n3(int n);
int n;
printf("please input n:");
scanf("%d",&n);
printf("\n");
if((n%2)!=0)
n1(n);
else if((n%4)==0)
n2(n);
else
n3(n);
getch();
}
void n1(int n)
{
int i,j,count=0,num[N][N];
for(i=0,j=(n-1)/2;count<n*n;)
{
count++;
num[i][j]=count;
if(count%n==0)
{
i++;
}
else
{
i--;
j++;
}
if(i<0)
i+=n;
if(j>=n)
j-=n;
}
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}
void n2(int n)
{
int t,i,j,count=0,num[N][N];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
count++;
num[i][j]=count;
}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(i!=j)
{
t=num[i][j];
num[i][j]=num[n-1-i][n-1-j];
num[n-1-i][n-1-j]=t;
}
}
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}
void n3(int n)
{
int i,j,m,t,v,count=0,num[N][N];
v=(n+2)/4;
m=n/2;
for(i=0,j=(m-1)/2;count<m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<0)
i+=m;
if(j>=m)
j-=m;
}
for(i=m,j=(m-1)/2+m;count<2*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<m)
i+=m;
if(j>=2*m)
j-=m;
}
for(i=0,j=(m-1)/2+m;count<3*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<0)
i+=m;
if(j>=2*m)
j-=m;
}
for(i=m,j=(m-1)/2;count<4*m*m;)
{
count++;
num[i][j]=count;
if(count%m==0)
i++;
else
{
i--;
j++;
}
if(i<m)
i+=m;
if(j>=m)
j-=m;
}
for(i=0;i<m;i++)
{
for(j=0;j<v-1||j>n-v+1;j++)
{
t=num[i][j];
num[i][j]=num[i+m][j];
num[i+m][j]=t;
}
for(j=n-v+2;j<n;j++)
{
t=num[i][j];
num[i][j]=num[i+m][j];
num[i+m][j]=t;
}
}
t=num[v-1][0];
num[v-1][0]=num[v+m-1][0];
num[v+m-1][0]=t;
t=num[v-1][v-1];
num[v-1][v-1]=num[v+m-1][v-1];
num[v+m-1][v-1]=t;
count=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("%5d",num[i][j]);
count++;
if(count%n==0)
printf("\n");
}
}
‘伍’ 求魔方入门解法
可以去魔方吧或者魔方小站学习 一下给出的可能看不到图,实在不会可以告诉我你邮件。我给你发一个层先法的详细教程,也可以加我的QQ:215316135
魔方公式基本都是用字母表示的,以下我把层先法中要学到的几个公式列举出来,大家现在不必理睬它,但学会以后,就可以直接从这儿复习了:
第一层角块: F D F' R'D'R
第二层棱块: U R U'R'U'F'U F U'F'U F U R U'R'
顶面十字: R'U'F'U F R
顶面和还原侧面:R'U'R U'R'U2 R L U L'U L U2 L'
调整第三层角块:L F'L B2 L'F L B2 L2
学习还原方法之前,我们先来Warm up!(学个单词,“我母阿婆”是热身地意思,呵,开个玩笑而已) 大家平时拧魔方是不是真的用“拧”的呢?其实那样拧魔方对今后的学习是不利的,大家有没见过高手还原魔方?在他们还原的过程中,你几乎看不到他们的手肘做大的动作,他们只使用手指和手腕,这样就大大提高了每个动作间衔接的速度。如果你并不想追求速度,用手指做公式依然很关键,适应使用灵活的手(指)法去使用公式,那么不但提高速度,而且也方便公式的强行记忆。手法对于魔方而言,就相当于《天下无贼》中刘德华的手艺,如果大家都只满足于做个配角,那么你也就是路边的一个小蟊贼了。
想学手法了吗?想学我也没法教啊……要能在这插视频就好了,大家还是自己到视频上去搜“魔方基本手法”吧。其实手法其实并不是那么奥意,就是用手指拨动魔方的顶面,用手腕转动魔方,然后把一些手上的动作连贯在一起。啊,要求有点高了。其实这些对初学者并不重要,如果听不懂或者没有专业魔方的话,就跳过这一步吧,虽然这确实是基础……如果真的很好奇,不如学会还原以后再来修炼。
________________________________________
(第一步)在顶面做一个十字:
首先,你要明确目的。我们要在顶面拼成如图的一个蓝色的四指爪子。注意,棱块是有两个面的,所以它也具备有两种颜色。如图,我们要使它的两种颜色分别与和它同色的中心块对齐。
举例来说:圈里的那个带蓝和红的棱块,它具备蓝色和红色两种颜色,我们不仅要把这个棱块——带有 蓝色的面 和 蓝色的中心块 对接上,而且,还要使它的另一种颜色——红色面,与 红色中心块 对上。
十字由4个棱块、5个不同颜色的中心块组成,我们需要做四次这种双向的对接就可以形成这么个爪子了。拼这一步,如同下象棋,只是棋子的运动规则确实很夸张、很抽象罢了,而且它还具备方向性(讲深奥了,其实就是块的位置对了,颜色却对不上的情况而已)。我们只要把它想象成棋子,为了到达目的地,让它分步骤移动。
首先我们找到目标,比如,蓝红棱块,我们先确定它应该在的位置(免的你像婴儿一样乱掰),并找到块本身(过去我看到过某傻蛋,在那找找找找老久,然后跑来说:“没有”,这实在是……大家在找块的时候一定要先明确它带什么颜色,找棱块就老老实实在棱块里找,角块在角上找,就那几个块,按层次不重复的找,会找5分钟?还跑来跟我讲找不到?不可理喻…);
然后试着把它蓝色的面转到与蓝色中心块对齐的位置,接着把蓝色中心块所在的这个面转转,让蓝红块的另一个面,红色面与红色中心块对齐。这样就完成了一个。以经验来看,我们不一定非要很死板的每次都先对蓝色,这就需要大家灵活变通了;也可以先让红色(或者别的颜色的棱块)与中心块对齐,然后再转这个面,再把蓝色对上。
大家肯定会碰到,为了对另外几个十字的部分,必须打乱原先对好的部分的情况,这时我们只能临时打乱一个部分,达到目的立刻回到原位,否则这步就是废棋,不但白转一步,而且打乱了原先的部分。大家自己琢磨,我说了还是我的。
对于初次接触的新手,这第一步看上去似乎不太容易,其实多拧几下你就会发现,“原来是这样啊”。它们都是有规律可寻的,主要还是理解。摸索吧,多转转(先想后动手,要有目的)。看人了,有的人三分钟学会,有的人三星期学不会……至于做成这一步的要求,高手在观察后一般只拧8步而且在3秒之内,这主要还是看今后的练习和总结。(告大家一个提高画十字速度的练习方法:先花些脑筋想好拧出十字的总步骤,然后一次性拧出十字,最后一直练到用很短的时间观察考虑,然后闭眼画十字。不过前提是这一步你已经掌握的很熟练了)
________________________________________
(第二步)对好顶面和顶层周围:
做好这一步其实你只要学会一招就够了。那蓝色的角色块,它蓝色的面转来转去就6种位置,即左图中字母所示,第F种在AB那个块的下面压着体现不出来,我水平有限,只能把它很不协调的标出来了……
我们的目的就是把该小块调整到有利于还原的魔方的位置,所以叫目标块,由此看来CED(不是LED点阵字……这里字母所在的面是什么颜色,字母就用什么颜色,大家把左图和右图的完成图比较一下看看我字母颜色标注的对不对?)应该是目标小块正确的位置,E则是目标块蓝色面的正确朝向。(我不会全用颜色表示,因为我和大家一样做菜鸟的时候也没人给标出来,免的大家都不变懒,如果学魔方真的那么容易,一小时就学会,我也就不研究魔方了……)
注意,目标块蓝色面的朝向一定要正确,一定要像完成图那样,目标块的三个面是分别与它所在的魔方的三个面的中心块的颜色相同的(看傻了,边看魔方边看字才能懂……),而不是只要蓝色在上面,就万事大吉。那样你只能完成一个面,下一步根本没法进行,如果不理解你可以动手试试。
说明一下,下面的字母大家能理解吗?比如大写字母F,F是front的首字母,意为“前面”。在公式中,我们用简便的字母代替文字说明,公式的每个字母都是一个转动指令,大家看到“F”就知道要拧魔方的前面了——即前面顺时针拧90度。有时字母后加了“’”,它表达的是——逆时针转90度。比如“F’”本来意义上的前面顺时针旋转90度改成与之方向相反的逆时针旋转90度。还有时,字母加了个“2”,你就得拧180度了,顺着逆着拧180结果都是一样的,所以不要死板,你怎么顺手就怎么拧。类似的其他字母也是这样,大家自己动脑思考,我就不一一列举了,有比较复杂的字母,大家参照附带的公式字母说明。
回到第二步的还原思路,我们拿A情况举例:
F
D
F'
把顶层的目
标块的位置
转到底层来
接应蓝红黄角块 让蓝红黄角
块转到目标位。 转回顶层。
而对于目标块的蓝色朝向B,怎么解决呢?是不是反过来了? 其实是一样的,正的你学会了,它现在反过来了你就也反过来拧。也就是说,A情况是用F D F',反过来作用在B情况上,就得使用R' D' R。
大家能总结吗?这一步万变不离其宗。第一步是把目标块移动到目标位的正下方,而且蓝色面不得朝下,否则我们还得想办法让蓝色到侧面来。这样我们就把所有情况化简成了A和B两种,大家想想是不是?!然后我们把十字的一个指头放下来(目标块的蓝色面在哪个面上我们就拧哪个面,上例里蓝色所在的面是中心块为红色块的面,所以我们就把红色的指头放下来),让目标块钻进去,然后指头归位,目标块也就到位了。
而对于C、D、E、F位置,你总可以用旋转侧面和底面将其转到A或B位置。这里是几个例子 (主要还是理解,如果还不会就把他们背下来,然后再理解):
F D2 F' D' F D F' D' R' D' R D F D F'
当你学完这些,也就基本上熟悉了魔方的结构以及运行规则了。这些需要两天时间的消化,大概花3,4个小时吧,地基打牢了才能盖高楼啊。加油吧!
________________________________________
(第三步)放第二层的棱色块:
由上一步到这一步的图,大家肯定看出了这步我们要处理的是中间层红白,红黄,橙白,橙黄四个棱色块。这次,你先把魔方翻过来了(如右图),蓝面朝下,绿面朝上,再在顶层(顶层与顶面并不完全相同,这个概念不要混淆)找到带有红、黄、橙、白的四种棱块,随便选择一个,我们就从它开始,这里我以红白棱块为例(我们在这一步骤中视它为目标块),如果你发现目标块不在顶层,而是被夹在第二层的两个中心块之间了,不要着急,用R U R' 把它拿出来,再用我们学过的第二步,还原第一层,就会出现左边两种中的任意一种情况了。
现在我们把目标块拧到如图所示的位置,形成一个同色的T字(只要能连成T字方可,T字左右块的颜色大可不必理睬)。下一步就是把目标块插入到上图红色箭头所指的位置。
对于第一种情况,使用下面的算法,这个算法可以说是大家学魔方历程中所学的第一个算法,不要把它想象成数学公式,它很直观,而且需要你花一分钟亲手印证它对于解这一步是可行的。第一行的图上面有一些绿色箭头,它将告诉你怎么拧。动手吧!
U
R
U'
R'
U'
F'
U
F
前几步把两个小块组合起来了,就像两节车厢的那种公交车被接在一起。
让车向前开一段(蓝色是车头)电梯上来,车倒进来,电梯下去。PS:是不是有点变形金刚的意思。。。
整个算法是URU'R' 加上U'F'UF(公式1),是不是很有规律?好像后一半U'F'UF正好是 前一半URU'R'的镜像吧(现在开始解释下全篇的第一副图,假想沿对角线切割魔方的面是块玻璃,那不就是物理上学的平面镜成像吗?所谓的镜像就是这个意思,打个比方:你照镜子,想让镜子里那个人的左手做动作,那么你是否要抬起右手呢?话说回来就是前四步转上面和右面,后四步则反过来,转上面和左面)。其实总结下规律,你只要记住“上面顺时针转一下,右边顺时针转下,然后上面回来,右边也回来”基本上就可以记住了,因为后面几步只是“照镜子”,总之理解了,一切就都好办。
如果大家完全掌握并理解了第一种的解法,第二种就不在话下了。对比一下不难看出两种情况的差别仅仅在于目标块的颜色不同,一个上白下红,一个上红下白。这差别只是一个表象,就好比你从左边走到中间与你从右边走到中间一样,完全是“平面镜成像”。。。按照第一种解法的原则,我相信你不看公式就可以自己解决它了。考虑到有些人转不过这个弯(比如我作为初学者的时候时,搞死想不通,硬着头皮背公式才勉强还原),我把公式留给大家,不过最好先自己试试,如果成功了,你会极其的骄傲!“啊!妈妈,我真是越来越佩服我自己了!”要知道,尝试与理解才是玩魔方的精神所在,不去思考只照公式拧,还原了也惘然啊:U' F' U F U R U' R'
碰到过左图的情况吗?目标块不在顶层,而被夹在了第二层别的目标块的位置,甚至是自己的位置,但朝向却反了。那么,正如上文中我提到过的,用R U R'加F'U'F把它拿出来,再用刚学的内容放进去。或者你也可以先做别的颜色的目标块。如果不是如图的情况,它自己占了别人的地,也就会被换出来了。
提示:用F2L(高级玩法中一种手法的简称),可以将我们刚学的二、三两步,即插入角块和棱块合成一步进行。要问这方法与入门法有什么区别的话,其实仅仅在于速度了,对于想追求速拧的朋友们,那它便是必修了。偷偷告诉大家一个非常好的提高这两步速度的秘密,大家不必死板的吭哧半天去还原四个角块,再折腾半天找到四个棱块来还原。大家可以在做第二步寻找角块的同时,找到与之匹配的棱块,然后还原了这个角块,直接跳到第三步还原这个棱块。这样做四次,我们就把一二两步中的八个小步骤简化成了四步。虽然拧的步数一样多,但在思路和观察上有明显的优势!________________________________________
(第四步)在顶面上画十字:
下面我们要学一个新的公式,这个公式会使顶层绿色块在如下的情况中从左到右依次“进化”。(看过数码宝贝么,这一步就如同是数码宝贝从最低级的滚球兽(即情况一),进化到亚古兽(二),然后从亚古进化成暴龙兽(三),最后超进化成钢铁暴龙兽(情况四)。
情况1 概率1/8 情况2 概率1/4 情况3 概率1/2 情况4 概率1/8
在这一步中我们需要无视角块,只看顶面棱色块,比如左图这样的,就算是第3种情况。右图是第2种情况。
那么,当大家碰到情况一,怎么办呢? 进化!
你作为“被选召的孩子”,该怎么让你的“数码宝贝”进化呢?我们也需要“进化钥匙”。那就是下面的公式2。运用它(至于从哪个面开始拧,这种先迈左脚还是先迈右脚的问题,暂时还是不要讨论的好……直接拧),就会把一个绿格在中间的这种情况进化为三个绿格一竖排。果然,情况一变成了情况二。
R'
U'
F'
U
F
R
当魔方顶面情况二出现后,我们就该意识到:要想战胜敌人,就得再进化!
要想把情况二变成情况三(左图),其实只要重复上面的公式2即可,便形成了右图的情况四。那么这次我们又该从哪个面拧起呢?…… 不是我罗嗦啊,这是个原则性很强的问题。我再次打个比方:
请大家把这个竖杠看成针头,让针头指向自己(无论针头的哪个磁级指向你,总之不会是因为你有磁性的……所以请不要找针头的南北级在哪头,只要指着你就行)。指向你后,再照公式拧,就完成进化了!(想问为什么要先指向你,再用公式?那就别让它指着你,直接套公式,拧完后你自然就明白了。……还不明白!我惨叫!怎么会不明白?因为那样拧魔方就会被打乱了!说起学魔方的最高境界是什么?我想大概就是学会教会别人玩魔方吧!)
不废话了。我们已经解决了情况二,接下来,我们就会看到一个“L”型的绿色的小箭头了。怎么办?还是用这个公式啊,无论你怎么进化,都得用进化钥匙才行!那我又要罗嗦了:这回又得从哪开始拧啊?孩子!记住!上次是让“针头”指向你,这回针头变箭头了,你还是得让它指向你(正好也是上图所示的拿法),然后再次套公式2……
顶面十字出现,第四步完成了!
________________________________________
(第五步)还原整个顶面:
在我们的入门玩法中,魔方顶面的(除还原以外)只可能出现以下7种情况。(大家要习惯下面这种魔方情况的表示方法)
先请大家记一个公式:R'U'R U'R'U2 R(公式3)和这个公式的镜像:L U L'U L U2 L'(公式4)
所谓镜像,我在前面已经介绍过了,如果你还不懂,很正常,这只能说明我表达能力很悲剧……。不过我想大家自己转转看也就应该明白了。
接下来请大家在上面几种情况中找出自己所遇到的情况,我们来找规律一,然后各个击破。别看有这么多种情况,其实只用一个公式解决。我们按照从简单到复杂的顺序来讲。
如果我们运气好,就会遇到情况1(第一副图)大家就把魔方的顶面按照图上的样子摆,使你的魔方的顶面能和图上的重合。当然,首先大家要看出它是情况1还是情况2,它们的确很相似,不过显然它们确实是不一样的(如果你还不是很清楚,就转转顶面,和图上的对照一下就清楚了)。虽然很废话,但这是新手经常搞混的地方。它们既然如此相似,那么我们就把他们放在一起记,遇到情况1,并与图1的样子对齐后,就用上面介绍的公式3。如果碰到情况2,我们同样要与图2对齐,然后用公式4。就可以还原顶面了。
有些人会觉得这儿学起来有些吃力,明知道它是哪种情况,可就是拧不对。这样的人也很常见……我遇到过这样两种傻冒:第一种,他总是转着转着就把顶面当前面拧了,然后就来找我了。。。如果你习惯拧一下甩甩双手,再拧一下,再甩甩,然后不动脑子就拿起魔方继续拧下一步,当然就会出现这种现象了。在没有特殊要求的情况下,顶面的中心块始终是绿色的啊!它要始终对着苍天!……第二种孩子:它分出情况后,脱稿后,却不知道用哪号公式了。情况1、2的顶面上会有三个格不是绿色,但它们侧面始终有一面颜色是绿色。记住,三个块中位于中间的那个块的侧面也有一侧是绿色的,这一侧面的绿色,它在哪个平面上,你就从哪个平面拧起,然后把公式顺下来。比如情况1,三个带绿色侧面的块,的中间的那个块,的绿色侧面,在右边(R)是不是?那么我们就先拧右边——R',从右边开始拧的是哪个公式?公式3吧,然后就把U'R U'R'U2 R顺下来。(话很拗口,关键还是在实践和理解,那样思维就清晰多了)
下面我们来解决情况类似的图3、4、5。大家会发现他们顶面都有两个角块没被还原成绿色。而图6、7呢?它们则是顶面有四个角块没有被还原成绿色,也就仅仅呈现出一个十字而已。那么,请大家记一个口诀“二后四左”。什么意思呢?就是说:顶面如果有两个角块没有被还原成绿色,就让这两个角块中的一个角块,带绿色的那个侧面(图中用一杠表示绿色侧面的位置),(对于你而言的)要在左后角朝后(如图3、4、5上已经是正确的摆法);那如果有四个角块没有被还原,就让这四个角块中的一个,的绿色侧面,在左后角的位置上朝左(图上也已给出了正确摆法)。
然后按照正确的摆法,用公式3(再好奇都不要用二号,因为那是不起作用的!)。转完公式后,你就会发现,顶面又回到了图1或图2了。这里有点用词不当了,并不是周杰伦的《回到过去》,虽然情况1、2是“过去的画面”,但其实还原并非“离你而去”,透过现象看本质,其实我们是把这些复杂的情况简化成情况一和情况二来解决了。
上面的文字看不懂没关系,使劲看就能看懂了……
一定要注意实践啊,当自己不确定自己所理解的是不是对的,那就按照自己理解的拧一遍,如果目标达到了,那你的理解基本上没错。
提示:直接使用高级算法中的OLL手法,就可以直接还原顶面了!别以为遇见救星了……既然是高级算法,有它的方便,自然也有它的难度。
________________________________________
(第六步)调整四角顺序:
如何将下面这几副图所显示的情况调整成右图呢?和前面学到的几个公式一样,运用公式前,我们先得了解一下怎么摆?(即清楚哪个面朝前哪个面朝后哪个朝左哪个朝右,大家学了这么久,对魔方每个面的方位一定要清清楚楚才行)从哪拧?
我们不必立刻在自己的魔方上找上面的四种情况,我们先来找规律。
顶层一圈是由四个长条,每个长条三个格子组成的。大家有没发现:四个长条中有一种长条(只会同时出现一个,或者四个,甚至有时一个这样的条都不出现,后面我们会讲到,现在你只要知道,这就是规则,除非你把魔方拆了,否则不会出现其它什么有两个长条都带两边同色格子的情况),它在两侧的格子是同色的(就类似于上面四副图中位于前面的长条),位于中间的那一格我们姑且无视它,即便图三中长条的三个格都同色,我们也不要睬它,关心毫无意义的东西是在浪费时间。
为方便一部分人理解,我又要幼稚地比喻了:我们把长条中两侧同色的格子看成轿车后面的尾灯;既然是尾灯(没车不要紧,总见过车吧,车的屁股后面的两侧有两个倒车用的警示灯,这就是传说中的尾灯,明白了吧),当我们正对着车时,尾灯无论是红的、黄的、还是橙的、白的,它就是没亮,也是在车后面的。
魔方也是这样,我们把“尾灯”放在魔方的背面,然后用下面的公式:
有个孩子问我:初始情况里怎么看不到尾灯?——因为它在魔方背面! L
F'
L
B2
L'
F
L
B2
L2
如果你是左撇子(很不人性化的就是,没有专门教左撇子玩魔方的内容,在这里意思一下),也可以用这个公式的镜像:R' F R' B2 R F' R' B2 R2
前面括号里还提到了另外两种情况:顶层长条四个面都是“尾灯”(即这一步的第一副图,也是学习这一步最终形成的情况);第二种是没有一个长条带尾灯的。如果你还没进行这一步,就已经是这一步所形成的“终结版”,那么你运气真好……如果你遇到的是第二种,其实也很简单:你暂时不必顾忌从哪拧,没有道理的说——没有尾灯的车,无论哪个面都算后面。直接拧上面的公式就可以把它变成带尾灯的情况了,然后按一般让尾灯朝后,重复上面的公式,就解决了!
________________________________________
(第七步)调整棱块,还原整个魔方!
最后一步了,你离还原魔方只差最后一步了!“这是你还原魔方的一小步,但对于还原整个魔方而言却是一大步!” 昨天,周围的同学还在鄙视地说你是婴幼儿,而今天,你即将“脱贫至富”,你的IQ也将从50一下升到150!此时,你完全有理由说:“全是我自己看会的!” 朋友们将用无比佩服的眼光看你;如果还有不服的,来,给他个把月的时间研究,让他也还原试试!
不要激动的太早,虽然这一步只要重复使用两次第五步学到的公式,但还是有一少部分人吭哧老半天。闲话少说,进入正题:
此时呈现在我们面前的魔方,一般是带有三个尾灯和一个“头灯”。尾灯的意象大家应该都很清楚了,怎么又来个“头灯”呢?
在这里,我再次为方便少部分人理解而打个比方,头灯代指“车前头的灯”(没办法,水平有限,我想不到更恰当的词……)。其实头灯在上一步中大家已经见过了;上一步中,在没有发现尾灯只有头灯(图3)的情况下,头灯就是尾灯,为了不混淆初学者,我上一步就没引进如此神经的词了,希望学会上一步的朋友不要在这里又搞混了……
那么,这种情况该怎么还原它们呢?
重复老话题,怎么摆,从哪拧?记住,我们面对魔方,把它想成四面都有灯的车(我确实也没见过这样的车……拜托,想象一下),让车的头灯朝向自己(如让右图中的黄色长条朝自己)。然后使用我们学过的公式3。使用过后,我们发现顶面和顶层变成了第五步中的图2,此时又不禁使人想起学第五步时的《回到过去》,同样的,这里也已是“物是人非”了,先别急着“欲语泪先流”,再按照第五步的解法做。
痛苦的学习,终于有了成果,你解脱了……
等下!
你先别急着把魔方砸开……
虽然你已经还原三阶魔方了,但其实最后一步还有两种特殊情况你还不清楚该如何解决。如下图,他们的棱块位置还不正确,你需要“无所顾忌地”使用公式3和4把它们简化成上面的情况,再重复公式3、4,也就还原了!
我又来了:高级算法中的PLL手法,可以直接从第5步还原整个魔方,正如我上面所说,想学高级算法,谈何容易,想掌握整个高级算法,保守的说也得需要半年时间。
‘陆’ 魔方的计算公式是什么
魔方的计算公式是还原公式方法如下:
1、底棱归位,又称之为 Cross,英文的意思是十字还原,选择白色面做底面,在魔方的底层架十字。还原棱就是在每一个面上都拼出个十字,拼十字时不是按面来的,而是按层来的。先还第一层的,也就是在第一面上拼出个十字。
‘柒’ 解魔方的步骤
术语 [编辑] 书写规定 在书写魔方转动步骤的时候,有一些国际约定需要注意:层表示约定:F、B、L、R、U、D分别代表前、后、左、右、上、下层,另外还有f、b、l、r、u、d符号,意为两层一起转。 转动约定:如果为顺时针转动90度,则层符号后无内容;若逆时针转动90度,则记为层符号+“'”或是“i”,比如上方第一层逆时针转动90度,则记为U'或Ui;如果转动180度,则记为层符号+“2”,比如上方第一层转动180度,记为U2。 [编辑] 基本术语 阶:阶数是指魔方每个边所具有的块数,比如三阶魔方每个边就有3个小块。 复原:指魔方从非原始状态到原始状态的过程。 POP:指在复原中魔方的某些组成部分从魔方上面脱离的情况,如果是出现在比赛中,参赛者可选择修理魔方继续比赛,或者放弃而被判DNF。 DNF:是“Did Not Finish”的缩写,指停止计时器时方块尚未复原(魔方复原失败),或者魔方复原者感觉无法在满意的时间内完成魔方而弃权的情况,在比赛中可以有一次DNF,在多次尝试取平均成绩的比赛中算作最差成绩。 DNS:是“Did Not Start”的缩写 ,指参赛选手在一轮中放弃尝试机会而并未开始还原,多次尝试取平均成绩的比赛中算作最差成绩。 SUB-X:SUB是“Subtraction”的缩写,意思就是少于的意思,在这就是“在X秒以下”之意。例:三阶方块SUB-20,就是指平均速度在20秒以下。 Fridrich Method:这是由一位叫Jessica Fridrich女士发明的一种速解法,是目前世界上最流行的方块解法。 CROSS:字面上的意思为“十字”,是Fridrich Method中的第一步骤。 F2L:是“First 2 Layer”的缩写,意思为“一、二层”,是Fridrich Method中的第二步骤。 OLL:是“Orientation of Last Layer”的缩写,意思为“最后一层的取向”,这是Fridrich Method中的第三个步骤。 PLL:是“Permutation of Last Layer”的缩写,意思为“最后一层的排序”,这是Fridrich Method中的第四步骤。 CFOP:是Fridrich Method的的别称,就是四个步骤“Cross、F2L、OLL、PLL”原文的第一个字母合起来而成的。 CROSSF2LOLLPLLLBL:是“Layer By Layer”的缩写,意思是“一层一层解”,也就是学魔术方块最基础的解法。 CE-PAIR:是“Corner & Edge PAIR”的缩写,是F2L中主要的观念,就是由角(Corner)和边(Edge)所组成的小区块,又称PAIR。 ZBF2L:这是一个比较有技巧性的F2L,一般的F2L完成后,顶层的OLL一共有57种变化,但是使用ZBF2L后,完成最后一组的CE-PAIR时,顶层的十字会顺便完成,所以剩下的OLL的情况,就缩减到7种。 COLL:这是一个比较具有技巧性的OLL,一般的OLL完成时,所出现的PLL一共有21种变化,但是使用COLL后,可以把OLL和四个角的位置一次归位,所以OLL只剩下“边”的情况,就会缩减到5种。 LARS:这是一种解魔术方块的方法,发明人为Lars Petrus,号称步骤比Fridrich Method少的解法。 [编辑] 快速解法 魔方的解法有很多种,以下是其中几种解法。[编辑] 层先(LBL:Layer By Layer) 这类解法分为以下几个步骤:选择一个颜色作为底面色,然后使用基本公式将其拼成一层。 将第二层归位。 将最上层转出一个“十”字。 将最上层利用公式填满同一种颜色。 角块归位、对色。 边块归位。 由于其公式少(可以简化为7个),所以一般为初学者使用。一般人在经过练习后,使用一个好魔方可以达到1分钟之内复原的水平。[编辑] 角先(Corner First) 角先方法是先将魔方的八个角归位定色,然后再填补棱色,最后完成复原。这种方法记忆的公式比较多,所以速度会较层先快。最快的角先魔方高手可以在30秒之内复原魔方。[编辑] 棱先 棱先方法是先将棱块归位定色,然后填补底层和上层的角块的方法。棱先法 解法教学 [编辑] Fridrich Method Fridrich Method(简称CFOP)其实是层先的变种,但是由于其归纳出了可能出现的各种情况,所以在记忆量上面要增大许多倍(119个公式),但同时也能有效的增加速度。其步骤分为以下几个:将底层转出一个符合色块分布的十字 (Cross) 同时将底层角块和相对应棱块归位 (F2L,First 2 Layers) 41个公式 最上层利用公式将颜色统一 (OLL,Orientation of Last Layer)57个公式 将最上层侧面的颜色统一 (PLL,Permutation of Last Layer)21个公式 现在绝大多数魔方高手都使用Fridrich Method,因为相对于它能达到的速度来说,119个公式的记忆量就显得不多了。快速还原解法java动画教学-Fridrich method(cfop)快速还原解法(分步视频动画) [编辑] 8355 Method 由台湾的许技江老师所规划出来的解法,强调以理解的方法去解出魔术方块,期望能消除新手对于“解方块需要大量公式记忆”的疑虑。将方块分成单层8 个角、第二层3 个边、第三层5 个边归位后再将剩下5 个角归位并转正。8:和LBL法类似,将第一层完成,只是刻意留下一个角没解开,留做“工作区(Working Area)” 3:利用工作区将第二层的3 个边塞入,不像LBL法需要背两个镜向动作的“八步法” 5:利用工作区将顶层与工作区的5 个边归位,不像LBL法需要背“六步法”以及两个镜象OLL公式 5:此时剩下顶层与工作区的5 个角,利用简单的去返动作,即可达到位置送换,以及翻动方向,此时一颗方块即解答完成。 其后面两段"五边"和"五角"的解法,可以用在Megaminx正十二面体魔术方块的最后一层解法上,不需要做调整改变,依然适用。8355 解法教学-许技江老师网页 (8355 Method Introction) 8355 Method java动画教学-三阶魔方还原方法-8355 Method [编辑] 桥式解法 先在两个侧面下方各形成正确的2X3两块, 使顶面的四个角块归位 调整中间四个棱块和侧面两个棱块的朝向 左右侧面顶部的棱块归位 中间棱块和中心快归位 快速还原解法java动画教学-三阶魔方桥式快速还原解法教程(公式+图+视频+java) [编辑] 电脑解法 由于电脑没有记忆公式的困难,因此可以获得更佳的解。但是由于魔方的模型空间巨大,使用穷举法还是不实用。目前广泛使用的算法步骤如下:双转归原:如果限制每次旋转,除了两个相对的面(比如左边和右边)之外都是180度,那么能够转出来的花样就少了很多。把魔方从任何状态归位到这些花样之一,就是双转归原。 复原 在前一步骤的基础上进行复原。 用电脑程序进行搜索,双转归原一般需要12步来完成。而复原的步骤则需要18步。但是如果能进一步优化,使得双转归原的结果避开那些需要较长步骤复原的状态,一般可以得到更短的复原步骤。通过运用电脑,Tomas Rokicki于2008年宣布证明了任何魔方可以在25步以内解开[1]。而随后,这一结果改进为22步[2
‘捌’ 魔方的算法是怎么计算出来的
早期完全是人脑思考,现在是有电脑解法了。
人脑解法就是先划分局部目标,利用抵消和循环动作不破坏已经拼好的部分,然后逐步完成全部。在尝试中积累到更多经验的时候,就可以逐渐减少局部目标的数量,同时难度也提高了,不过总步数却减少了。减少步数就是最终方向了,它说明了思考更具全局性。
我无法预测人脑最后能不能进化成完全立足全局进行思考,但我知道那很遥远,因为人们太不注重优生了,总是随便凑一对解决性饥渴就行了,然后就一辈子捆上了。
我不知道别人是在什么样的状态下解出魔方,我是在快乐的忘我状态下解魔方的,也许是“入定”也许不是,培养起持续思考的能力的人应该各有各的状态吧。我是沿袭了解残棋时养成的习惯,思考时有脑内按摩的快感。不过现在快感的阈值总在提高,残棋早已没有快感了。
我尝试了用自己所能想出的所有顺序去拼魔方,也就是进行各种不同的局部目标划分,因此可能积累的经验要比多数人稍多一点,不过这一定只是解法中微小到无限的部分。我不确定解法无限,但确定再高的智商也一生研究不完。因此,棋和魔方我都不会花一生时间沉醉其中,适当用来娱乐就行了。
提一下中心块吧,6块相对位置是不变的,但有原地转的自由。因此6色魔方和拼图魔方是有些不同,6面带图案的是真复原,6色的通常由人脑来处理就不是真复原。3阶魔方解法也就这两类,各种还原顺序都不能算类,包括一些蒙眼小丑的表演都不能算类。
不多说了,最后纠正一下你的认识。一般人就可以解魔方,只要培养起思考方法。
‘玖’ 二阶魔方公式口诀7步公式是什么
魔方公式口诀7步公式:
第一种情况公式是:(上顺,右顺,上逆,右逆,上逆,前逆,上顺,前顺)
第二种情况公式是:(上逆,前逆,上顺,前顺,上顺,右顺,上逆,右逆)
1、前顺,右顺,上顺,右逆,上逆,前逆。
2、右顺,上顺,右逆,上顺,右顺,上顺,上顺,右逆。
3、上顺,右顺,上逆,左逆,上顺,右逆,上逆,左顺。
4、右逆,下逆,右顺,下顺
可重复多遍。
二阶魔方的最远复原距离(即最需要最多步骤复原的状态)为11次全旋转,或者14次普通旋转,此结果可以用计算机使用暴力穷举算法计算出。