魔方吧·中文魔方俱乐部

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

Fenz 的第二代在线魔方程序 [复制链接]

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

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

四年元老

跳转到指定楼层
1#
发表于 2018-11-2 21:56:33 |只看该作者 |倒序浏览
本帖最后由 Fenz 于 2024-5-7 09:31 编辑

本程序为 Web 程序,可在线玩。地址为:
https://mc.fenzland.com

操作方式:
电脑端:拖动中键(滚轮)旋转视角;滚动滚轮缩放;在面上点击鼠标左键和右键拧动魔方;加上 Ctrl、Shift、Alt 的不同组合,在不同的魔方下,不同的面上,都会有不同的转动效果。
手机端:单指划动为旋转视角;双指划动为缩放;点击魔方面为拧动魔方,每个面的操作与电脑端不同,以便在没有左右键和 Ctrl、Shift、Alt 的情况下实现更多操作。

已支持的魔方:
正四面体 2、3、4、5 阶魔方;
三棱柱 2 阶魔方;
正六面体 2、3、4、5 阶魔方,空心3阶魔方,带面块唯棱魔方,唯棱魔方;
正十二面体 2、3、4 阶魔方,空心3阶五魔,最深切的转面五魔;


小记:

四年前写过一个SVG版的在线魔方程序。受限于当时的设计,每个魔方的每个点的坐标都需要手动计算,所以非常不利于增加更多魔方。后来便也没有再更新。

直到最近,才终于下定决心继续搞起。过去这几年 Web 技术日新月异,我决定重新写一版,以便用上最棒的新技术。
这次,我选择了更加强大的 three.js 作为驱动,使用 WebGL 作为引擎,并且使用了 ES6 的新语法。
为此,放弃兼容任何落后的浏览器。支持的浏览器有:任何平台下的 Google Chrome、Opera,Windows 下的 360、QQ浏览器(最新版本极速模式),IOS12 下的 Safari 等。Android 可使用 Google Chrome,IOS 只要升级到 12 即可。暂不支持的浏览器有:火狐、Edge。

这次,我在原有设计上,改进了定义魔方的方式,使得创建新魔方更加方便,但仍然有优化的空间。我会持续优化,达到基本稳定后会将代码发布至 GitHub。届时会 JS 的朋友可以贡献魔方。我的远期目标是做到可以让任何人都能来构造魔方,当然目前看来还比较遥远。

目前这个程序还处于初期阶段,一直会有更新。我也会持续加入新魔方。

请多多支持



Screenshot_20181102_220514.png

Screenshot_20181102_220557.png

Screenshot_20181102_220624.png

Screenshot_20181102_220645.png

Screenshot_20181102_220700.png



==============================
更新记录

增加背面显示功能
在魔方的后方空间中显示背面的情况,便于观察,也可进行点击操作。

增加配置功能。
可配置坐标轴、魔方背面的显示和隐藏,场景雾的浓度,黑夜模式,显示分辨率(调高可防锯齿,调低可提升性能)。
可配置使用哪个鼠标键旋转视角,可配置魔方转动速度。

增加变形魔方 二阶三棱柱魔方。
此魔方为第一代在线魔方程序所支持的其中一个魔方。为变形魔方,现实中无法实现。在程序中实现也较难,目前仅处理到二阶。三阶及以上还没处理完毕。

正四面体、正六面体、正十二面体更新到 5 阶,所有种类的块都已经出现,这意味着已经可以方便地配出任意高阶。

增加限制魔方 单元魔方
此魔方为所有三阶魔方和百慕大魔方的基本单元。为了实现单元魔方,程序新增了限制转动和组合转动的支持。其中限制转动,是捆绑魔方,Jumble魔方,百慕大魔方等有转动限制的魔方的基础。组合转动,则是实现公式和宏的第一步。

增加 MixUp 以及其原形魔方
立方体的 MixUp 是一个变形魔方,不过我们可以通过切削找到其原形:小斜方截半立方体。这个形状不适用于按面着色,故采用了立方体,正八面体两种不同的着色方式。

增加百慕大魔方
首先是三棱柱,即5轴的百慕大魔方(Emax=4)。这个魔方的原形由奥斯卡先生所制作,也是大烟头设计百慕大三角魔方的灵感来源之一。可以说是百慕大系列的序曲。
然后是楼主所设计的百慕大粽子(Emax=3)系列。由于面少,这个系列组合款式不多。严格地说,可玩的只有一种结构两个款式,即一个百慕大面、一个百慕大面一个移棱面。若增加到两个百慕大面,就已经无法完全打乱,三个百慕大面则直接锁死,无法转动。
增加了大烟头的百慕大三角魔方,百慕大系列的鼻祖,也是“百慕大”之名的由来。
增加了新设计的百慕大箭矢魔方(Emax=2.5)。是楼主全新设计的魔方,特征值 Emax 达到了可以达到的最小值,棱和角块也达到了最小单元(事实上与单元魔方同构)。
增加百慕大3.5魔方--玫瑰魔方,楼主以前的设计,发现没起昵称。于是稍稍改动形状,使其倒着看像一朵玫瑰,起名“玫瑰魔方”。由于中心块只有一种,所以和箭矢/星辰一样,实际上只有一种结构。改变的,是不同形状棱角块的搭配(这种可以称为“单调百慕大魔方”)。
增加百慕大4.5魔方--花苞魔方。也是楼主以前的设计,非常好看的外形。不同于单调百慕大 2.5 和 3.5 只有一种中心块,4.5 有着真正不同类型的面,可玩性上升了一个层次。

增加语言设置,有英文和三个版本的中文,分别照顾大陆和台湾地区等不同的语言习惯。关于魔方的英文名,主要是从 TP 和维基百科找来,找不到则自己编。有不合适的,还请各位魔友指正。
使用百慕大玫瑰魔方作为 favicon。
mc.jpg


==============================
更新记录(2024-03-15)

一晃已数年未更新,这些年魔方也玩得少了,公式也背过忘过多回,最后不管啥魔方都一个三循环一个三循环地还原了。翻看自己的代码,已然是需要一点点学习了。尤其是几何的部分,要补好多数学颗。如今回来魔方吧依然在这里,不知老朋友们是否还常在,又有多少新朋友来往。总之,我现在回来继续完善我的程序,新增魔方,并改版。改版后,将具备引入公式编辑和演示等能力。路要一步一步走,先增加些魔方吧。

增加魔方:3/4/5阶三棱柱、2/3/4/5阶五棱柱、2/3/4/5阶六棱柱、立方体凸层魔方、百慕大3½火山系列、百慕大4½瑕晶系列。

Screenshot_20240315_225747.png
Screenshot_20240315_225825.png
Screenshot_20240315_225841.png
Screenshot_20240315_225934.png

==============================
更新记录(2024-04-06)

新增键盘控制支持

新增魔方 LIttle Chop 系列、百慕大2½星辰

Screenshot_20240406_050036.png
Screenshot_20240406_050137.png
Screenshot_20240406_050122.png
Screenshot_20240406_050004.png


==============================
更新记录(2024-04-14)

新增拓扑百慕大4½八面体
Screenshot_20240414_215918.png
Screenshot_20240414_215232.png

这个魔方是由胡波老师和我各自独立设计的,胡老师早几个小时发帖,因此为第一设计者。
胡老师的设计
我的设计

由于这个魔方是个非精准魔方,需要通过一定的变形才能实现。现在我管这样的魔方叫拓扑魔方,有别于几何魔方,拓扑魔方不在乎是否变形,只在乎拓扑上是否成立。
变形小的拓扑魔方还能做成实物(奥斯卡便做过不少),变形大的魔方,则只能做虚拟魔方了。
由于变形的存在,程序的实现复杂度上升,所以多费了些功夫才搞定。触类旁通,接下来就能做出更多的拓扑百慕大魔方了(比如胡波老师头像那个百慕大5½)。


此外,前些日子更新的凸层魔方忘了配图,这给补上:
Screenshot_20240414_215933.png
Screenshot_20240414_215947.png
Screenshot_20240414_220001.png
Screenshot_20240414_220030.png
Screenshot_20240414_220043.png
Screenshot_20240414_220059.png


==============================
更新记录(2024-05-04)

新增:拓扑百慕大4½正四面体、拓扑百慕大6正六面体、拓扑百慕大6截角八面体、拓扑百慕大7½正十二面体

Screenshot_20240505_155522.png
Screenshot_20240505_155542.png
Screenshot_20240505_153224.png
Screenshot_20240504_224821.png

==============================
更新记录(2024-05-07)

新增:拓扑百慕大4½正二十面体

Screenshot_20240507_092830.png
已有 2 人评分经验 收起 理由
kexin_xiao + 20 赞一个!
cube_master + 20 很给力!

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

Rank: 2

积分
228
帖子
227
精华
0
UID
1348194
性别
保密
居住地
大连市
兴趣爱好
破解
2#
发表于 2018-11-2 22:37:39 |只看该作者
想玩,可惜没成功!

使用道具 举报

Rank: 2

积分
275
帖子
272
精华
0
UID
1347737
性别
保密
兴趣爱好
收藏
3#
发表于 2018-11-3 00:23:28 |只看该作者
又多了几个魔方,谢谢

使用道具 举报

Rank: 10Rank: 10Rank: 10

积分
25039
帖子
4868
精华
33
UID
3
性别
兴趣爱好
结构
4#
发表于 2018-11-3 01:12:01 |只看该作者
pCubes.zip 类似吗?
-,'''╭⌒╮⌒╮.',''',,',.'',,','',.,,'
.╱◥██◣''o┈ 魔方吧 ┄o.'',,',.
︱田︱田田︱ '',,',.o┈ 欢迎您光临 ┄o
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
10342
帖子
3379
精华
18
UID
101905
性别
兴趣爱好
收藏

收藏爱好者 十年元老

5#
发表于 2018-11-3 01:45:06 |只看该作者
挺不錯的呢! 看起來不是用flash的, 是不是html5? 相對pcubes的鼠標拖動, 我更喜歡用鼠標左鍵和右鍵去動~

使用道具 举报

Rank: 5Rank: 5

积分
3309
帖子
3885
精华
0
UID
12324

魔方破解达人 十二年元老

6#
发表于 2018-11-3 07:00:19 |只看该作者
还是论坛高手多啊

使用道具 举报

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

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

四年元老

7#
发表于 2018-11-3 10:56:01 |只看该作者
otischeng 发表于 2018-11-3 01:45
挺不錯的呢! 看起來不是用flash的, 是不是html5? 相對pcubes的鼠標拖動, 我更喜歡用鼠標左鍵和右鍵去動~

叫 WebGL,不知道算不算 HTML5 的一部分。flash 到 2020 年就得壽終正寢了,所以還是不用的好。

操作習慣,還有配色,有計劃做成可配置的,並且記錄在瀏覽器中,每次打開都記得。目前精力主要集中在加魔方,以及優化加魔方的方式。所以這些輔助功能會晚一點。到時候更新了給你回復。

使用道具 举报

红魔

Crazy

Rank: 4

积分
1593
帖子
2669
精华
2
UID
7888

十四年元老

8#
发表于 2018-11-3 11:09:15 来自手机 |只看该作者
加油,这是一个大工程。

使用道具 举报

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

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

四年元老

9#
发表于 2018-11-3 11:39:30 |只看该作者
cube_master 发表于 2018-11-3 01:12
与 pCubes.zip 类似吗?

还没做到像 pCubes 这么成熟。pCubes 定义魔方的方式,以及操作风格都是值得我借鉴的。谢谢老大分享 pCubes。

不过我的程序也有一开始就超过 pCubes 的地方,就是跨平台。pCubes 只能在 Windows 下运行,而我的程序在 Windows、Linux、Mac OS、Chrome OS、IOS、Android 等操作系统下都是可以运行的。

使用道具 举报

银魔

魔方思者

Rank: 7Rank: 7Rank: 7

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

四年元老

10#
发表于 2018-11-3 11:48:54 |只看该作者
vip2018 发表于 2018-11-3 00:23
又多了几个魔方,谢谢

会一直持续更新新的魔方,请多多支持

使用道具 举报

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

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

GMT+8, 2024-12-4 01:13

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部