在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
大二的时候,没什么事情,打算用MATLAB做一个三阶魔方机器人,所以使用GUI做了个上位机,使用MATLAB编写的3阶魔方GUI,可以实现魔方状态设置(始末状态都可以设置),使用 patch 实现的魔方的旋转动画效果,可以调节旋转的速度,最开始打算用MATLAB实现解算算法的,但后来放弃了,主要是太难了,参考的两套算法都是用C#和C++实现的,而考虑到MATLAB运行机制的原因和算法的分析涉及的数学知识确实太高深了,可以先看看这篇文章(当然Kociemba算法可没有这么简单,他的剪枝做的厉害,优化也是很深入的),因此我在这里提供了两个魔方解算的DLL,是两种不同的算法实现的三阶魔方的解算,其中 Kociemba的解算结果比较好,我在DLL中限定了输出条件为解算步骤小于等于21步就输出,但是 Thistlethwaite 算法的话由于其数学理论决定了最大50+步,而一般确实是在25步以上,所以建议使用C++版本的DLL。 先放工程下载链接:Kociemba算法C++dll工程+Kociemba算法C++控制台输出工程 + Thistlethwaite算法C#WinForm工程 效果图:
Thistlethwaite算法中使用了这样的魔方表述方式,如果有人不知道怎么这样( UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR)表示魔方的话:可以看这篇文章 Kociemba算法中使用了这样的魔方表述方式,这个应该很清晰明了。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论