鲁班锁的新编码新玩法.docx
《鲁班锁的新编码新玩法.docx》由会员分享,可在线阅读,更多相关《鲁班锁的新编码新玩法.docx(13页珍藏版)》请在冰豆网上搜索。
鲁班锁的新编码新玩法
鲁班锁的新编码新玩法
为了找到能与《鲁班锁结构分析法》配套的6柱实心鲁班锁的编码方式,经过长时间的摸索与探讨,终于找到一种新的鲁班锁的编码方式,它充分体现了《鲁班锁结构分析法》里许多的规律,而且可以和《鲁班锁结构分析法》配合使用,能非常直观的表示出6柱实心鲁班锁的内部结构。
我无意给这个编码起个什么名称,就叫它为新编码,或者叫“N编码”。
编码方法:
很简单。
只有2步:
1.先给6柱实心鲁班锁的各柱命名,(各柱还是按《鲁班锁结构分析法》的命名方法)和给锁内部的32个活动块编号。
活动块的编号原则是:
同一排的块由左往右编号顺序加大;同一层的各排,由后向前编;不同的层,由下向上编。
各柱的名称和它们与活动块的位置关系如图一和图二所示:
图一
图二
2.给锁中的各柱编码:
按鲁班锁中各柱所含有的活动块的编号从小到大顺序排列就是这根柱的编码。
6根柱的编码组合就是这个锁的编码。
例如,图三是一个6柱实心鲁班锁和它的6根柱各自含有的活动块的编号的示意图:
图三
按N编码的编码方法,这6根柱的编码分别是:
上梁:
(17,18,20,21,24,25,27,28,29,30,31,32);
下梁:
(1,2,3,4);
前檐:
(12,13,15,16);
后檐:
(5,6,8,9);
左柱:
(7,11,19,23)
右柱:
(10,14,22,26)。
从上例可以看出:
N编码的特点是:
一码一柱,即一个编码只对应一根柱;但是同形状的柱在锁中的不同位置有不同的编码。
也就是一柱多码。
这个一柱多码也正是N编码的特色,每一个不同的编码表示了这根柱在锁中不同的位置。
这个编码的另一个特点是:
每一个柱的编码不是一个数值,而是一串数字的小到大的排列。
编码中数字的个数,就是这根柱所含有的活动块的个数;6个柱的编码拼合到一起就是1——32的32个数码。
一个不重,也一个不缺。
这也是检查一个鲁班锁拼合是否正确的一个检查方法。
它是必备条件,但不是充分条件。
为了做到一个锁只有唯一的编码,还要对上下梁做一些更为详细的规定:
1.3+3拼法的上下梁的确定:
3+3拼法可以分为2个三柱组。
规定其中一组由上梁,前檐,右柱组成;另一组就由下梁,后檐,左柱组成。
2.2+4拼法的上下梁的确定:
2+4拼法中2柱组的梁规定为上梁;由此4柱组的梁只能为下梁。
一个特例:
只在#256,#512,#768,#1024这4根柱选2根作为左右柱的2+4拼法的锁,这个锁中会出现2个2柱组,这时将2根梁都按下梁的位置编码,选择其中编码较小的那根梁为下梁,如图四的例中,淡蓝色柱和紫色柱都放在下梁位置时,两个柱的N编码前4个都是1,2,3,4;淡蓝色柱的第5个数是12,紫色柱的第5个数是8,所以选紫色柱为下梁,那么淡蓝色柱就为上梁。
图四左边的锁就要绕X轴旋转180度后才是符合规定的放置方法。
图四
如果2根梁相同,就比较它们所配合的檐,选择其檐的中编码较小的那个2柱组为下梁和后檐。
如图五的例子:
2个2柱组的梁相同,淡蓝色的梁所配的蓝色的檐的编码是(5,6,7,8,9,19);紫色的梁所配的绿色的檐的编码是(5。
6。
8。
9)。
这2个编码的前2个数字都是5,6;第3个数字是7和8。
于是选淡蓝色的梁所配的蓝色的檐的2柱组为下梁和后檐,于是紫色的梁所配的绿色的檐的2柱组为上梁和前檐。
图五
3.1+5拼法的上下梁的确定:
没有疑问,1+5拼法中的光柱规定为上梁。
由于1+5拼法的下梁可以掉头(绕Z轴转动180度)放置。
因此规定:
如果一根柱既可以作为1+5拼法的下梁,也可以作为2+4拼法下梁,那么就使用2+4拼法下梁的编码;如果一根柱只可以作为1+5拼法的下梁,那么在这根下梁的编码和它掉头后的编码中选择编码较小的那个作为此下梁的编码。
如图六中的2根柱作为1+5拼法的下梁时,都可以有2个方向放置。
编码分别如图示。
左边的蓝色柱既可以用作1+5拼法的下梁,也可以用作2+4拼法的下梁。
它当作2+4拼法的下梁使用时,编码是(2,4,9,15,16),于是它当作1+5拼法的下梁使用时,编码使用(2,4,9,15,16),而不用(1,3,5,6,12);右边的黄绿色柱只可以用作1+5拼法的下梁。
它的2个不同的放置位置的编码分别是(2,4,13)和(1,3,8)。
于是这根柱当下梁使用时只按图六最右面的位置放置,编码是(1,3,8)。
图六
以上3条对梁的位置规定,虽然有些麻烦。
但是为了杜绝一个鲁班锁一锁多码现象的出现,这样的措施是必须的。
研究发现,N编码的功能十分强大。
它可以直接拼合锁。
和《鲁班锁结构分析法》中介绍的一样,对于给定的6根柱,它可以确定能不能拼合为锁,可以拼合为几种不同的结构的锁。
也可以解多柱拼合锁的问题。
就是在《鲁班锁结构分析法》中一直没有涉足的由柱的移动从而确定已经拼合好的锁结构是否为死疙瘩的问题也有望获得解决。
所以说,N编码的发现使得用《鲁班锁结构分析法》解6柱实心锁有了标准的操作程序。
但是要熟练的使用N编码来解决这些问题,门槛有点高。
就是要求能够熟练的写出有关柱的全部N编码。
下面就介绍利用N编码来拼合一个6柱锁的过程。
你会发现这是一个全新的解锁思路,也是一个崭新的解锁方法。
它就是平面的拼图解锁法。
我称之为拼块法解锁。
拼块法解锁:
拼块法解锁的思路就是将三维的鲁班柱变形为二维的拼块;将一个鲁班锁内部的32个活动块组成的三维形状变形为二维平面的一个图案。
然后将N编码依照这个32个活动块组成的二维平面的图案转换为一个个的二维拼块。
这样就将三维的解锁过程转换成了二维的拼图操作。
所以说这是鲁班锁的一个全新的玩法。
具体玩法如下:
1.先将鲁班锁内部的32个活动块组成的三维形状(图七的左侧)变形为如图七的二维平面的图案(图七的右侧)。
图七
2.将鲁班柱的N编码转换为平面的拼块。
这样就完成了一根柱从立体的柱转换为数字(编码);再由数字(编码)转换为平面拼块的过程。
例如图八的#824柱的N编码有8个:
下梁(1,3,12,15,16);上梁(17,18,20,29,31);左柱(1,3,11,12,23);3+3的左柱(14,25,26,30,32);
后檐(5,6,9,10,22);前檐(11,12,15,16,23;2+4和3+3的前檐(14,25,26,27,28)。
按图七各活动块的位置将它们转换为图九的平面拼块。
拼块外的红色方框为拼块的定位框。
图八
图九
现在举例说明用拼图的方法拼合鲁班锁。
图十是一个曾在《鲁班锁结构分析法》中介绍过的例子。
现在用拼图的方法来解它。
先写出这6根柱的所有的N编码:
图十
#52:
上梁(17,18,20,21,29,30,31,32);
下梁(1,2,3,4,12,13,15,16);
左柱(1,3,7,8,11,12,19,23);
1+5和2+4的右柱{2。
4。
9。
10。
13。
14。
22。
26};
3+3的右柱(10,14,21,22,25,26,30,32)。
#116:
下梁(1,2,3,4,13,15,16);
左柱(1,3,7,8,11,19,23);
1+5和2+4的右柱{2。
4。
10。
13。
14。
22。
26};
3+3的右柱(10,14,21,22,26,30)。
#911:
下梁(2,4,9,13,15,16);
后檐(5,6,7,8,9,19);
1+5的前檐{12,13,14,15,16,26};
2+4和3+3的前檐(11,23,24,25,27,28)。
#824:
上梁(17,18,20,29,31);
下梁(1,3,12,15,16);
左柱(1,3,11,12,23);
1+5和2+4的右柱{2,4,9,10,22};
3+3的右柱(14,25,26,30,32)。
后檐(5,6,9,10,22);
1+5的前檐{11,12,15,16,23};
2+4和3+3的前檐(14,25,26,27,28)。
#928:
下梁(1,3,8,12);
后檐(5,6,、8,9,);
1+5的前檐{12,13,15,16,};
2+4和3+3的前檐(24,25,27,28)。
#1024:
下梁(1,3,);
左柱(7,19or11,23);
右柱{10,22or14,26};
后檐(5,6,);
1+5的前檐{15,16,};
2+4和3+3的前檐(27,28)。
将这6根柱的N编码转换为拼块(见图十一)。
由于没有光柱,所以肯定不是1+5的拼法,于是1+5的前檐被略去。
图十一
准备工作已做好,现在开始拼合。
拼合的过程就是逐步添加柱,记录可能的所有组合。
先拼合#52和#116两柱,如图十二:
图十二
#52有5种状态,#116有4种状态。
两者组合适用乘法原理,共有20种不同的组合状态。
舍弃同位置的组合(图中同色的块),还要舍弃有冲突的块的组合(有活动块编号相同的块)。
这样得到下排7种暂定为可用的2柱组合。
拼合的方法是将#116的拼块复制到#52的拼块上,保证两个定位框重合即可。
再将这7个2柱组和#911柱拼合,如图十三,方法同上。
共24个不同的组合,得到下排8种暂定为可用的3柱组合
图十三
继续将这8个3柱组和#824柱拼合,如图十四,方法同上。
又得到下排8种暂定为可用的4柱组合
图十四
还是继续将这8个4柱组和#928柱拼合,如图十五,方法同上。
这时只得到下排5种暂定为可用的5柱组合
图十五
最后将#1024柱的拼块对这5个5柱组填空。
5个5柱组都可以恰好填满。
看来好象可以得到5个锁。
但是3,4,5三个6柱组的左柱都用的是3+3拼法的左柱。
这三个6柱组如能成锁应该都是3+3的拼法。
而这三个6柱组的右柱分别是:
#1024,#1024和#52。
按规定#1024柱不可以作为“柱”用在3+3拼法的锁中。
也就是对3号,4号的5柱组用#1024作为左柱去填空的操作是违规的。
所以3,4两个锁不可以作为3+3的锁存在。
其实,3号锁是2号锁旋转180度的状态;4号锁是1号锁旋转180度的状态。
所以本例的6柱可以组成的锁有三种不同的结构:
2个2+4的拼法,1个3+3的拼法。
注:
我在《鲁班锁结构分析法》中介绍此例时,只得到2个不同的结构。
漏了1个2+4的结构。
图十六
这3个锁和2个6柱组的传统表示方法见图十七。
图十七
拼块法解锁由于受到只是平面的限制,不能够解决一个6柱结构是否可拆解,也就是是不是死疙瘩的问题。
这个问题还要回到N编码的数字去解决。
另外一个遗憾就是由于种种原因,这些拼块法无法做成实物,只能存在于虚拟环境中。
至于N编码的其它功能,还有待继续开发。