三阶魔方复原操作方法

       在女票的指导下,我花了一个晚上学习如何复原三阶魔方,虽然是知其然不知其所以然,但好歹也能把魔方复原了。下面都是一些傻瓜式的操作,里面涉及的理论我不清楚。魔方总共分三层,下面是每层复原方法。

 

第一层

1、先以“九个小面中最中间是白色(当然可以其他颜色)的那个大面”为第一层的面,即我们要复原的第一层。

2、接下来将与中间小面直接相连的四个小块都转成白色的。

(1)首先(随意)找到一个带有白色面的、且位于某条边中间的小块(比如下图的23面对应的小块),然后旋转,使得该小块的白面与上面中间白色小面直接连接(如2面和1面相连)。

(2)然后旋转第一层,使得在(1)中寻到的那个小块的另外一面和第二层中心小面颜色一致(如3面和4面相连)。

(3)然后在维持1234面如上图所示的情况下(其实就是固定作为参考),找出其他三个与第一层中间白色小面直接相连的、带有白色面的、且位于每条边中间的小块)。如何找呢?在1234面保持位置不变时,由15面颜色可知,67面颜色应该分别为白色和绿色,那么我们可以找到处于某条边中间、且颜色为白绿的小块,通过就近原则,旋转到67位置。有时候就算找到了,可能相对位置也不合适,那么我们可以把该小块旋转至第二层,然后修改其位置就可以有合适的相对位置了。

(4)完成的效果如下:与1直接相连的2567面都是白色,而且34、89以及相对的背面,第一层颜色和第二层中间小块的颜色是相同的。

(5)接下来分别调整10,11,12,13的位置,使得第一层的颜色都相同。

比如我要调整13、14、15对应的小块,则首先要确定该小块三面该有的颜色。

如何确定呢?从1、3、8面颜色可知,该小块颜色应该为白蓝红。接下来要从顶角位置找到一个三面颜色分别为白蓝红的小块,并通过合适的调整放到上图13、14、15对应的位置上。

何谓“合适的调整”呢?a、首先通过就近原则,旋转到同一层或者同一面;b,如果a之后,三面的颜色位置相对就是对的,则通过简单的旋转(以不动第一层的十字白色为前提,如果简单旋转会引起十字变动,则应该先把引起变动的部分旋转,等简单旋转之后再恢复),如下图1、2面的位置就是对的,我们只需要把1、2面对应的移到上图的13.14.15面对应的位置就好,即“右上”旋转操作,但这会把5面移动掉,因此应该先把7.1.11.6.12旋转之后再把12面移上来,然后再旋转7.1.11.6.12到原来的位置。

c、如果相对位置不是正确的,则需要如下操作:确定正面(15、8、9面所在的平面为正面,即以待移动的方块所在的面),然后左下—》下右(右)—》左上—》下左

(6)以此类推,完成第一层的操作。此时第一层已经恢复,而且1,2颜色相同,3,4颜色相同,对应的面的位置也如此。

 

第二层

口诀:上左,右上,上右,右下,上右,前逆,上左,前顺

(1)如图,此时由1,2面可知,3,4面颜色应该和1,2面对应相同。

(2)每执行一遍上述口诀,则会把5、7对应移到3、4。为了恢复第二层,则5的颜色应该尽量和1的相同,7的和2的相同,这样执行口诀后就会恢复。为了使得颜色相同,有时需要把第三层待反过来的小块放到6处,执行口诀,则6处的那个小块颜色就会调换。

(3)根据上述步骤,完成第二层的恢复工作。

 

第三层

完成第二层后,第三层的面可能出现以下由黄色组成的图案:

(1)中间黄色一个点(和第三层面相邻的任何一面作前面)、一个小拐弯(拐弯是左上角时,朝向自己的作前面),或者一横(与横平行的一面作前面),或者十字(和第三层面相邻的任何一面作前面)(前面几种经口诀后最终变成黄色十字(或者小鱼),黄色十字的话转到步骤(2),小鱼的话直接使用对应的小鱼公式。所谓剩下不为黄色的数量,即第三层面除了黄色十字之外的四个小面中有多少个不为黄色)。

上面任何一种情况最终变成黄色十字的口诀(可能需要反复进行):前顺,右上,上左,右下,上右,前逆。

(2)第三层面黄色面为上面,然后看第三层剩下的不为黄色的数量,使用口诀“二后四左”来确定“前面”(二后,即颜色不为黄色的两个面,它们的另一面必然会是黄色且应该指向后面,这样就可以确定“前面”了。四左,即黄色要朝向左,若不朝向左,需要换另一个“前面”使得黄色朝左上角)。明确“前”面后,就可以使用小鱼公式(这时顺逆公式都可以)。

逆时针:右下,上右,右上,上右,右下,上右右,右上,之后如果第三层上面全为黄色,调到步骤(3),否则判断小鱼的顺逆方向,再次执行对应小鱼公式(注意以不破坏鱼头为准来确定前面)。

顺时针:左下,上左,左上,上左,左下,上左左,左上,之后如果第三层上面全为黄色,调到步骤(3);否则判断小鱼的顺逆方向,再次执行对应小鱼公式(注意以不破坏鱼头为准来确定前面)。

(3)黄色朝向自己作为正面,右边要求两个小面颜色相同,且两个小面应该转到和其颜色相同的大面,然后再进行下面口诀。

口诀:右下180,下180,右下,上右,右上,下180,右下,上左,右下

a、口诀后,经过适当转动第三层,此时如果和黄色面相邻的四个面中,有一个面是完整的,其余三个面有一个点,则需要判断顺逆时针,以完整的那一面作为前面,执行(2)中的小鱼公式。此时仍可能出现小鱼,则继续对应的小鱼公式。

b、此时如果和黄色面相邻的四个面中,每个面都只差一个小面就完全同色(或者说,对立的两个小面交换才是正确的),则执行任何小鱼公式(第三层黄色作为上面,接壤的四个面哪个面作为前面都行)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Phaser开源2d引擎 javascript/html5游戏框架

功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash CS6&#xf…

8大排序算法图文讲解转

本文链接:http://www.cricode.com/3212.html 作者:快课网——Jay13 转载请务必保留作者出处,谢谢! 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大…

与Linux系统相关的面试题

摘自微信公众号:嵌入式ARM 1、TASK有几种状态? 运行、就绪、等待、睡眠、挂起 2、TASK有几种通讯方式? 共享内存、信号量、消息队列、管道、socket 3、sysfs的主要作用? (1)可以把设备和驱动程序的信…

linux pmap was java,jvm 《九》pmap linux 命令介绍 及使用

用法pmap [ -x | -d ] [ -q ] pids...pmap -V选项含义-x extended Show the extended format. 显示扩展格式-d device Show the deviceformat. 显示设备格式-q quiet Do not display some header/footerlines. 不显示头尾行-V show version …

Immutable Collections(3)Immutable List实现原理(中)变化中的不变

Immutable Collections(3)Immutable List实现原理(中)变化中的不变 文/玄魂 前言 在上一篇文章&#xff08;Immutable Collections&#xff08;2&#xff09;ImmutableList<T>实现原理.&#xff08;上&#xff09;&#xff09;,分析了&#xff09;ImmutableList<T>…

大话Fragment管理

大话Fragment管理 上一个项目遇到了一个Activity 管理30个Fragment的情况&#xff0c;刚开始的时候真的管理的焦头烂额&#xff0c;但是后来不停的研究api文档&#xff0c;渐渐的明白了android的Fragment管理 体系。下面用…

c语言例题功能作用,一篇C语言面试题的汇总

2015-03-21 06:30:02阅读( 107 )1&#xff0e; 找错void test1(){char string[10]; //string的长度应该设为11&#xff0c;要给”留出位置char* str1”0123456789″;strcpy( string, str1);}void test1(){char string[10], str1[10];for(I0; I<10&#xff1b; I ) //变量…

第一季4:Hi3518E_SDK_Vx.x.x.x的SDK目录结构

一、Hi3518E_SDK_V1.0.3.0.tgz的位置 “Hi3518E_SDK_V1.0.3.0.tgz”位于“Hi3518E V200R001C01SPC030”中&#xff0c;其目录包含关系如下。 Hi3518E_SDK_V1.0.3.0.tgz 解压后内部文件组织如下。 二、执行SDK展开脚本sdk.unpack后的目录关系 将Hi3518E_SDK_V1.0.3.0.tgz拷贝到…

第一季6:海思方案中uboot、kernel和rootfs的烧写方法

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、概述 因为所用的板子默认从SPI Flash启动&#xff0c;因此本文主要讲如何“使用tftp&#xff0c;烧写映像文件&#xff08;uboot、kernel、rootfs&#xff09;到SPI Flash”。另外海思还提供了“…

CSS如何正确显示人民币符号¥

我们做网页时要正确显示人民币符号可以用如下办法&#xff1a;CSS&#xff1a;在中文输入法下用shift4输出的&#xffe5;在微软雅黑&#xff08;Microsoft YaHei&#xff09;&#xff0c;华文细黑&#xff08;STXihei&#xff09;&#xff0c;&#xff08;MingLiu&#xff09;…

java模式之装饰模式

1. 什么叫装饰模式? 根据业务的需求&#xff0c;需要对一个类的方法进行增强的处理。 2. 为什么需要装饰模式&#xff1f; 拓展性更加的好&#xff0c;当觉得这个装饰不好的时候&#xff0c;可以直接拿下&#xff0c;不需要改变任何的代码。 3. 装饰模式的一个具体的应用&…

字体文件解析 c语言,如何正确地从C语言的文件中读取某些字符串?

您试图从文件中读取的内容并不简单,但可以通过设置一个标志来处理,该标志告诉您是否已经看到a或b,跳过所有空白和:字符,将所有其他字符存储在缓冲区中,根据需要重新分配,然后在第二个“A”或“B”找到了,把那个角色放回FILE*流与ungetc,nul终止并返回缓冲区。听起来很简单——对…

如何判断linux系统是32位还是64位的?

最简单的是输入命令&#xff1a;uname -m 查看输出&#xff0c;如果输出是i686这种ixxx系列的&#xff0c;都是32位系统&#xff0c;如果出现x86_64这样的&#xff0c;就是64位。

02 - 替换SetInput方法 VTK 6.0 迁移 (2013-06-30 16:22)

VTK6 引入了许多不兼容的变化&#xff0c;这其中就包括用SetInputData()和SetInputConnection()替换SetInput()方法。在先前的版本中&#xff0c;VTK4 引入了SetInput()方法&#xff0c;VTK5中引入了SetInputConnection()。 下面举一些例子&#xff1a;在如下例子中&#xff0c…

c语言中怎么 写子程序,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*************************************************************************************** 外部中断0实验 *实现现象&#xff1a;下载程序后按下K3按键可以对D1小灯状态取反。注意事项&#xff1a;无。***********************…

Java Web笔记之Struts2.1 +Hibernate3.3 +Spring3.0

2019独角兽企业重金招聘Python工程师标准>>> 1、Struts2 1.1、了解Struts2 Struts2是基于MVC设计模式的Java Web框架技术之一&#xff0c;按照MVC设计思想把Java Web应用程序分为&#xff1a; 控制器层&#xff0c;包括核心控制器FilterDispatcher和业务控制器Actio…

高地址和低地址、高字节与低字节、大小端模式的转换、存储顺序

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 一、高地址和低地址 二、高字节低字节 如int a16777220&#xff0c;化为十六进制是0x01 00 00 04&#xff0c;则04属于低字节&#xff0c;01属于高字节。 三、大小端模式 &#xff08;1&#xff09;如果a在内…

漫谈数据挖掘从入门到进阶

入门&#xff1a;数据挖掘入门的书籍&#xff0c;中文的大体有这些&#xff1a;Jiawei Han的《数据挖掘概念与技术》Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》Tom Mitchell的《机器学习》TOBY SEGARAN的《集体智慧编程》Anand Rajaraman的《大数据》Pang-Nin…

C语言程序设计二期末考试,C语言程序设计期末考试试卷2.doc

C语言程序设计期末考试试卷2选择题(单选题&#xff0c;每小题2分&#xff0c;共15题&#xff0c;30分)注意&#xff1a;请将答案写在每小题的题号左边1&#xff0e;一个C程序由若干个C函数组成&#xff0c;各个函数在文件中的位置为_____A______。A) 任意B) 第一个函数必须是主…