Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

# Rubik's Cube Simulator and Solver 1.0

Date Added: May 19, 2013  |  Visits: 278

Run: >>digrubThis program allows the user to generate a Rubik's Cube in a number of ways: 1. Randomly scrambled2. With predefined scramble3. By reading state from webcam images4. By manually inputting all fields After having generated a cube, it can be manipulated using two types of commands. The first is the original Rubik's Code where the face is specified by F,B,L,R,U,D to realize a clockwise rotation of this face. An additional ' or 2 will respectively invert (counterclockwise) or double (180 degrees) the move. However, this only works on a 3x3x3 cube. Cubes of higher order can be manipulated by specifying the rotation axis, the row to rotate and the number of rotations, e.g. 'x23'.Lastly, the program contains a solving mechanism that follows a beginners method: 1. Form a cross (correct edges)2. Place + orient cornerpieces3. Complete second layer4. Make a cross on the third layer5. Place and orient cornerpieces6. Permute edge pieces to complete cube This is not a very efficient way but it will solve the cube in most cases. Remember that this is the very first beta-version, so any comments on bugs or other stuff that can be improved will be highly appreciated!DESCRIPTION OF INCLUDED FUNCTIONS/FILES:algrot.m - calculates how an algorithm changes under rotation of the cube.digrub.fig - GUI figure main programdigrub.m - GUIDE-generated m-file to go with digrub.fig.editstate.fig - GUI figure for manual input programeditstate.m - GUIDE-generated m-file to go with editstate.fig.findpeeks.m - Peek-finder that is used to find the cube's position in a webcam image.move2rub.m - converts a move of the form 'x11' to Rubik's Code 'B'.rub2move.m - converts a move in Rubik's code to axile 'x11' form.rubcross.m - searches for a cross on the cube.rubgen.m - generates a cuberubinfo.m - returns information about the cube staterubopt.m - optimizes a move-sequenceruborient.m - orients the cuberubplot.m - plot a 3D image of the cuberubrot.m - apply a move to the cuberubrot2.m - rotate the entire cuberubsolve.m - solve the cube

 Requirements: No special requirements Platforms: Matlab Keyword: Algorithm,  Appreciateddescription,  Calculates,  Complete,  Cornerpieces,  Cubedigrubfig,  Digrubfigeditstatefig,  Figure,  Functionsfilesalgrotm,  Guidegenerated,  Highly,  Improved,  Included,  Mfile,  Permute,  Pieces,  Programdigrubm,  Stuff Users rating: 0/10