魔方吧·中文魔方俱乐部

标题: 中式鲁班锁的编码 [打印本页]

作者: 林风    时间: 2015-5-21 13:05:15     标题: 中式鲁班锁的编码

本帖最后由 林风 于 2015-5-21 14:04 编辑

06年我在贴子里提到用二进制给鲁班锁编码。  http://bbs.mf8-china.com/forum.php?mod=viewthread&tid=2938

最近看到几位朋友关于编码的论述,写的很好,使我又去思考这个问题。

特别是一柱八码的问题应该可以解决。下面谈谈我的想法,请各位指正。

                           中式鲁班锁编码方法

§1.适用范围

凡是以截面为正方形的柱为构件,槽口都是矩形的,采取面对面贴合组装的三轴鲁班锁,既中式鲁班锁都可以用此方法编码。

每根柱编码的组合就是整个锁的编码。它可用于记录、交流,可部分替代图片、动画、录像。

§2.柱的编码

1. 二进制编码

每根柱可以开槽的最小单位称之为“单元”。正方形截面边长为2单元。截面划分为四部分,呈田字状。以六根锁为例,可开

槽长度为4个单元长度。每个单元锁的截面中,挖空的记为0,没挖的记为1。在一个截面里,从右上角开始逆时针旋转(与

数学中“象限”定义一致)依次取出4个码。

一个界面有以下几种情况:

如本楼下边的图所示。

将柱放平从上向下或从左往右依次取出各个截面的编码连在一起就构成了这根柱的编码。

2.十六进制编码

二进制编码形象但书写较长不直观。每4位2进制对应1位十六进制(16为2的4次方)。16进制中,0到9与10进制一样,从

10到15分别记为A到F。

一个6根锁,用2进制编码记录要写6X4X4(根X单元数X一个单元的编码)=96个码。用16进制记录要6X4(根X单元数)=24

个码。

对多单元的柱同理编码。如下图。



附件: DSC08790.JPG (2015-5-21 13:04:39, 137.03 KB) / 下载次数 116
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODkxfDk1MTc4MTM2fDE3MzI1NzM4MDh8MHww

附件: WWW900.jpg (2015-5-21 12:58:41, 74.15 KB) / 下载次数 124
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODkwfDFhMTBkNjUyfDE3MzI1NzM4MDh8MHww
作者: 林风    时间: 2015-5-21 13:15:55

本帖最后由 林风 于 2015-5-21 17:29 编辑

§3.锁的编码

1.记录编码时锁的方位

以6根锁为例。按前后左右上下标记6根的位置(图3)。每一对柱拆开后按“贴合面”向上平铺桌面。然后依次从左到

右或从上到下依次取码。(图4-6)

若是超过六根柱的锁,毕竟它是两两垂直的结构,所以仍然用X、Y、Z坐标轴原理去定位(图7)。

2.锁的完整编码

六组码按照“前后左右上下”顺序记录就构成了这个锁的编码。这样便于安装,因为哪根柱是哪个位置的一清二

楚。

如图3-6所示的锁,其编码为 FFFF 3993 F623 3333 3223 F913。

附件: [图3] 3.JPG (2015-5-21 13:15:14, 78.65 KB) / 下载次数 107
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODk2fGFiMWU4ODhhfDE3MzI1NzM4MDh8MHww

附件: [图4] 4.JPG (2015-5-21 13:15:11, 108.31 KB) / 下载次数 104
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODk1fGQ5Y2ZhOWM3fDE3MzI1NzM4MDh8MHww

附件: [图5] 5.JPG (2015-5-21 13:47:12, 139.06 KB) / 下载次数 98
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODk0fDI2NDNjMjRkfDE3MzI1NzM4MDh8MHww

附件: [图6] 6.JPG (2015-5-21 13:15:10, 68.22 KB) / 下载次数 115
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODkzfGJjMWUyZmUzfDE3MzI1NzM4MDh8MHww

附件: [图7] 7.jpg (2015-5-21 13:15:09, 45.25 KB) / 下载次数 109
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODkyfGMzMTJkN2E3fDE3MzI1NzM4MDh8MHww
作者: 林风    时间: 2015-5-21 13:33:20

本帖最后由 林风 于 2015-5-21 15:08 编辑

§4.一柱八码问题

1.旋转带来的问题

以图3那个锁的下柱为例。

先看它的第一组编码(图8中上面4个)。这是同一个柱子沿轴线旋转不同面朝上的编码:
  1001    1100    0110    0011
  0001    1000    0100    0010
  0011    1001    1100    0110
  1111    1111    1111    1111
第一面  第二面  第三面  第四面

无论哪个面朝上去编码,如果把最后一位编码移到最左侧,比如第一面第一编码1001 把最后的1移到最左侧则变成1100,0001变成1000,0011变成1001,1111还是1111。这正是第二面的编码。同理第二面同样处理后变成第三面编码,第三面同样处理后变成第四面编码,第四面同样处理后又变成第一面编码。


2.柱子调头带来的问题
那么把柱子上下颠倒再沿轴线旋转又出现4种不同编码(如图8中下一排),如何判断呢?
  
先把它倒过来写,既先将

  1111    1111    1111    1111
  1001    1100    0110    0011
  0001    1000    0100    0010
  0011    1001    1100    0110

倒过来写既每个面的编码最下面的放最上面,倒数第二行的变成正数第二行,依此类推:

  0011    1001    1100    0110
  0001    1000    0100    0010
  1001    1100    0110    0011
  1111    1111    1111    1111

再把上面每个编码倒过来读,既成:

  1100    1001    0011    0110
  1000    0001    0010    0100
  1001    0011    0110    1100
  1111    1111    1111    1111

恰恰是前一组的第2、1、4、3面的编码。可见这8组不同编码描述的是同一根柱子。这也正说明一个单元4位取码顺序很

重要,可见当初数学定义4个象限的位置是很有道理的。

其实,编码的位移就是实体的滚动,上下交换位置就是实体的调头,倒过来读是因为调头后逆时针的象限顺序变成了正时针。




附件: [图8] 222_cr.jpg (2015-5-21 13:33:04, 68.2 KB) / 下载次数 105
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwODk3fGFlZmRlYzM4fDE3MzI1NzM4MDh8MHww
作者: 钟七珍    时间: 2015-5-21 15:06:34

  细阅林风老师的编码方法。此法与《珍酉健编码法》(http://tieba.baidu.com/p/3278770391)最大的不同之处有两点:
  一是柱子断面上区域分区编号不同:林风老师采用了与数学中“象限”定义一致的分区,可使一柱八号通过柱子滚动可得。“编码的位移就是实体的滚动”。这是此法最大的特点!
  二是柱子编码取值不同:林风老师的方法是:实体为1,挖空取0。《珍酉健编码法》正相反:挖空为0,实体取1。
  林风老师早在06年就提出了鲁班锁用柱编码方案,佩服!
作者: 林风    时间: 2015-5-21 20:12:22

钟七珍 发表于 2015-5-21 15:06
  细阅林风老师的编码方法。此法与《珍酉健编码法》(http://tieba.baidu.com/p/3278770391)最大的不同之 ...

谢谢钟版沙发支持!
1与0的定义除了“有”与“无”的直观意义之外,也参考了计算机逻辑电路里高低电位,逻辑代数里“真”(T/1)与“假”(F/0)的定义。
如有时间,我还想再琢磨一套用符号、代码记录(描述)拼装过程的方法,先从最简单的六根锁做起。这样比靠嘴说,靠动画视频更简洁,更有意思。不知能否行得通。

作者: 海上晴天    时间: 2015-5-21 20:44:09

“代码记录(描述)拼装过程的方法”是个崭新的领域 支持林风老师
作者: yzsjw0    时间: 2015-5-21 20:50:35

这是按逆时针方向编码?
作者: 林风    时间: 2015-5-21 20:59:26

海上晴天 发表于 2015-5-21 20:44
“代码记录(描述)拼装过程的方法”是个崭新的领域 支持林风老师

谢谢好友支持!
作者: 林风    时间: 2015-5-21 21:04:16

本帖最后由 林风 于 2015-5-21 21:05 编辑
yzsjw0 发表于 2015-5-21 20:50
这是按逆时针方向编码?


单元截面取码位置的顺序(如下图)分别为1,2,3,4,是逆时针啊。

附件: QQQ.jpg (2015-5-21 21:04:01, 6.55 KB) / 下载次数 105
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjUwOTM4fDYxMDM0NWZifDE3MzI1NzM4MDh8MHww




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2