魔方吧·中文魔方俱乐部

标题: 百慕大五魔方程序设计用的编码方案 [打印本页]

作者: hubo5563    时间: 2014-2-13 11:25:34     标题: 百慕大五魔方程序设计用的编码方案

本帖最后由 hubo5563 于 2024-2-24 22:37 编辑

    年前就收到老大寄来的百慕大五魔八大行星魔方了,又勾起我想设计百慕大五魔的仿真程序和java助手的欲望了。
    百慕大五魔组装状态是非常多的,外形除了正十二面体外,还能组装出棱十二面体还有正错12轴和棱错12轴的魔方,每种魔方又能组装出非常多的花样来。我想能把这些用一个程序实现,需要研究一些算法。
    首先是魔方的编码,魔方的形状取决于轴的形式,用正12轴就是百慕大五魔方,魔方有物理角块20个,物理棱块30个,每12个面都是五边形面。
    用正棱12轴就是百慕大棱12面体,这个魔方有8+4*6=32个物理角块,有4+8+8+4=24个物理棱块,12个面都是菱形面。
    用错装正12轴就是上下是五边形,中间是梯形面的十二面体魔方,有5+4*5+5=30个物理角块,有5+5+5+5+5=25个物理棱块。
    用错装棱12轴,这样的魔方上面3个菱形面,下面3个菱形面,中间6个梯形面,短边和长边交错排列。物理角块8+4*6=32个,物理棱块有3+6+6+6+3=24个。
    因此,第一个编码用A、B、C、D表示上面4种形状。

    形状确定后,魔方的花样取决于每个面中心的形状和方向。中心五角星的有2种状态,中心为菱形的有5种状态、中心为梯形的有10种状态,我们用小写字母a到q来表示。

    4种形状的魔方每个面有3种,就是5边形面、菱形面和梯形面。

    五边形面编码:

百慕大五魔编码01.jpg
百慕大五魔编码02.jpg
百慕大五魔编码03.jpg

    菱形面编码:
百慕大五魔编码04.jpg
百慕大五魔编码05.jpg
百慕大五魔编码06.jpg

      梯形面编码:
百慕大五魔编码07.jpg
百慕大五魔编码08.jpg
百慕大五魔编码09.jpg


     魔方的编码就是形状码加12个面编码,共13个码。

     编码空间是4×17的12次方等于2330488948919044种。

     并不是每个编码都存在一个百慕大五魔方与之对应,在编码空间的任意一个编码,是否存在一个魔方与之对应,这就是魔方结构的存在性判断,需要一个判断方法。

      



附件: 百慕大五魔编码08.jpg (2014-2-13 11:26:27, 90.98 KB) / 下载次数 88
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzIwfGYxNzhkMzYyfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码07.jpg (2014-2-13 11:26:25, 87.76 KB) / 下载次数 87
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE5fGNhMGVkMTU1fDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码06.jpg (2014-2-13 11:26:24, 76.39 KB) / 下载次数 93
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE4fDViYWFjMGFhfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码05.jpg (2014-2-13 11:26:22, 90.4 KB) / 下载次数 83
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE3fGYyYTQwNDU2fDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码04.jpg (2014-2-13 11:26:21, 91.01 KB) / 下载次数 91
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE2fGJkN2Q2NGU4fDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码03.jpg (2014-2-13 11:26:20, 75.85 KB) / 下载次数 88
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE1fGM5ZDAzMDcwfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码02.jpg (2014-2-13 11:26:19, 85.08 KB) / 下载次数 85
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzE0fGFjMDIwZDZifDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码01.jpg (2014-2-13 11:26:18, 85.03 KB) / 下载次数 88
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzEzfGM3MTc0N2NmfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码09.jpg (2014-2-13 11:26:17, 79.98 KB) / 下载次数 90
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzEyfGRmZTE1OWQ5fDE3MzgyNjgwNjN8MHww
作者: Fenz    时间: 2014-2-13 12:25:09

本帖最后由 Fenz 于 2014-2-13 13:18 编辑

期待了好久啊,胡老师终于要做了。太好了,另外还有个6菱形面、6梯形面的菱错12轴的情况哟
作者: hubo5563    时间: 2014-2-13 15:29:33

Fenz 发表于 2014-2-13 12:25
期待了好久啊,胡老师终于要做了。太好了,另外还有个6菱形面、6梯形面的菱错12轴的情况哟

        经你的提示我弄明白棱错12轴的结构了,原来棱12轴分成两半要把中间的6轴劈开,这样一半有六个半轴,3根整轴,三根整轴形成等边三角形排列。
错开是指错60度安装。这样的魔方上面3个菱形面,下面3个菱形面,中间6个梯形面,短边和长边交错排列。物理角块8+4*6=32个,物理棱块有3+6+6+6+3=24个。
       菱形面和梯形面编码也和上面给出的一样,就是给定一个编码,判断这个魔方存在与否每种轴结构有差异。

作者: 洛阳狼王    时间: 2014-2-13 16:03:12

感谢分享                                             
作者: 折翼蚂蝗    时间: 2014-2-13 16:50:39

不理解老师的意思,但还是非常期待见到java工具出现!!
作者: 小糊涂虫    时间: 2014-2-13 20:39:34

支持一个                                
作者: Fenz    时间: 2014-2-14 09:32:44

hubo5563 发表于 2014-2-13 15:29
经你的提示我弄明白棱错12轴的结构了,原来棱12轴分成两半要把中间的6轴劈开,这样一半有六个半轴 ...

对,就是这种结构。我也是因为大烟头提到有菱错12轴后,才尝试出来这种结构的(以前只尝试出3种),由于身边没有模型,就没发图上来。也没找到这种结构需要的轴心,所以也没拼出其实物来。
作者: hubo5563    时间: 2014-2-14 15:35:00

本帖最后由 hubo5563 于 2014-2-14 16:05 编辑
Fenz 发表于 2014-2-14 09:32
对,就是这种结构。我也是因为大烟头提到有菱错12轴后,才尝试出来这种结构的(以前只尝试出3种),由于身边 ...


先用表面模型,我画了这几种的展开图:

百慕大五魔编码10.jpg
百慕大五魔编码11.jpg
百慕大五魔编码12.jpg
百慕大五魔编码13.jpg

注意,四个角块在一起时少画一个面。

     这4个除了正十二轴的正十二面体是精确模型,其他3个都是近似模型。

      就是说出来的面有可能不平整。

       例如棱错12轴,那6个被分开的轴是均匀分布的夹角是60度。精确模型应该是63.43495度。


附件: 百慕大五魔编码13.jpg (2014-2-14 15:34:44, 88.13 KB) / 下载次数 85
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzg2fGNlZTM5NWZlfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码12.jpg (2014-2-14 15:34:42, 86.98 KB) / 下载次数 84
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzg1fDYzZjhhOTRkfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码11.jpg (2014-2-14 15:34:40, 84.73 KB) / 下载次数 85
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzg0fGY2ZWEzMzNjfDE3MzgyNjgwNjN8MHww

附件: 百慕大五魔编码10.jpg (2014-2-14 15:34:37, 84.84 KB) / 下载次数 87
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjMzNzgzfGJiYTBhYmJkfDE3MzgyNjgwNjN8MHww
作者: Fenz    时间: 2014-2-14 16:18:44

hubo5563 发表于 2014-2-14 15:35
先用表面模型,我画了这几种的展开图:

那三个都是近似的,实物组装时还会因为力的作用自适应,基本上不影响转动,只是稳定性和防POP打了些折扣;但3D建模就麻烦了,我弄的3D模型就都歪歪扭扭的,一直想不到什么好的方法调整。看胡老师算出了精确角度,是不是已经解决这个问题了呢?
作者: hubo5563    时间: 2014-2-14 17:08:13

本帖最后由 hubo5563 于 2014-2-14 17:12 编辑
Fenz 发表于 2014-2-14 16:18
那三个都是近似的,实物组装时还会因为力的作用自适应,基本上不影响转动,只是稳定性和防POP打了些折扣; ...


       这些都需要仔细计算,仿真应力作用的自适应,需要适当调整,但不能完全解决面不平的问题。
我想把棱块和角块组成的棱在夹槽中平均排放,出来面也不会太平整。
       实际棱12面体有精确模型,转动角度也不是36度的整数倍,而是
0,70.53,109.47,180,-109.47,-70.53度
       近似模型转动角度对应精确模型是:0,72,108,180,-108,-72度。相差不多。





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