css3魔方3乘3每层旋转_在玩魔方中学数学,原来魔方与矩阵还有这样的关系
▼承包你所有的壁纸▼
每天推送一张魔方壁纸
请看倒数第二篇
矩阵与魔方 ——魔方中的数学
孟昭旭
笔名:十日 M
上海交通大学
笔者作为魔方速拧运动的爱好者,此前就了解到魔方与线性代数有着某些关系,由于知识层面的限制,一直未能深入了解,在较为系统的学习了线性代数课程后,笔者对线性代数中的矩阵有了初步的认识和了解,因此笔者探究了魔方中蕴含的线性代数知识。鉴于能力有限,本文只探究最基础的三阶魔方与三阶矩阵之间的关系。
魔方转动与矩阵表示
1
三阶魔方是一个立方体,因此我们首先以魔方中心为原点建立一个三维空间直角坐标系。
如图,我们可得到魔方与三维空间的对应关系,我们首先始终关注魔方的RUF角块(即图中的红黄蓝角块),则我们可将其坐标记为初始状态s=(x,y,z)。
魔方转动中,各个面的顺时针转动分别用R(右),L(左),U(上),D(下),F(前),B(后)表示,逆时针转动用字母加“ ‘ ”表示。鉴于魔方的对称性,我们只烤虑魔方在RUF(分别对应yzx轴)方向上的转动。
y方向(R):
经过y轴方向顺时针旋转,我们得到第二个状态a=(x’,y’,z’)=(z,y,-x)。
根据矩阵的乘法规则,假设存在三阶矩阵R,使得R*a=S,即:
z方向(U):
经过z轴方向顺时针旋转,我们得到第三个状态b=(x’,y’,z’)=(-y,x,z)。同上,我们假设存在矩阵U,则有:
X方向(F):
经过x轴方向顺时针旋转,我们得到第四个状态c=(x’,y’,z’)=(x,-z,y)。同上,我们假设存在矩阵F,则有:
通过上面的展示,我们得到了矩阵R、U、F,我们可以利用这些3*3矩阵表示魔方的转动。
魔方与矩阵乘法
2
有了上述魔方转动的矩阵表达,我们不妨用矩阵乘法表示魔方的连续旋转。
例如:
我们首先进行RU操作:
得到魔方状态如图。
我们再进行UR操作:
得到魔方状态如图。
显然R*U≠U*R。
我们可以明显的看到,两次变换中魔方的状态明显不同,这也证明了矩阵的乘法不同于普通的数的乘法,前后两项的顺序在一般条件下不可交换,两次同样的旋转操作不同的操作顺序得到的魔方的状态不同就说明了矩阵乘法的规律。
魔方与矩阵的逆
3
由第一部分可知,
同理,可计算得到
我们不妨假设复原状态的矩阵为
,则显然有E*s=s,即复原状态的矩阵为三阶单位矩阵。
我们发现:
而
F*F’=F’*F=E
根据可逆矩阵的定义显然,F和F’互为逆矩阵,而在魔方的操作中,对魔方进行FF’和F’F操作魔方都会从还原态变回还原态。
再比如,我们首先对魔方进行RUR’U’,得到的魔方状态如图:
经过上述步骤我们容易算出
那么,我们要求该矩阵的逆,即相当于对魔方进行相应的逆操作URU’R’,经过计算得到
不难验证,这两个矩阵互为逆矩阵。
即在魔方旋转中,将一种变换逆序操作所对应的矩阵就是原先变换对应矩阵的逆矩阵。
总结
从上述现象中我们可以发现,矩阵与魔方确实有着密切的联系,二者之间存在着相互印证的关系,魔方的变换既可以由矩阵的乘法表示,又可以从魔方的变换中看出矩阵乘法的性质以及魔方与矩阵的逆的关系,其本质是由于魔方的旋转可以看作是三维空间中的坐标变换,而矩阵本身就具有连接坐标变换的关系这一几何意义,因而魔方的旋转就可以看作矩阵与原坐标向量的乘法运算。
魔方作为新兴的一种手指极限运动,其中所包含的数学知识远不止矩阵这么简单。魔方绝不仅仅只是小孩子手中的玩具,其中蕴含的丰富数学知识以及人生哲理,始终深深的吸引着我和所有的魔友,更值得我们认真的去探究与感悟。
图片来源:
VisualCube Editor
特别鸣谢:
鸟杰魔方
-长期征稿-
▼
有奖征稿
往期精选
最强旗舰三阶!Valk3 Elite M来了
39岁学魔方,女儿是我最好的老师
#抽奖不止送台历#27秒22!他再次刷新五魔世界纪录,你什么项目又被虐了?
css3魔方3乘3每层旋转_在玩魔方中学数学,原来魔方与矩阵还有这样的关系相关推荐
- css3魔方3乘3每层旋转_学习做旋转魔方 (css3)
学习做旋转魔方 (css3) 看到一个帖子做了一个旋转魔方, 想着试着学习练练手. 看着高手的代码按照自己的思路, 码了一下, 记下遇到的一些问题. html 代码片段 3D 魔方 Rubik's C ...
- css3魔方3乘3每层旋转_如何使用css3设计出一个立体旋转魔方?
需要先了解的知识: ①了解CSS的2d下的transform变化下的平移(translate)和旋转(rotate). ②了解CSS的3d下的transform变化下的平移和旋转. ③使用transf ...
- css3魔方3乘3每层旋转_MATLAB画图技巧:让魔方转起来!
本文主要用来炫技......涉及图形对象的平移与旋转. 如果只是画一个静态的魔方,必然是很简单的,6个不同颜色的面,中间加上若干条线就OK了.但我想实现的是一个真正的能够转的魔方,就要从最基础的小立方 ...
- css3魔方3乘3每层旋转_CSS3旋转魔方
/*全局样式*/ * { margin: 0; padding: 0; } h1 { text-align: center; margin-top: 50px; } /*外层容器样式*/ .outer ...
- css3魔方3乘3每层旋转_CSS3 旋转魔方效果
[HTML] 纯文本查看 复制代码运行代码 蚂蚁部落 * { margin: 0; padding: 0; } html { height: 100%; } .stage { width: 21em; ...
- Unity3dRPG 相机跟随player旋转_【玩码】升降式旋转镜头来袭:三星A80将于7月12日开始预约...
早在今年 4 月,三星就在泰国发布了 Galaxy A80 手机,现在这款手机的国行版本终于也传来了预约的消息.根据三星 Galaxy 官方微博,Galaxy A80 将会在 7 月 12 日至 7 ...
- 旋转360 css 动画效果,使用CSS3动画属性实现360°无限循环旋转【代码片段】
使用CSS3的animation动画属性实现360°无限循环旋转. 代码片段: //图片路径自定义 CSS样式书写如下: #change{ position:absolute; right:200 ...
- html5鼠标滑过图片 图片弹出层,纯CSS3鼠标滑过图片遮罩层动画特效
简要教程 这是一款使用纯CSS3制作的鼠标滑过图片遮罩层动画特效.该特效中,当鼠标滑过或悬停在图片上面时,会在图片上出现遮罩层动画,展示出图片的描述信息和链接图标按钮. 使用方法 在页面中引入boot ...
- jQuery+css3实现极具创意的罗盘旋转时钟效果源码
效果 HTML代码 <!DOCTYPE html> <html><head><meta charset="UTF-8"><ti ...
最新文章
- context linux,使用selinux contexts
- LuoguP2754 [CTSC1999]家园(分层图,最大流)
- Windows平台编译Webkit
- Matlab增加块注释
- MySQL执行计划extra中的using index 和 using where using index 的区别
- mysql函数大全最小,MySQL函数一览_MySQL函数全部汇总
- 如何在Scala中使用条件表达式 .
- 计算机绘图课程选用课本,机械制图课程学习指南.doc
- Xshell6和Xftp6的使用
- 港股美股打新截然不同!教你玩转美股打新
- dialog 弹窗关闭事件
- web前段设计之痛:手机浏览器和pc浏览器的width:100%的自适应问题
- 2022年分布式I/O市场前景分析及研究报告
- 综合训练(考勤系统)
- R12_专题知识总结提炼-AP模块
- envi窗口滤波_ENVI图像处理之滤波
- 帝国Cms列表页和内容页调用栏目名称与链接标签的说明(列表与标签模板)
- win10系统下安装打印机驱动
- iOS完整App资源收集
- C语言常见转换说明符
热门文章
- SAP Marketing Cloud功能简述(三) 营销活动内容设计和产品推荐
- SAP CRM IPC and configuration page debugs
- How is SAP UI5 Aggregation designed
- SAP Hybris Accelerator的安装和使用方式
- 使用SAP云平台的destination消费Internet上的OData service
- 从OpenFOAM的源码中查找信息
- vmware服务器虚拟化部署sdn,使用VMware的NSX多面落地软件定义网络SDN视频课程
- oracle数据库安装自动化,自动化Oracle数据库静默安装
- windows命令提示符下输入net start/stop mysql发生系统错误5,拒绝访问的解决方法
- windows 命令行远程连接_CentOS系列001:windows远程桌面连接CentOS