魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 44045|回复: 189
打印 上一主题 下一主题

鲁班锁的研究(之三):柱子编码及代号 [复制链接]

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

跳转到指定楼层
1#
发表于 2012-5-20 16:01:53 |只看该作者 |倒序浏览
  传统六柱鲁班锁所用的柱子,可开挖的缺口数共计12个,编号如下图:
柱子缺口编号.jpg
  当然,为了保持柱子两端联接,至少须保留两个缺口不挖掉。最多只能挖去10个缺口。
  开槽位置不同,柱子就相应有不同的代号。关于柱子代号的编制方法有多种。我介绍其中比较常用的一种:
  对不同位置的缺口规定不同的数值,将柱子所有被挖去缺口的数值加起来,就规定为这根柱子的代号。采用二进制的原理,将上图中每个位置的缺口数值作如下规定:
 缺 口 号: 1 2 3 4 5  6 7  8  9  10  11  12
 缺口数值: 1 2 4 8 16 32 64 128 256 512 1024 2048
  各个缺口的数值规定如下图:
柱子缺口数值.jpg
  很明显,未开缺口柱子(光柱)的代号为“0”。
  将位置1和位置5的缺口同时挖去,代号为1+16=17;
  将位置2和位置6的缺口同时挖去,代号为2+32=34。
  需要说明的是:有些柱子代号不同,但形状相同。如下图:
34号柱子的多向视图.jpg
  这八根柱子的代号,从左到右分别为:2560,2112,1280,1056,506,258,68,34。很容易看出来:其实这八根柱子都是同样的柱子,都可以用34号通过旋转、翻滚的方法得到。
  遇到这种这类“柱子形状相同,而有多个代号”的情况,本着“编号就小”的原则,将上面八根柱子都编为34号。

  按照上述编号方法,我制作的十二金枝鸳鸯锁的十二根柱子的代号分别为:0,102,927,1006,255,823,974,959,991,1023,1023,0号。见下图:

  我制作的《黄金搭档二十柱》,代号分别为:0,17,51,51,102,187,791,910,191,223,255,927,887,1006,959,991,1023,1023号。见下图:



  依照上述编号方法,你能得出经典鲁班锁所用六根柱子的代号吗?
已有 2 人评分经验 收起 理由
海上晴天 + 10 图文并茂 内容详尽
yeees + 5 原创文章

总评分: 经验 + 15   查看全部评分

鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

Rank: 4

积分
1435
帖子
520
精华
7
UID
4274
性别

智力游戏设计大师 八年元老

2#
发表于 2012-5-21 21:31:31 |只看该作者
有12个部位可开缺口.,没错,但我认为有2个部位不对,如果1 2 3 4 5 6 7 8都已开口,则9 10和11 12这两组,不能同时 都开口.其实一般来说,有一条4 个单位是不会开口的,可开口的是3 条4 个单位的..你的20 柱也符合这个规律

使用道具 举报

Rank: 4

积分
1435
帖子
520
精华
7
UID
4274
性别

智力游戏设计大师 八年元老

3#
发表于 2012-5-21 21:40:33 |只看该作者
缺口数值和缺口编号的关系是:缺口数值=缺口编号的2的N-1次方,对吗?用数值还原缺口编号,得做2进制计算,有1-12步,有些麻烦,还不直观.你觉得呢?

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

4#
发表于 2012-5-23 14:43:48 |只看该作者
原帖由 lzy5010 于 2012-5-21 21:40 发表
缺口数值和缺口编号的关系是:缺口数值=缺口编号的2的N-1次方,对吗?用数值还原缺口编号,得做2进制计算,有1-12步,有些麻烦,还不直观.你觉得呢?

  这需要一个熟练和习惯的过程。
  刚开始,也许要通过计算才能得出的某个代号柱子的形状;看到一个实样柱子,要通过计算才能知道它的代号。
  代号相当于一根柱子名称。一个代号,只对应一种形状。一根柱子,可能有多个代号,但我们规定“代号就小”的原则,选取最小的那一个数作它的代号。时间一长就熟练了,就记住了,无须再每次都计算。何况常用的柱子形状就那么几十根,不难记住。
  每一款锁,选用的柱子不同,但如果采用一致的代号,就不必说“第一根放在哪里,第四根又怎样装”,一旦位置混乱,就不知道哪是第一、第二……了。若采用代号直呼其名,则不会搞错。
  如:以《黄金搭档二十柱》为例:一提到823号柱,我头脑中就立刻闪现出第九根柱子的形状;一提到991号柱,我头脑中就立刻出现第十八根柱子的形状。再如:手中一拿到第十一根柱子,我就知道它叫“191号”;一看到第十九根或第二十根柱子,很熟悉它们是“1023号”。
  在研究和记录过程中,记录柱子的代号,比画出柱子形状简直方便多了!
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

5#
发表于 2012-5-23 14:55:58 |只看该作者
  一种多代号又一例:102号柱。102=64+32+4+2。此柱缺口位置在2,3,6,7,共需挖四个缺口。如一楼图中鸳鸯锁的第二根柱子,和二十柱中的第五根柱子。
  与102号柱形状相同,但编号不同的柱子共有四根,见下图:
102号柱子的多向视图.jpg
  上图中的四根柱子,从左到右的代号分别为:102,774,3168,3840。但它们其实是同样的柱子。本着“编号就小”的原则,把它们都称作102号柱。
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

Rank: 4

积分
1435
帖子
520
精华
7
UID
4274
性别

智力游戏设计大师 八年元老

6#
发表于 2012-5-23 16:38:13 |只看该作者
其实我的柱子编号比你们惯用的方法简单多了,六柱的长为6.即1 2 3 4 5 6 段,其中可开槽的段是2 3 4 5四段.这4段,每段有4个部位,这4个部位,其中只有3个部位可挖掉.这3个部位,用数字表示.被挖掉用0表示,存在用位置表示分别为1 2 4.全在为7.(1+2+4)部分在为1  2 .位置4因为开槽不贯通,一般不采用 因此每段有三种状态存在..具体到结构,就是1 2 7其中一种一根可挖掉的部位为0-12个.

使用道具 举报

Rank: 3Rank: 3

积分
696
帖子
401
精华
1
UID
1315731
性别
保密
居住地
芜湖市
兴趣爱好
其它
7#
发表于 2012-6-17 21:52:14 |只看该作者
lzy5010 发表于 2012-5-23 16:38
其实我的柱子编号比你们惯用的方法简单多了,六柱的长为6.即1 2 3 4 5 6 段,其中可开槽的段是2 3 4 5四段.这 ...

举例说明此方法不太严谨:1.第2,5段不可挖去3个部位,这样拼成锁后,外面必有一缺口。2.第2,5段也不可挖去对角的2个部位,这样拼成锁后,外面也必有一缺口。3.第3,4段每段各挖2块,一段挖上面2块,一段挖下面2块。柱子就断了。很多,不说了。

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

8#
发表于 2012-6-20 21:43:39 |只看该作者
  详细讲一下柱子代号的计算。
  一根柱子上可挖去的区域(或“块”),共有12个。见下图:


  对每个“块”赋予一定的“值”。为防止数据重叠或遗漏,采用二进制对每个编号块赋值:

  缺 口 号: 12  11  10  9  8 7 6 5 4 3 2 1
  缺口数值: 2048 1024 512 256 128 64 32 16 8 4 2 1
  各个缺口的数值规定如下图:


  以吧友“刘8028”设计的一款鲁班锁为例,详细讲一下柱子代号的计算过程:
48楼.jpg

  按吧友laoweia1950 的记录方法,这六根柱子可记为:(见帖子:http://tieba.baidu.com/p/1672031099
1#:(1,2,3,4,5,6,7,8,9,10,11,12)
2#:(2,6,9,10,11)
3#:(4,8,9,10)
4#:(8,9,10)
5#:(9,10)
6#:(1,2,5,6,9,10)
  如果按缺口编号从大到小排列,也可记为:
1#:(12,11,10,9,8,7,6,5,4,3,2,1)
2#:(12,11,10,7,3)
3#:(12,11,5,1)
4#:(12,11,1)(这根柱子需要往后滚动90度)
5#:(12,11)
6#:(12,11,8,7,4,3)
  括号中的数字是留下的块,挖去的块在括号中不存在。吧友laoweia1950采用的记录方法是记下未挖去的块。
  而我的编码方法是:缺口块留存记为0,挖去记为1。1号缺口排在最后(相当于个位数),12号缺口排在最前面。采用二进制计数,在六根柱子的12个可挖块位置上,计数如下:
第一根柱子:0000 0000 0000(二进制数。下同)
第二根柱子:0001 1011 1011
第三根柱子:0011 1110 1110
第四根柱子:0011 1111 1110
第五根柱子:0011 1111 1111
第六根柱子:0011 0011 0011
  每根柱子二进制数中1的个数,就是柱子上被挖去的缺口数。
  细算柱子代号:
第一根柱子:0000 0000 0000=0+0+0+0+0+0+0+0+0+0+0+0=0号;
第二根柱子:0001 1011 1011(二进制)=0+0+0+256+128+0+32+16+8+0+2+1=443(十进制)号;
第三根柱子:0011 1110 1110=0+0+512+256+128+64+32+0+8+4+2+0=1006号;
第四根柱子:0011 1111 1110=0+0+512+256+128+64+32+16+8+4+2+0=1022号;
第五根柱子:0011 1111 1111=0+0+512+256+128+64+32+16+8+4+2+1=1023号;
第六根柱子:0011 0011 0011=0+0+512+256+0+0+32+16+0+0+2+1=827号;
  这六根柱子的缺口数分别为:0个,7个,8个,9个,10个,6个。总缺口数是40个,正好是拼合实心六柱鲁班锁所需的缺口数!
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

9#
发表于 2013-3-6 21:01:59 |只看该作者
本帖最后由 钟七珍 于 2014-8-21 00:43 编辑

  鲁班锁所用柱子编码及代号,以上介绍的是第一部分内容:二阶12位柱子的编制与代号。

  第二部分:二阶16位柱子的编制与代号。补充发帖于11楼之后。

  第三部分:三阶类鲁班锁所用的三阶类柱子,代号及编码方法,稍后补充。

  第四部分:四阶类柱子,及四阶以上柱子代号及编码方法,陆续补充。
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3021
帖子
2406
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

10#
发表于 2013-5-24 00:02:59 |只看该作者
  有相关内容发帖。顶一下这篇帖子。
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-22 02:02

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部