魔方吧·中文魔方俱乐部

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

百慕大五魔方程序设计用的编码方案 [复制链接]

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

跳转到指定楼层
1#
发表于 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种。

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

      

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

积分
3010
帖子
1832
精华
6
UID
102191
性别
保密
兴趣爱好
理论
结构
破解

四年元老

2#
发表于 2014-2-13 12:25:09 |只看该作者
本帖最后由 Fenz 于 2014-2-13 13:18 编辑

期待了好久啊,胡老师终于要做了。太好了,另外还有个6菱形面、6梯形面的菱错12轴的情况哟

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

3#
发表于 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个。
       菱形面和梯形面编码也和上面给出的一样,就是给定一个编码,判断这个魔方存在与否每种轴结构有差异。

使用道具 举报

铜魔

非著名魔方评论家

Rank: 8Rank: 8

积分
9548
帖子
8704
精华
0
UID
104435

爱心大使 六年元老

4#
发表于 2014-2-13 16:03:12 |只看该作者
感谢分享                                             

使用道具 举报

Rank: 4

积分
2051
帖子
1372
精华
4
UID
1321618

收藏爱好者 六年元老 八年元老

5#
发表于 2014-2-13 16:50:39 |只看该作者
不理解老师的意思,但还是非常期待见到java工具出现!!

使用道具 举报

Rank: 3Rank: 3

积分
868
帖子
833
精华
0
UID
1316976
6#
发表于 2014-2-13 20:39:34 |只看该作者
支持一个                                

使用道具 举报

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

积分
3010
帖子
1832
精华
6
UID
102191
性别
保密
兴趣爱好
理论
结构
破解

四年元老

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

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

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

8#
发表于 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度。

使用道具 举报

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

积分
3010
帖子
1832
精华
6
UID
102191
性别
保密
兴趣爱好
理论
结构
破解

四年元老

9#
发表于 2014-2-14 16:18:44 |只看该作者
hubo5563 发表于 2014-2-14 15:35
先用表面模型,我画了这几种的展开图:

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

使用道具 举报

Rank: 8Rank: 8

积分
8156
帖子
3086
精华
81
UID
4618
性别

论坛建设奖 十年元老

10#
发表于 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度。相差不多。

使用道具 举报

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

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

GMT+8, 2024-11-23 17:41

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部