The objective of this project is to graphically represent a Rubik's cube and to find a solution for a given state. A rubik’s cube is a three dimensional puzzle; the goal is to correctly orient all pieces such that each of the six faces only has one colour occupying it. The cube is made up of corner pieces (with 3 sides) and edge pieces (with 2 sides). In any state, a cube has 12 possible turns: the clockwise and counterclockwise rotation of the six faces. This program uses predetermined patterns and pattern recognition to piece together a solution to any state of a cube. The cube will be graphically displayed as it's geometric net and represented as a 2D array of values. This program currently generates solutions of approximately 100 quarter turns. In comparison, the optimal algorithm (Kociemba’s algorithm) can find a solution to any cube in 26 quarter turns or less.
Checkout the full design document on Google Drive.
Partially solved state: