一式解万方——魔方通解法则
本文来源于魔方博客 http://www.mfblog.org/ , 原文地址:http://www.mfblog.org/qu-wei-mo-fang/178/
作者:邱志红
-------- N 阶魔方的公式解
为了得出 N 阶魔方的公式解法,我花了很多心思( 还谈不上心血 )。我是学数学的,于是我就想方设法动用了很多数学工具。为了公式的完美,我又对转动的描述法等作了多次修改。现在以飨读者。
首先还是说一下我的方法的优点吧。
1.它完全可以解 2 阶或以上的立方体魔方。当然不包含联体的魔方。
2.它不但可以解 N 解魔方的表层,还可以解魔方的内层,从而完全复原魔方。
3.中心块问题也在该方法的解决范围之内。还有相应的面块问题的解决。
4.操作可运算,能得到一个操作从不同方位的描述。方便了不同习惯的玩家。
5.简单易学,容易理解。操作简单有很强的规律性。
6.变化多样,有待进一步研究和开发。是学习和研究魔方的一手上好的资料。
7.当然最诱人的是,该方法只使用一个公式( 包括一些必要的变换等 )。
8.描述法及相关变换对长方体型的魔方也完全适用。
文章比较长,以下为目录索引:
目录:
一、坐标体系
二、右手法则
三、转动的描述
四、操作序列的运算
五、操作序列的运算的意义
六、旋转及旋转变换
七、相似及相似变换
八、至关重要的操作
九、魔方小块的分类
十、N 阶魔方的复原
一、坐标体系
N 阶魔方是一个空间的立方体,为了方便研究,我引入了数学里面的坐标系的概念。但不是直接引用常规的笛卡儿直角坐标系。而是我因地制宜而建立的一套新的直角坐标体系。
它的起点分别在立方体的 6 个面的面心。6 个轴的方向都指向立方体的中心,然后终于各自对面的面心。如下图:( 应该是终于各自对面的面心的,不容易画就没画,见谅 )
图中的 6 个轴指的方向和一般的笛卡儿直角坐标系是一致的。还是数学里面的方向指向。特别地一般的坐标系是三个坐标轴,每个又分别分为正负两个半轴。这里的坐标系不同,是 6 个轴 ( 全轴非半轴 )。6 个轴指的方向都是各自的正方向,没有负方向。图中 -x 方向不能说是 x 的负方向,只能说是 -x 的正方向。以后说 -x 方向就是指的 -x 的正方向,不在重复了。这样就有 6 个正方向了。
就这么多了。下面来介绍我关于转动的描述。
本节完。 回到目录
二、右手法则
这里插入一节,讲一讲右手法则:右手标架是指伸出右手的大拇指,食指和中指,三者是三垂直的,就象一个坐标架一样。而且令三者分别指代 x,y,z 的正方向,则刚好与笛卡儿直角坐标系是一致的。所以右手标架可以很容易的确定 x,y,z 三个正方向之间的关系,也
很形象,便于记忆。如下图:
各位可以拿出右手来比划比划一下,很容易理解和记忆的。
右手螺旋法则:右手四指握紧,大拇指朝上。然后大拇指指向某个正方向,那么四指弯曲的方向就是该正方向对应的旋转的正方向。如图:
发现旋转的正方向就是平常所谓的逆时针方向。这样很容易产生混淆。建议:为了学习我的方法就必须该掉习惯,使用右手螺旋法则而不去使用顺逆时针的法则。
本节完。回到目录
三、转动的描述
垂直于 x 方向的有 n 个层。按照其方向,分别称之为 X1,X2,1,X3?? Xn,。再看看 -x 方向。垂直于 -x 方向也有 n 个层。按照其方向。分别称之为 -X1,-X2,-X3 ?? -Xn、可以发现同一个层有两种表示法、这不是很奇怪的事情。就象 1 可以写为 1 或 -(-1) 一样,是可以理解的。同一个层 Xa 和 -Xb 满足 a+b=n+1. 注意:它们两者的意义是不完全相同的,虽然表示的是同一个层。同理 y,-y,z,-z 方向也如此。
上段中的 n 与标题中的 N 的意义是一样的,一个方便讨论,一个是做标题的需要,更醒目些。所以不要误解。后面对 n 与 N 是不加区分的。特此说明。
现在开始讲难理解的部分。有了上一节作铺垫,应该好理解一些了。如上图垂直于 x 方向的 n 个层,如果按右手螺旋法则正方向旋转 n×90 度则记为 Xan。它是 4 周期的,一般也只取 1,2,3 就可以了。为了记录方便。
Xa1就将上标 1 省去,简记为Xa。
Xa2,不变。你要记为Xa-2我也没办法。
Xa3根据周期性记为 Xa-1,也是省去上标中的 1. 简记为Xa-。
同样 -x 方向也是一样的。此时的正方向为 -x 方向,与上面的刚好相反,旋转的正方向也相反。如上图垂直于 -x 方向的 n 个层,如果按右手螺旋法则正方向旋转 n × 90 度则记为 -Xan。上标的处理同上。现在你就会发现同一个层Xa和-Xb满足 a+b=n+1. 它们两者的意义是不完全相同的。如果将它们理解为一个转动过程时就可以看到这一点。如下图:
我是以面代层的。为了演示的方便,用的是 y 与 -y 方向。发现两者都是描述某一个层的
转动,但两者描述的旋转方向是相反的。原因是因为两者转轴的正方向是相反的。两者互为逆操作。于是某一个层转动就有两种描述。例如:Xap可以描述为-Xn+1-a-p。
一般的Uap=-Ubq。满足 a+b=n+1 且 p+q=4t. 其中 U ∈ { X,Y,Z },t ∈ Z.
多个转动操作就构成一个操作序列。如X52-Z2-X1Y32。
一个转动有两种描述法,可能大家会觉得很烦琐,但后来会发现这样做是很有必要的,在处理很多问题的时候显得很灵活。更重要的是可以使公式既简洁又系统,还方便了运算。
下面要讲的东西是前无古人的。就是操作序列的数学运算。也正我引用 X,Y,Z 系统来描述魔方转动的原因。
本节完。回到目录
四、操作序列的运算
这里有空间解析几何的知识:右手标架和外积。外积用“ 叉乘 ”:×。内积用“点乘”:·。这里只讲外积。两个矢量 a,b.a × b=c. c 矢量同时垂直 a,b. 且 a,b,c 构成右手系即按右手标架的顺序排列。与 b × a=d 是不同的。d 矢量同时垂直 a,b. 且 b,a,d 构成右手系即按右手标架的顺序排列 .d=-c. 所以外积是满足反交换的。即 a × b=-b × a. 外积是严格讲顺序的。
由于 X,Y,Z 构成右手系 ( 注意 :X,Y,Z 的顺序不是随意的 .Y,X,Z 就不构成右手系 ), 那么自然有 X×Y=Z, 还可以轮换即 Y×Z=X,Z×X=Y. 这里把 X,Y,Z 都默认为单位矢量,方便了运算。
按照外积的反交换律 ,Y × X 等我就不多说了。而 X×(-Z)=-X×Z. 计算的时候可以不管前面的“ - ”。于是 X×(-Z)=-X×Z=-(-Y)=Y. 当然还有 X × X=0,Y × Y=0,Z × Z=0. 这就是 X,Y,Z,-X,-Y,-Z 它们之间的“叉乘”关系。
上面讲的是理论上的,还要兼顾实际。X×X=0,Y×Y=0,Z×Z=0 在实际运用中就有问题,于是这里特别规定 U×(±U)=U.U ∈{X,Y,Z,-X,-Y,-Z}。特别注意:U 是含符号的。
上面讲的东西马上就可以应用到操作序列里面。如X52-Z2-X1Y32 。
那么(X52-Z2-X1Y32)×Y=Z52X2-Z1Y32。是另外的一个操作序列了。运算的时候上标和下标不参与,只是转轴进行运算。可以多次运算,如 (X52-Z2- X1Y32)×Y×X2。乘的时候严格按顺序来。前面式子中有×X2。就是连续叉乘两次,即×X×X. 还有叉乘三次的如×Z3。其实算来和×(-Z)是一样的。这里不证明了。后面由几何意义可以直观明了地看出来。
下面就来看看其几何意义 ( 也比较难理解 ). 只看一次操作就可以了。如图-Yb和-Yb
×Z=-Xb的关系。图中没有画 Z 轴和 -Z 轴。还是以面代层 .b 表示某个方向的第 b 层。
第一和第二图分别代表实际的转动,暂看不出什么。来看第三个图。其实和第二个图意思是一样的,只是方位不同。再看一,三两个图的关系。发现可以看成是转动的位置没变,只是整个坐标系包括 Z 轴和 -Z 轴在内以 Z 方向为轴正转 90 度。这就是× Z 的意义之所在。但实际操作时总还是将坐标系固定。你可能要说是魔方在整体转动,其实魔方也没有动,可以假想为它在动而已。那什么东西动了呢 ? 是看不见的“操作”在动,是某个方法在变化,是属于软件的范畴,所以看不见。看不见但照样可以认识它,通过它造成的影响来认识它。所谓风吹草动,观草动而知风吹,说的就是这个道理。
举一个实际的例子可能大家理解得快一点。就说两个相邻的角块的原地自转 1/3 的问题。
特别声明:没有特别指出时,后面出现的配图及讨论都是相对魔方的原始态 ( 复原态 ) 而言的。
大家用的方法都不一样,所以我也不好写具体步骤了。就假设作成第一个图中的状态用的是一系列操作 A 吧。这是习惯最后一层在底面完成的人的做法 ( 各位很不幸,我就是这种习惯 ). 而所谓的大部分人都习惯最后一层在顶面完成。如果教的人 ( 我 ) 是用的是左图中的习惯,教的是操作 A, 而你习惯右图中的习惯,该怎么办 ?
其实好办,用 A×(-X) 就行了,步数是一样多,没有增加步数。再看 A 与 A×(-X), 坐标系是转动的参照,是铁定不会动的。而魔方整体也没动,两次都是红面心朝前,蓝面心朝右,黄面心朝上,一目了然。就是操作动了,导致效果动了。操作 A 叉乘 -X, 就导致操作的效果以 -X 方向为轴轴逆转 90 度。不是正转 90 度。这很容易弄错(我有时候也被弄糊涂了), 要小心。好好理解一下这时候的对应关系吧。操作的效果是反对应的。
本节完。回到目录
五、操作序列运算的意义
上面一节已经隐含地讲了一些意义了。操作序列的运算方便了不同习惯的玩家,使玩家能很容易地把他人的方法转化为符合自己习惯的方法,而且转化方便易行。前提是转动的描述法都使用我提出的转动描述法。即我现在提出的 X,Y,Z 描述系统。即使使用我以前提出的 X,Y,Z 描述系统也是不行的。
现在盛行的描述法用的是 L( 左 )R( 右 )B( 后 )F( 前 )D( 下 )U( 上 ) 系统。它在三阶魔方转动的描述还算差强人意。一到三阶以上魔方的描述就不行了,版本多而杂。动用了坐标系而不用 XYZ, 简直就一 “四不象”。对于中间的各层的转动描述更是乱而且烂,老是分情况描述,象搞特殊化一样。当然更不可能满足不同习惯的玩家。居然还称之为 “ 魔方术语 ” 充内行。是不是觉得别的描述法都是旁门左道,不够专业,只有该方法才是正统。
我的描述法的好处大家都有目共睹。不搞特殊化 :2 - n 阶都一样描述,奇数阶和偶
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库一式解万方——魔方通解法则在线全文阅读。
相关推荐: