3X3x3 Cube Synthesizer
Total Page:16
File Type:pdf, Size:1020Kb
3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. Designers André Boulouard Walter and Werner Randelshofer WebSites http://www.mementoslangues.fr/ http://www.randelshofer.ch/ Introduction There are kinds of 3x3x3 Rubik’s Cubes that may be solved for a single face out of six. Among them are Calendar and some Picture Cubes. Calendar Cubes may be designed in nearly every language and can display weekdays, days of the month and months (see http://www.randelshofer.ch/). The easiest way of solving a single face is first to select a center cube, then solve the four edge cubes (the ‘cross’) and finally the four remaining corner cubes. This is very similar to the method used by beginners for solving the first layer of a regular Rubik’s Cube. By twisting and rotating some parts of the cube, it is possible to move selected cubelets from any face to the front face. Note that each letter, number or symbol on a solved face should have the right orientation, i.e. should generally be oriented North (0°). Maneuvers used for twisting and rotating parts of a cube are coded as a series of letters called an algorithm. An algorithm is then a code for a sequence of moves used to change the state of a cube from an initial (unsolved) state to a final (solved) state. The initial state of a cube is given by a particular layout of letters, numbers and symbols shown on the cube texture whereas the final state is given by what we would like to see displayed on the cube. This is where we would need a software tool for automatically generating an algorithm to set the cube to a user-selected final state. This is what is called synthesis, which is just the reverse of analysis. and the software tool to do this is called a Synthesizer. The Synthesizer input data is the final state data. This tool computes an algorithm to change the state of the cube from the initial to a final state. Setup algorithms are used to change the state of the cube from initial to intermediate or final whereas Incremental algorithms are used to change the state of the cube from intermediate to intermediate or to final. Incremental algorithms are generally shorter than Setup algorithms. These are synthesized algorithms (see CubeSynthesis for more details). Then, the complete algorithm from initial to final state is obtained simply by concatenating Setup and/or Incremental algorithms. Synthesized algorithms are combinations of simple moves. Finding such algorithms can de done by searching the path of letter 'A' on a wire grid cube from an initial to a final location. This may be called 'Letter tricks' (see LetterTricks for more details). Download CubeSynthesizer Version 1.4 Microsoft Excel 2007 http://www.mementoslangues.fr/CubeDesign/CubeSynthesizer.xlsm Microsoft Excel 97-2003 http://www.mementoslangues.fr/CubeDesign/CubeSynthesizer.xls CubeTwister & QuickTime Movie Example Constellation & Star Names Cube Initial State (POLARIS-UMi) Next State Next State Final State (SIRIUS-CMa) Synthesized Algorithm CR' U' R2 D L B D2 U2 L U B' U2 B2 U' B U' B U R B2 R2 B R D B2 D' L B' L' Cube Synthesizer 21.02.2009 http://www.mementoslangues.fr/ Calendar & Picture Cubes 3x3x3 Cube Synthesizer – History What’s new Version Date – Optimized algorithms can now be synthesized for minimizing algorithm length, as an option 1.4 Feb. 09 – Algorithms output format now compatible with JavaScript code, as an option – Perpetual calendar cubes code for JavaScript applets can now be generated, as an option 1.3 Jan. 09 – Counterclockwise solving of 3 corners added for shortening synthesized algorithms length – More calendar and picture cubes to be added – End of major bug corrections (Incremental algorithms and other parts of the software) – 'Stable' & 'Safe' version status level reached – More trivial combinations added for shortening synthesized algorithms length 1.2 Dec. 08 – More names added to the Breton First Names Cube – More calendar cubes added – Bug corrections (Setup & Incremental algorithms) – User interface built-in using Excel VBA User Forms – Edge and corner cubelet location check added for debugging mapping tables 1.1 Nov. 08 – Automatic mapping tables generation for the Breton First Names Cube – Many calendar and picture cubes added – First published version – Very primitive user interface 1.0 Aug. 08 – Includes a few calendar cubes Cube Synthesizer 2/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes List of Synthesized Cubes Calendar Cubes Published Calendar Cubes Published Clock & Calendar √ Digital calendar Cube √ American √ Japanese √ Arabic √ Japanese 2 √ Breton √ Japanese / English √ Bulgarian Korean √ Chinese √ Korean 2 √ Chinese 2 √ Latin √ Croatian Malay Danish √ Norwegian √ Dutch √ Portuguese √ English √ Portuguese 2 √ Finnish √ Romanian French √ Romanian 2 French 2 √ Rumantsch Grischun √ German √ Rumantsch Grischun 2 √ German 2 Russian √ Greek √ Serbian Hindi Spanish √ Hungarian Swedish √ Icelandic √ Turkish Indonesian √ Ukrainian Irish √ Welsh √ Italian √ Italian 2 √ Picture Cubes Published Picture Cubes Published Geographical Coordinates Cube √ Breton First names Cube √ Geographical Coordinates & Clock Cube √ Constellation & Star Names Cube √ Clock Cubes Mathematical & Physical Constants Cube √ Digital Clock Cube √ Time Zone Cube √ Analog Clock Cube √ Mi MemoQube √ Wang MemoQube √ RGB Tone Cube (solve a single face) √ Rubik’s Cube (solve a single face) √ Cube Synthesizer 3/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes Notations & Examples Isolated (or strings of) letters, numbers, characters, symbols or pictures are placed on cells on a cube face. These may be oriented North (0°), East (90°), South (180°) or West (270°). There are 9 cells on 3 layers per face: - Top Layer: Top Left, Top Center, Top Right - Middle Layer: Middle Left, Middle Center, Middle Right - Bottom Layer: Bottom Left, Bottom Center, Bottom Right String Position String Orientation Front Face Solving in 9 Steps 3 Layers 4 Orientations (N, E, S, W) 1 Center, 4 Edges, 4 Corners 0° Step 5 Step 1 Step 6 TL TC TR A 270° 90° A Step 4 Step 0 Step 2 A ML MC MR 180° Step 8 Step 3 Step 7 BL BC BR Initial State (Texture State) Location Notation Orientation Notation (degrees) 10 11 12 0 0 0 13 14 15 0 0 0 16 17 18 0 0 0 19 20 21 1 2 3 37 38 39 0 0 0 0 0 0 0 0 0 22 23 24 4 5 6 40 41 42 0 0 0 0 0 0 0 0 0 25 26 27 7 8 9 43 44 45 0 0 0 0 0 0 0 0 0 28 29 30 46 47 48 0 0 0 0 0 0 31 32 33 49 50 51 0 0 0 0 0 0 34 35 36 52 53 54 0 0 0 0 0 0 Intermediate State Example Algorithm: U R B U2 Setup States: Edge Cubes – Step 1: From U [TC, N] To F [TC, N] 9 15 18 180 270 270 6 14 17 180 270 270 48 47 46 180 180 180 43 40 19 10 11 12 39 2 3 90 90 90 0 0 0 270 0 0 13 23 24 4 5 33 44 41 35 0 0 0 0 0 0 90 90 270 16 26 27 7 8 36 45 42 34 0 0 0 0 0 0 90 90 270 28 29 52 37 38 30 0 0 180 0 0 0 31 32 49 53 50 20 0 0 180 90 90 90 1 22 25 54 51 21 270 270 270 90 90 90 Mapping Table Examples Time Zone Cube (BOSton, Time Offset: –5) Breton First Names Cube (MAELGON) PictureMapping(42, 1) = 19 B PictureMapping(164, 1) = 46 M PictureMapping(42, 2) = 2 O PictureMapping(164, 2) = 20 A PictureMapping(42, 3) = 37 S PictureMapping(164, 3) = 27 E PictureMapping(42, 4) = 4 Blank Edge PictureMapping(164, 4) = 44 L PictureMapping(42, 5) = 5 Blank Center PictureMapping(164, 5) = 23 G PictureMapping(42, 6) = 6 Blank Edge PictureMapping(164, 6) = 49 O PictureMapping(42, 7) = 27 – PictureMapping(164, 7) = 52 N PictureMapping(42, 8) = 49 5 PictureMapping(164, 8) = 51 Blank Edge PictureMapping(42, 9) = 9 Blank Corner PictureMapping(164, 9) = 54 Blank Corner B' D2 B2 U B' U' R B2 R' U' B2 U R' B2 R D' B2 D CU' B D' R L D2 L' D' U B' U' D' U' B2 U D2 B' D' Cube Synthesizer 4/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes Algorithm Synthesizer Introduction A computer program named CubeSynthesizer has been designed for synthesizing algorithms for 3x3x3 cubes that need to be solved on a single face. The program has been developed using Microsoft Office Excel and Visual Basic Editor. There is only a Developer’s version of this program available at present. A beginner would use the program as follows: 1- Open CubeSynthesizer in Excel 2- Press Ctrl+Shift+S to display the Synthesizer Input Form 3- Select a calendar or a picture cube from the Form 4- Click the OK Button and wait until algorithm synthesis is completed 5- Browse through the list of synthesized algorithms in Worksheet 'Main' 6- Copy a selected algorithm in CubeTwister or in an applet To create a new calendar, an experienced developer would use the program as follows: 1- Create a NewCalendarMapping() Sub by copying and pasting an already existing calendar cube mapping 2- Modify the Sub by entering letters/numbers/symbols locations into mapping tables 3- Modify UserForm SynthesizerInputForm 4- Modify Sub Main_CalendarCubes() 5- Modify Sub DisplayCalendarCubeAlgorithms() 6- Check program by pressing Ctrl+Shift+S Short Program description There are 9 steps to solve a front face, 1 step per facelet.