
この記事の目的
3×3 キューブアプリに使ったソースコードを公開します。ファイルを開いたときだけコードを読み込みます。
使用したツール
- Qt6(Core、Gui、Widgets、OpenGL、Network)と OpenGL: 3Dキューブ、写真の読み込み画面
- Kociemba の2段階探索: muodov/kociemba の C コードをそのまま入れました。GPL-2.0 です。
- Qwen3-VL-8B-Instruct(transformers、Mac の MPS): VLM スキャンサーバー。アプリと TCP でつながります。
フォルダ構成
- src/CubeModel: キューブの状態、回転、色の分類
- src/CubeWidget、MainWindow: OpenGL の画面とマウスでの回転、シャッフル・前へ・次へ・オラクルのボタン
- src/CubePhotoReconstructor: 写真2枚から54マスの読み取り、ルールの検査、自動補正
- src/PhotoImportDialog: 写真の読み込み、通常・VLM スキャン、マスを押すと出る6色のリング
- 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行 — フォルダを開いてファイルを押すとコードを読み込みます。
プロジェクトルート
CMakeLists.txt
コードを読み込んでいます…
README.md
コードを読み込んでいます…
src/
src/BeginnerSolver.cpp
コードを読み込んでいます…
src/BeginnerSolver.h
コードを読み込んでいます…
src/CubeModel.cpp
コードを読み込んでいます…
src/CubeModel.h
コードを読み込んでいます…
src/CubePhotoReconstructor.cpp
コードを読み込んでいます…
src/CubePhotoReconstructor.h
コードを読み込んでいます…
src/CubeWidget.cpp
コードを読み込んでいます…
src/CubeWidget.h
コードを読み込んでいます…
src/KociembaSolver.cpp
コードを読み込んでいます…
src/KociembaSolver.h
コードを読み込んでいます…
src/main.cpp
コードを読み込んでいます…
src/MainWindow.cpp
コードを読み込んでいます…
src/MainWindow.h
コードを読み込んでいます…
src/MoveSolver.cpp
コードを読み込んでいます…
src/MoveSolver.h
コードを読み込んでいます…
src/Oracle.cpp
コードを読み込んでいます…
src/Oracle.h
コードを読み込んでいます…
src/PhotoImportDialog.cpp
コードを読み込んでいます…
src/PhotoImportDialog.h
コードを読み込んでいます…
src/TcpCubeVlmClient.cpp
コードを読み込んでいます…
src/TcpCubeVlmClient.h
コードを読み込んでいます…
third_party/
third_party/ckociemba/coordcube.c
コードを読み込んでいます…
third_party/ckociemba/cubiecube.c
コードを読み込んでいます…
third_party/ckociemba/facecube.c
コードを読み込んでいます…
third_party/ckociemba/include/color.h
コードを読み込んでいます…
third_party/ckociemba/include/coordcube.h
コードを読み込んでいます…
third_party/ckociemba/include/corner.h
コードを読み込んでいます…
third_party/ckociemba/include/cubiecube.h
コードを読み込んでいます…
third_party/ckociemba/include/edge.h
コードを読み込んでいます…
third_party/ckociemba/include/facecube.h
コードを読み込んでいます…
third_party/ckociemba/include/facelet.h
コードを読み込んでいます…
third_party/ckociemba/include/prunetable_helpers.h
コードを読み込んでいます…
third_party/ckociemba/include/search.h
コードを読み込んでいます…
third_party/ckociemba/prunetable_helpers.c
コードを読み込んでいます…
third_party/ckociemba/README.md
コードを読み込んでいます…
third_party/ckociemba/search.c
コードを読み込んでいます…
tools/
tools/face_scan_cli.py
コードを読み込んでいます…
vlm_server/
vlm_server/cube_vlm_server.py
コードを読み込んでいます…
vlm_server/README.md
コードを読み込んでいます…
vlm_server/requirements.txt
コードを読み込んでいます…
COMMENTS · CHAPTER 04
全ソースコードと使用したツール コメント 0
まだコメントはありません。気になった点や補足があれば残してください。
コメントを登録するには、Googleで始めてニックネームとメールアドレスを登録してください。
Googleで始める