PyCube is an 3D interactive Rubik's Cube using OpenGL and Pygame.
Here's a .gif showing the progress as of 11/16/16.

This software-based Rubik's Cube will serve as a basis for a later project in which I will attempt to create another program, implementing a neural network algorithm, that will teach itself to solve a Rubik's Cube (PyCube).
This program utilizes the following Python modules:
PyOpenGL see also OpenGL
Pygame
NumPy
Python 3.x :
pip3 install pyopengl pygame numpy
Only supported by Python 3.x+. Try at your own risk.
Python 2.x :
pip install pyopengl pygame numpy
Individual piecesRotation Matrices90 degree rotation of individual pieces on each axisMap CW and CWW rotation to lower/upper case keysImplement all center piecesMap keys and rotation matrix calls to respective center piecesColor center piecesImplement edge piecesImplement corner piecesSolve correct movement of edge piecesUse face patterns to track position of edge/corner piecesFAILURE
Solve correct movement of corner piecesColor edge piecesColor corner piecesVisual tweaks- Test/bug fix cube
- Test solves with PyCube
- Begin implementing reverse moves solver
- ...
This post from stackoverflow was very helpful in creating a solid starting point to use quaternions to rotate a 3 dimensional cube using Python and OpenGL. http://stackoverflow.com/questions/30745703/rotating-a-cube-using-quaternions-in-pyopengl


