本文的目的

公开三阶魔方应用使用的源代码。只有在展开文件时才会加载代码。

使用的工具

  • Qt6(Core、Gui、Widgets、OpenGL、Network)和 OpenGL:3D 魔方、照片导入界面
  • Kociemba 两阶段搜索:原样放入了 muodov/kociemba 的 C 代码。许可证是 GPL-2.0。
  • Qwen3-VL-8B-Instruct(transformers,Mac MPS):VLM 扫描服务器。通过 TCP 与应用连接。

文件夹结构

  • src/CubeModel:魔方状态、旋转、颜色分类
  • src/CubeWidget、MainWindow:OpenGL 画面与鼠标旋转,打乱、上一步、下一步、预言机按钮
  • src/CubePhotoReconstructor:从两张照片读取 54 格、规则检查、自动校正
  • src/PhotoImportDialog:照片导入、普通扫描与 VLM 扫描、点击格子时弹出的六色环
  • src/KociembaSolver、Oracle、BeginnerSolver、MoveSolver:求解。按 Kociemba → 短搜索 → 初学者逐层的顺序使用。
  • src/TcpCubeVlmClient、vlm_server:VLM 扫描客户端和服务器
  • tools/face_scan_cli.py:逐个面确认颜色的命令行工具
  • third_party/ckociemba:Kociemba C 代码

按照 README 用 cmake 构建。构建产物、虚拟环境、Kociemba 表文件(cache)和测试照片均未附上。82 个测试程序因为代码中写死了测试照片的路径,所以也去掉了。

完整源代码

42 个文件 · 11,309 行 — 展开文件夹后点击文件即可加载代码。

项目根目录2 个文件
CMakeLists.txttext · 405 行 · 20KB

正在加载代码…

README.mdmarkdown · 47 行 · 1KB

正在加载代码…

src/21 个文件
src/BeginnerSolver.cppc++ · 1,095 行 · 34KB

正在加载代码…

src/BeginnerSolver.hc++ · 11 行 · 250B

正在加载代码…

src/CubeModel.cppc++ · 536 行 · 19KB

正在加载代码…

src/CubeModel.hc++ · 64 行 · 2KB

正在加载代码…

src/CubePhotoReconstructor.cppc++ · 3,353 行 · 133KB

正在加载代码…

src/CubePhotoReconstructor.hc++ · 62 行 · 2KB

正在加载代码…

src/CubeWidget.cppc++ · 737 行 · 21KB

正在加载代码…

src/CubeWidget.hc++ · 108 行 · 3KB

正在加载代码…

src/KociembaSolver.cppc++ · 172 行 · 5KB

正在加载代码…

src/KociembaSolver.hc++ · 21 行 · 611B

正在加载代码…

src/main.cppc++ · 19 行 · 400B

正在加载代码…

src/MainWindow.cppc++ · 160 行 · 6KB

正在加载代码…

src/MainWindow.hc++ · 26 行 · 570B

正在加载代码…

src/MoveSolver.cppc++ · 144 行 · 5KB

正在加载代码…

src/MoveSolver.hc++ · 28 行 · 760B

正在加载代码…

src/Oracle.cppc++ · 422 行 · 14KB

正在加载代码…

src/Oracle.hc++ · 18 行 · 557B

正在加载代码…

src/PhotoImportDialog.cppc++ · 618 行 · 24KB

正在加载代码…

src/PhotoImportDialog.hc++ · 62 行 · 2KB

正在加载代码…

src/TcpCubeVlmClient.cppc++ · 252 行 · 7KB

正在加载代码…

src/TcpCubeVlmClient.hc++ · 53 行 · 1KB

正在加载代码…

third_party/15 个文件
third_party/ckociemba/coordcube.ctext · 366 行 · 14KB

正在加载代码…

third_party/ckociemba/cubiecube.ctext · 693 行 · 20KB

正在加载代码…

third_party/ckociemba/facecube.ctext · 130 行 · 4KB

正在加载代码…

third_party/ckociemba/include/color.hc++ · 7 行 · 144B

正在加载代码…

third_party/ckociemba/include/coordcube.hc++ · 113 行 · 4KB

正在加载代码…

third_party/ckociemba/include/corner.hc++ · 10 行 · 248B

正在加载代码…

third_party/ckociemba/include/cubiecube.hc++ · 68 行 · 2KB

正在加载代码…

third_party/ckociemba/include/edge.hc++ · 9 行 · 231B

正在加载代码…

third_party/ckociemba/include/facecube.hc++ · 41 行 · 1KB

正在加载代码…

third_party/ckociemba/include/facelet.hc++ · 41 行 · 2KB

正在加载代码…

third_party/ckociemba/include/prunetable_helpers.hc++ · 21 行 · 627B

正在加载代码…

third_party/ckociemba/include/search.hc++ · 63 行 · 3KB

正在加载代码…

third_party/ckociemba/prunetable_helpers.ctext · 77 行 · 2KB

正在加载代码…

third_party/ckociemba/README.mdmarkdown · 6 行 · 189B

正在加载代码…

third_party/ckociemba/search.ctext · 333 行 · 11KB

正在加载代码…

tools/1 个文件
tools/face_scan_cli.pypython · 403 行 · 13KB

正在加载代码…

vlm_server/3 个文件
vlm_server/cube_vlm_server.pypython · 488 行 · 16KB

正在加载代码…

vlm_server/README.mdmarkdown · 21 行 · 732B

正在加载代码…

vlm_server/requirements.txttext · 6 行 · 72B

正在加载代码…