
이 글의 목적
3×3 큐브 앱에 쓴 소스 코드를 공개합니다. 파일을 펼칠 때만 코드를 불러옵니다.
사용한 도구
- Qt6(Core, Gui, Widgets, OpenGL, Network)와 OpenGL: 3D 큐브, 사진 불러오기 화면
- Kociemba 2단계 탐색: muodov/kociemba의 C 코드를 그대로 넣었습니다. GPL-2.0입니다.
- Qwen3-VL-8B-Instruct(transformers, 맥 MPS): VLM 스캔 서버. 앱과 TCP로 붙습니다.
폴더 구성
- src/CubeModel: 큐브 상태, 회전, 색 분류
- src/CubeWidget, MainWindow: OpenGL 화면과 마우스 회전, 섞기·이전·다음·오라클 버튼
- src/CubePhotoReconstructor: 사진 두 장에서 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
아직 댓글이 없습니다. 읽다가 궁금한 점이나 보탤 내용을 남겨 주세요.
댓글을 등록하려면 구글로 시작하기를 눌러 닉네임과 메일 주소를 등록해 주세요.
구글로 시작하기