In sophomore year, Arnav and Dhruv attempted to build a Rubik's Cube solver from scratch. Using two-dimensional arrays they were able to build a foundation for their ideas. However, they were not able to refine their ideas and address the profound drawbacks of using two-dimensional arrays. Now, with help from Hrishi and Akshit, the team was able to succeed.
What it does
The program creates an interactive cube with the use of matrices, mapping out each piece of the cube. The program then shuffles the cube. The user is then able to manipulate the cube and rotate its sides. This interactive cube allows users to test their knowledge on Rubik's Cubes and practice on an online interactive cube in which they can use any time without the use of an actual cube. Users will be able to solidify their skills on the Rubix Cube so that when they use an actual cube they are experienced.
How we built it
We utilized matrix math implementing a 2D rotation matrix to create an interactive Rubix Cube. We created a function to shuffle the cube to a random assortment, in which the user would be able
Challenges we ran into
At one point in its construction, launching the turning mechanism of the cube enabled the program to remove an entire side from the cube making it into a 2 x 3 x 3 cube instead of a 3 x 3 x 3 cube. Needless to say, that required quite a bit of debugging.
Accomplishments that we're proud of
We are proud of the fact that we were able to complete such a difficult task in such a short amount of time. Of course, it helped that we had looked into this project before, but all code was more or less written in the last 24 hours.
What we learned
In this project, we learned how to implement matrices into our Java code. We also learned how to use the processing tool to create a digital render of our cube.
What's next for Interactive Rubik's Cube
In the future, we aim to create and implement an algorithm that will allow the cube to be solved, regardless of its current orientation. Users should also be able to input their own Rubik's Cube into the program, and the program should output the most efficient solution to the cube.
Log in or sign up for Devpost to join the conversation.