魔方模拟器与求解器、包括网络摄像头识别【含Matlab源码】

2021-02-15 53点热度 0人点赞

多维数据集模拟器和求解器

该程序模拟,操纵和求解所有魔方。包括网络摄像头识别。 

运行:>> digrub

该程序允许您生成任意尺寸的随机加扰多维数据集,然后可以手动对其进行操作或由计算机求解。您也可以使用网络摄像头(3x3x3)输入您自己的状态,或仅输入每个小面的颜色(2,3,4x.x。)。

有几种内置的求解机制:

-2x2x2的上帝算法:这是给定状态(半圈制)的最佳解决方案。

-3x3x3的Thistlethwaite 45(T45):此算法将始终找到不超过45个动作的解,平均为31。

-逐层(初学者)解决方案:这是初学者通常用来解决多维数据集的方法。比T45更为直观,但也更广泛,更不有效。

-4x4x4的423T45(读取4到3,T45):该算法将多维数据集置于可以像处理3x3x3多维数据集一样处理的状态。完成此操作后,可以应用T45来解决它(平均移动约180个动作)。

-所有多维数据集的反向加扰:就像作弊一样,但是当加扰已知时,可以通过反转顺序来解决每个多维数据集。

所有以上方法(除了反向加扰,这都是微不足道的)都在随附的PDF中进行了详细说明。PDF还包含有关多维数据集的大量理论说明。

包含的功能/文件的描述:
algrot.m-计算在多维数据集旋转下算法如何变化。
digrub.fig-GUI图形主程序
digrub.m-与digrub.fig一起使用的GUIDE生成的m文件。
editstate.fig-手动输入程序的GUI图形
editstate.m-GUIDE生成的m文件,与editstate.fig一起使用。
findpeeks.m-用于在网络摄像头图像中查找多维数据集位置的窥视器。
GetCorners.m-计算给定3x3x3立方体的角部排列/方向。
GetCorners2.m-计算给定2x2x2立方体的角部排列/方向。
GetEdges.m-计算给定3x3x3立方体的边缘排列/方向。
GetFacelets.m-将方向/排列表示形式的状态转换为facelet repr。
Ind2State.m-将索引转换为状态
move2rub.m-将形式“ x11”的移动转换为Rubik的代码“ B”。
parity.m-计算排列的奇偶校验。
rub2move.m-将Rubik代码中的移动转换为axile'x11'形式。
rubcheck.m-检查2x2x2或3x3x3状态的有效性。
rubcross.m-在立方体上搜索一个十字架。
rubgen.m-生成立方体
rubinfo.m-返回有关立方体状态的信息
rubopt.m-优化移动序列
ruborient.m-定向立方体
rubplot.m-绘制立方体 rubrot.m的3D图像
-应用移到立方体
rubrot2.m-旋转整个多维数据集
rubsolve.m-使用逐层方法
求解多维数据集
Solve45.m-使用T45 求解多维数据集
Solve222.m-找到2x2x2多维数据集的上帝算法 Solve444.m-找到任意一种解决方案4x4x4立方体。

完整资料领取请阅读全文

隐藏内容需要支付:¥10

未经允许不得转载!魔方模拟器与求解器、包括网络摄像头识别【含Matlab源码】

本文地址:https://ai.52learn.online/9725

站长邮箱:ai52learn@foxmail.com