- 最后登录
- 2022-3-4
- 在线时间
- 547 小时
- 阅读权限
- 100
- 注册时间
- 2007-9-27
- 积分
- 3076
- 帖子
- 1699
- 精华
- 5
- UID
- 13085
- 性别
- 男
- WCA ID
- 2007FUBO01
- 兴趣爱好
- 其它
- 积分
- 3076
- 帖子
- 1699
- 精华
- 5
- UID
- 13085
- 性别
- 男
- WCA ID
- 2007FUBO01
- 兴趣爱好
- 其它
|
考虑这些的起因是想列出二阶全部的态
那就必然会用到计算机
用程序计算的话肯定要给二阶的状态编码
包括状态编码和转动编码
这样不但方便计算、储存,而且便于校验重复态和统计数据
二阶没有中心和棱,只有8个角
而且每个角都是唯一的
所以只要捏住一个角,比如BLD,通过RUF三个面的转动就可以达到任何状态
并且不会有遗漏的态
因此,只需要给7个角编码就可以了
又因为是通过固定一个角,转动其他角来实现状态转换的
所以其他7个角中,只要确定6个角的位置和方向,最后一个角肯定也是确定的
于是,在我的这套系统里
只需要给6个角编码就可以唯一表示二阶的某个态了
初步想法是用123456编码位置,然后再编码颜色
后来想到了魔方的配色问题
只需要给颜色编码(白=1,黄=2,3。。。6),按某一顺序(顺时针or逆时针)的颜色表示角块
就可以唯一确定角块的位置了,同时方向也自然通过颜色表示了!
又是因为配色的关系,只需要确定顺时针(或逆时针)的两个颜色
就可以知道第三个颜色了!
举例:某角块顺时针是“黄绿x”那x肯定是红色
1~6的二进制分别是:001、010、011、100、101、110
那么表示二阶一个角就是一个六位的二进制数(两个颜色)
刚才说了表示二阶某个太只需要确定6个角
那就是36Bit,也就是4.5Byte(字节)
就算它5字节吧
那1kb可以表示二阶的200个态
1mb可以表示200000多个态
二阶总共400多万个状态,就算他500万,
也不过是25Mb
(楼下更新:如何用程序列出二阶的全部状态表) |
|