| 
最后登录2022-3-4在线时间547 小时阅读权限100注册时间2007-9-27积分3076帖子1699精华5UID13085性别男WCA ID2007FUBO01兴趣爱好其它
 
   
 积分3076帖子1699精华5UID13085性别男WCA ID2007FUBO01兴趣爱好其它
 
  | 
| 考虑这些的起因是想列出二阶全部的态 那就必然会用到计算机
 用程序计算的话肯定要给二阶的状态编码
 包括状态编码和转动编码
 这样不但方便计算、储存,而且便于校验重复态和统计数据
 
 二阶没有中心和棱,只有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
 
 (楼下更新:如何用程序列出二阶的全部状态表)
 | 
 |