魔方吧·中文魔方俱乐部

标题: 联动转面五魔方java助手及其仿真软件 [打印本页]

作者: hubo5563    时间: 2013-1-14 17:49:34     标题: 联动转面五魔方java助手及其仿真软件

本帖最后由 hubo5563 于 2013-1-17 11:51 编辑

      联动转面五魔方java助手及其仿真软件


    联动魔方有可能做成实物,请看Timur的四阶联动魔方:

http://bbs.mf8-china.com/forum.p ... &extra=page%3D2

   这个魔方叫做Clockwork 4x4x4 Cube,意思是像钟表那样转动的四阶魔方。我把他的思路推广到五魔方上了,由于不只是像钟表那样转动,这里也定义了对面同向和对面反向的转动,因此起名为联动转面五魔方。
   本程序支持所有可能的一、二层切割的转面五魔方,一层7个,2层58个共65个。
   特征面用6个数表示,因为五魔方共12个面,对面的特征和本身相同,所以只需定义6个面的特征即可。
   特征为0,对面和本面不联动;
   特征为1,对面和本面联动,转动方向相反
   特征为2,对面和本面联动,转动方向相同
   特征为3,对面和本面都不能转动。

   这类魔方难度很大。




程序下载:
联动转面五魔方.rar (51.07 KB, 下载次数: 73)

java助手截图:
0002.JPG

仿真软件截图:
0001.JPG



附件: 联动转面五魔方.rar (2013-1-17 11:51:50, 51.07 KB) / 下载次数 73
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjAxMjcyfDBjNTMxNDdhfDE3MzA0MjQwOTV8MHww

附件: 0002.JPG (2013-1-14 17:47:29, 158.27 KB) / 下载次数 37
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjAxMjcxfGE5OGRjMWUyfDE3MzA0MjQwOTV8MHww

附件: 0001.JPG (2013-1-14 17:47:24, 158.11 KB) / 下载次数 35
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjAxMjcwfGMwNzUwOGUwfDE3MzA0MjQwOTV8MHww
作者: otischeng    时间: 2013-1-14 20:41:32

很可怕的魔方......程序!
作者: hcjiaozhi    时间: 2013-1-14 22:38:16

谢谢楼主分享。
作者: schuma    时间: 2013-1-15 14:06:04

好东西!

一个挺特别的魔方是 全2面的六色联动五魔方。下载以后,选配色方案为六色,然后定义面特征为222222即可。

特别之处:由于它的配色方案,相反的两个点永远是同样颜色的。而且旋转规则也保证了不管怎么转动,相反的两个点永远同色。所以所有的角块和棱块都会成对出现。但是解的时候就会发现,有的角块会显得“镜像”了,其实这只是这个角块组的“前后”反了。而且这个魔方上可以单独旋转一个角块组。至于怎么做大家仔细想,呵呵。

数学:普通的五魔方在拓扑上讲就是个球。但是这个魔方上,可以认为相反的两点“完全一样”。如果认为这两点是等同的,那么这个东西的拓扑结构就不是球了,而叫射影平面:
http://zh.wikipedia.org/zh/%E5%AE%9E%E5%B0%84%E5%BD%B1%E5%B9%B3%E9%9D%A2
所以这个魔方可以叫做 “射影平面上的五魔方”。它有和莫比乌斯带类似的性质:一个图形可以光靠移动就被镜像。之前说过的镜像角块的事情也可以这样从数学上解释。这个把相对的点等同后得到的十二面体也叫半十二面体:
http://en.wikipedia.org/wiki/Hemi-dodecahedron
有比较丰富的数学背景。

不过即使不管数学,这个魔方也是个挺有意思的魔方,因为要处理镜像角块,单转角块的情况。我觉得这个魔方是熟悉射影平面的一个很好的例子。最早是在magictile里支持的 (http://www.gravitation3d.com/magictile/). 那里除了这个,还支持许多其它的射影平面里的魔方,还有克莱因瓶上的魔方等等。

作者: schuma    时间: 2013-1-15 14:11:55

胡波老师,我有个编程方面的建议。

我以前跟您提过,你发的html文件,我在chrome和firefox直接打开显示不了魔方。原因后来我搞明白了,就是一些 html 元素 比如
<SELECT onchange=init(); name="order"> ..... </SELECT>
里定义了 name, 但是没定义 id

然后javascript代码中 var order=document.getElementById("order");
原则上是按 id 来取数,在许多浏览器里就会出错或者返回空值。IE里好像默认没有 id 的用 name 来,所以就通过了。但是这个好像属于不标准的做法。
您最好把html的模板里这种情况,加个 id, 成为这样:
<SELECT onchange=init(); name="order"; id="order"> ..... </SELECT>
这样所有浏览器就都可以看到了,兼容性更好。

作者: hubo5563    时间: 2013-1-15 15:40:26

schuma 发表于 2013-1-15 14:11
胡波老师,我有个编程方面的建议。

我以前跟您提过,你发的html文件,我在chrome和firefox直接打开显示不 ...

我按你说的发了一个全2面六色的联动五魔方。
chrome显示不了java助手的错误一直不知道原因,谢谢你给指出,晚上回家改过来试试。
作者: hubo5563    时间: 2013-1-20 18:21:56

schuma 发表于 2013-1-15 14:11
胡波老师,我有个编程方面的建议。

我以前跟您提过,你发的html文件,我在chrome和firefox直接打开显示不 ...

是你说的,今天在chrome上能显示了。
作者: 钱游湖    时间: 2013-12-10 19:23:07

看看五魔是如何联动的O(∩_∩)O




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