{"id":16021142,"url":"https://github.com/tentone/rubix-solver","last_synced_at":"2026-04-24T16:33:25.022Z","repository":{"id":97242844,"uuid":"531619666","full_name":"tentone/rubix-solver","owner":"tentone","description":"Rubix cube detector and solver using computer vision.","archived":false,"fork":false,"pushed_at":"2022-11-24T21:36:15.000Z","size":30749,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T03:42:42.661Z","etag":null,"topics":["opencv","rubix-cube"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tentone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-01T17:26:13.000Z","updated_at":"2024-12-15T08:41:11.000Z","dependencies_parsed_at":"2023-03-13T16:18:27.807Z","dependency_job_id":null,"html_url":"https://github.com/tentone/rubix-solver","commit_stats":{"total_commits":84,"total_committers":1,"mean_commits":84.0,"dds":0.0,"last_synced_commit":"d5b9c6d87771f83a48a4c73fd6f79bfe2f4289a4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tentone/rubix-solver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tentone%2Frubix-solver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tentone%2Frubix-solver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tentone%2Frubix-solver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tentone%2Frubix-solver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tentone","download_url":"https://codeload.github.com/tentone/rubix-solver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tentone%2Frubix-solver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32230967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["opencv","rubix-cube"],"created_at":"2024-10-08T18:01:45.982Z","updated_at":"2026-04-24T16:33:25.007Z","avatar_url":"https://github.com/tentone.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rubix Solver\n - Rubix cube solver using computer vision.\n - Identifies the state of your rubix cube and helps you to solve it.\n - Step by step instructions to solve the rubix cube.\n\n\u003cimg src=\"https://raw.githubusercontent.com/tentone/rubix-solver/master/readme/animation.gif\" width=\"600\"\u003e\n\n## Setup\n - Install dependencies from the `install.sh` file.\n - Install [OpenCV](https://github.com/opencv/opencv) from github (pre-built binary or from souce).\n    - Can use the `install-opencv.sh` script available on the repository\n - Run the code using cmake or the `run.sh` script.\n\n\n## Vision Algorihtm\n - The vision algorithm is quite simple and is composed of three main steps.\n - We look for clusters of quads that compose the face of the cube.\n - Each quad is tested for color using HSL filtering.\n - Finally the quads are sorted based on the position.\n - The faces are identified by their center color.\n\n\u003cimg src=\"https://raw.githubusercontent.com/tentone/rubix-solver/master/readme/vision.png\" width=\"600\"\u003e\n\n\n## Solve Algorithm\n - The original 3x3x3 Rubik's cube has 43.252.003.274.489.856.000 possible combinations.\n - Theoritically a rubik's cube can be solved in 20 moved from any position.\n - The algorithm implemented to solve the rubix cube in the system uses a brute-force approach.\n    - Some optimizations are performed to remove ambigous movements.\n - The depth of moves is limited by performance of the algorithm.\n    - The max depth of moves can be changed in the GUI. By default 10 is used.\n - An alternative algorithms such as the [Thisletwaite's algorithm](https://github.com/conanwu777/rubik) could be used instead.\n - The cube movements use the notation presented in the picture bellow.\n\n\u003cimg src=\"https://raw.githubusercontent.com/tentone/rubix-solver/master/readme/notation.png\" width=\"400\"\u003e\n\n## License\n - This project is distributed under MIT license available on the repository page.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftentone%2Frubix-solver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftentone%2Frubix-solver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftentone%2Frubix-solver/lists"}