3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present...

22
Cube Synthesizer 21.02.2009 http://www.mementoslangues.fr/ Calendar & Picture Cubes 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'

Transcript of 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present...

Page 1: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 21.02.2009 http://www.mementoslangues.fr/ Calendar & Picture Cubes

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'

Page 2: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 2/22 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 – Counterclockwise solving of 3 corners added for shortening synthesized algorithms length – More calendar and picture cubes to be added

1.3 Jan. 09

– 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 – More names added to the Breton First Names Cube – More calendar cubes added

1.2 Dec. 08

– 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 – Automatic mapping tables generation for the Breton First Names Cube – Many calendar and picture cubes added

1.1 Nov. 08

– First published version – Very primitive user interface – Includes a few calendar cubes

1.0 Aug. 08

Page 3: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 3/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) √

Page 4: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 4/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

TL TC TR

Step 5

Step 1

Step 6

A

ML MC MR

270°

90°

Step 4

Step 0

Step 2

A

A

BL BC BR

180°

Step 8

Step 3

Step 7

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(42, 2) = 2 O PictureMapping(42, 3) = 37 S PictureMapping(42, 4) = 4 Blank Edge PictureMapping(42, 5) = 5 Blank Center PictureMapping(42, 6) = 6 Blank Edge PictureMapping(42, 7) = 27 – PictureMapping(42, 8) = 49 5 PictureMapping(42, 9) = 9 Blank Corner

PictureMapping(164, 1) = 46 M PictureMapping(164, 2) = 20 A PictureMapping(164, 3) = 27 E PictureMapping(164, 4) = 44 L PictureMapping(164, 5) = 23 G PictureMapping(164, 6) = 49 O PictureMapping(164, 7) = 52 N PictureMapping(164, 8) = 51 Blank Edge 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'

Page 5: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 5/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. Steps are applied clockwise with center facelet first, then edges and finally corners. Three counterclockwise (CCW) steps have been added for shortening algorithms length. The shortest length algorithm between Algorithms 1 & 2 is then selected.

1- Step 0: center cube 2- Step 1: Top Center edge facelet 3- Step 2: Middle Right edge facelet 4- Step 3: Bottom Center edge facelet 5- Step 4: Middle Left edge facelet 6- Step 5: Top Left corner facelet 7- Step 6: Top Right corner facelet 8- Step 7: Bottom Right corner facelet 9- Step 8: Bottom Left corner facelet: Algorithm 1 10- Step 6 CCW: Bottom Left corner facelet 11- Step 7 CCW: Bottom Right corner facelet 12- Step 8 CCW: Top Right corner facelet: Algorithm 2

There is a basic algorithm for each of the 9/12 steps. A synthesized algorithm is just the concatenation of these 9 basic algorithms. In order to shorten the synthesized algorithm length, trivial combinations such as F F' or F B F' are replaced with shorter combinations when concatenating basic algorithms. This process is performed in Sub AlgorithmPostProcessing(). There is a total of 171 trivial combinations. Lookup tables have been filled with cube states and orientations for each basic algorithm (see CubeSynthesis for more details). After each step a new cube state is computed by Sub NewState() and used as the initial state of the next step.

Page 6: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 6/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Optimized Algorithms Optimized algorithms can be synthesized for minimizing algorithm length, as an option. Using this option effectively leads to shorter algorithms but at the expense of computer time however. There are 24 different sequences of 4 steps each that can be executed for edges and corners. There is 1 step per edge or corner facelet, numbered from 1 to 4 ClockWise (CW). Algorithms are computed for the 4! = 24 sequences and the shortest length algorithm is selected at the end of the optimization process. These sequences are shown in the Table below.

Algorithm Length Optimization – The 24 Sequences of Steps 1 2 3 4 5 6 7 8 9 10 11 12

Step 1 Step 1 Step 1 Step 1 Step 1 Step 1 Step 2 Step 2 Step 3 Step 3 Step 4 Step 4 Step 2 Step 2 Step 3 Step 3 Step 4 Step 4 Step 1 Step 1 Step 1 Step 1 Step 1 Step 1 Step 3 Step 4 Step 2 Step 4 Step 2 Step 3 Step 3 Step 4 Step 2 Step 4 Step 2 Step 3 Step 4 Step 3 Step 4 Step 2 Step 3 Step 2 Step 4 Step 3 Step 4 Step 2 Step 3 Step 2

13 14 15 16 17 18 19 20 21 22 23 24 Step 2 Step 2 Step 2 Step 2 Step 3 Step 3 Step 3 Step 3 Step 4 Step 4 Step 4 Step 4 Step 3 Step 3 Step 4 Step 4 Step 4 Step 4 Step 2 Step 2 Step 2 Step 2 Step 3 Step 3 Step 4 Step 1 Step 1 Step 3 Step 1 Step 2 Step 4 Step 1 Step 1 Step 3 Step 1 Step 2 Step 1 Step 4 Step 3 Step 1 Step 2 Step 1 Step 1 Step 4 Step 3 Step 1 Step 2 Step 1

Synthesizer Input Form Example

This example shows how to use an Input Form for optimizing algorithms:

1. By checking the 'Setup' and 'Optimized' CheckBoxes, only corners are optimized for shortest length algorithms.

2. By checking the 'Incremental' and 'Optimized' CheckBoxes, edges + corners are optimized for shortest length algorithms.

Page 7: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 7/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #1: English Calendar Cube

English Calendar Cube Texture Sunday, JANuary 6

Synthesized Algorithm

B2 D B2 D L' B L D' B D L B2 L' R' B2 R

Page 8: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 8/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #2: Japanese / English Calendar Cube

Japanese / English Calendar Cube Texture Monday, July 14, 2008

Synthesized Algorithm

CU R' U' D B' U' L U B2 U B' U' L' B2 L B' D' B D

Page 9: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 9/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #3: Korean Calendar Cube

Korean Calendar Cube Texture Thursday, December 25, 2008

Synthesized Algorithm

CR' D2 B R' U D2 R D2 U2 L U2 D' U B' U' D R B' R' D' B' D2 B2 D' L B2 L'

Page 10: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 10/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #4: Clock & Calendar Cube

Clock & Calendar Cube Texture 14:00, WEDnesday, JULy 14, 2009

Synthesized Algorithm

CR' B U2 R L2 D L R B2 R' U' B2 U L R' B R B2 L'

Page 11: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 11/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #5: Digital Calendar Cube

Digital Calendar Cube Texture MONTH 8, DAY 14, YEAR 09

Synthesized Algorithm

CR' D2 B R' U R' D B R2 U' B U L' D2 L' D' U B2 U2 B U R' B R D B2 D'

Page 12: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 12/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #6: Geographical Coordinates Cube

Geo Cube Texture Longitude 14° 59′ 55″ East

Synthesized Algorithm

CR U2 R B2 D2 L2 D U B2 U2 B U D2 B D

Page 13: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 13/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #7: Constellation & Star Names Cube

Constellation & Star Names Cube Texture ARCTURUS – Boo (Alpha Boötes)

Synthesized Algorithm

CR' B' U2 D' R B D2 L' U B U' L2 D' U B' U' D B R B' R' D' B D L B2 L'

Page 14: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 14/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #8: Mathematical & Physical Constants Cube

Mathematical & Physical Constants Cube Texture Golden Ratio (φ ≈ 1.618033)

Synthesized Algorithm

CR' D2 B R' U B2 R2 U' B2 U D2 U' L U L' B2 L U B2 U' L B L' U' B U B2 D B' D' B L B' L'

Page 15: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 15/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #9: Breton First Names Cube

Breton First Names Cube Texture Breton First Name: TUDWAL

Synthesized Algorithm

CR' R2 B U2 B' R2 D2 L B D2 B' U' L U B L' B L B' U' B U R' B R L B' L'

Page 16: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 16/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #10: Time Zone Cube

Time Zone Cube Texture HONolulu (Time Offset: -10)

Synthesized Algorithm

CR B' U2 L' B D' R B D2 U' L U B2 U B' U' L' B2 L U' B U R B2 R2 B2 R B2 L B' L'

Page 17: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 17/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #11: Mǐ MemoQube

Mǐ MemoQube Texture Additional Word on Bottom Layer

Synthesized Algorithm

CR' B2 D2 B R' B R D B2 D' L B' L'

Page 18: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 18/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Example #12: Wáng MemoQube

Wáng MemoQube Texture Additional Words: Bottom Layer Swap (U – D)

Synthesized Algorithm

CR' B2 D2

Page 19: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Cube Synthesizer 19/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

CubeSynthesizer – List of Subroutines Main Program Subroutines

ShowSynthesizerInputForm() Display Synthesizer Input Form in Worksheet 'Main' Main_CalendarCubes() Main Sub – Select and parameterize Calendar Cubes Main_GeographicalCoordinatesCubes() Main Sub – Select and parameterize Geographical Coordinates Cubes Main_ClockCubes() Main Sub – Select and parameterize Clock Cubes Main_PictureCubes() Main Sub – Select and parameterize Picture Cubes MainInit() Intialize program main variables YearlyCalendarInit() Compute a yearly calendar for a selected year DisplayCalendarCubeAlgorithms() Display a list of synthesized algorithms for a selected Calendar Cube DisplayClockCalendarCubeAlgorithms()DisplayDigitalCalendarCubeAlgorithms() Display a list of synthesized algorithms for the Clock & Calendar Cube DisplayDigitalCalendarCubeAlgorithms() Display a list of synthesized algorithms for the Digital Calendar Cube DisplayGeographicalCoordinatesCubeAlgorithms() Display a list of synthesized algorithms for a selected Geographical Coordinates Cube DisplayClockCubeAlgorithms() Display a list of synthesized algorithms for a selected Clock Cube DisplayPictureCubeAlgorithms() Display a list of synthesized algorithms for a selected Picture Cube LeapYear() Compute leap years AlgorithmsSynthesizer() Call synthesis step subroutines AlgorithmPostProcessing() Post-process composite algorithm (trivial combinations and blanks removal) CubiesCheck() Check cubie locations SetupSynthesisStep0() Lookup algorithms and states for Setup Synthesis Step 0 SetupSynthesisStep1() Lookup algorithms and states for Setup Synthesis Step 1 SetupSynthesisStep2() Lookup algorithms and states for Setup Synthesis Step 2 SetupSynthesisStep3() Lookup algorithms and states for Setup Synthesis Step 3 SetupSynthesisStep4() Lookup algorithms and states for Setup Synthesis Step 4 SetupSynthesisStep5() Lookup algorithms and states for Setup Synthesis Step 5 SetupSynthesisStep6() Lookup algorithms and states for Setup Synthesis Step 6 SetupSynthesisStep6CCW() Lookup algorithms and states for Setup Synthesis Step 6 CCW (counterclockwise solving of corners) SetupSynthesisStep7() Lookup algorithms and states for Setup Synthesis Step 7 SetupSynthesisStep7CCW() Lookup algorithms and states for Setup Synthesis Step 7 CCW (counterclockwise solving of corners) SetupSynthesisStep8() Lookup algorithms and states for Setup Synthesis Step 8 SetupSynthesisStep8CCW() Lookup algorithms and states for Setup Synthesis Step 8 CCW (counterclockwise solving of corners)

Page 20: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Clock & Calendar Cube Design 20/22 http://www.mementoslangues.fr/ Time Cubes

IncrementalSynthesisStep0() Lookup algorithms and states for Incremental Synthesis Step 0 IncrementalSynthesisStep1() Lookup algorithms and states for Incremental Synthesis Step 1 IncrementalSynthesisStep2() Lookup algorithms and states for Incremental Synthesis Step 2 IncrementalSynthesisStep3() Lookup algorithms and states for Incremental Synthesis Step 3 IncrementalSynthesisStep4() Lookup algorithms and states for Incremental Synthesis Step 4 IncrementalSynthesisStep5() Lookup algorithms and states for Incremental Synthesis Step 5 IncrementalSynthesisStep6() Lookup algorithms and states for Incremental Synthesis Step 6 IncrementalSynthesisStep7() Lookup algorithms and states for Incremental Synthesis Step 7 IncrementalSynthesisStep8() Lookup algorithms and states for Incremental Synthesis Step 8 NewState() Compute cube new state DeltaAlgorithm() Lookup delta algorithm

Calendar Cubes Subroutines ArabicCalendarCubeMapping() Arabic Calendar Cube mapping BretonCalendarCubeMapping() Breton Calendar Cube mapping DanishCalendarCubeMapping() Danish Calendar Cube mapping DutchCalendarCubeMapping() Dutch Calendar Cube mapping ChineseCalendarCubeMapping() Chinese Calendar Cube mapping EnglishCalendarCubeMapping() English Calendar Cube mapping FinnishCalendarCubeMapping() Finish Calendar Cube mapping FrenchCalendarCube2Mapping() French Calendar Cube 2 mapping GermanCalendarCubeMapping() German Calendar Cube mapping GermanCalendarCube2Mapping() German Calendar Cube 2 mapping GreekCalendarCubeMapping() Greek Calendar Cube mapping HindiCalendarCubeMapping() Hindi Calendar Cube mapping IcelandicCalendarCubeMapping() Icelandic Calendar Cube mapping IndonesianCalendarCubeMapping() Indonesian Calendar Cube mapping IrishCalendarCubeMapping() Irish Calendar Cube mapping ItalianCalendarCubeMapping() Italian Calendar Cube mapping ItalianCalendarCube2Mapping() Italian Calendar Cube 2 mapping JapaneseCalendarCubeMapping() Japanese Calendar Cube mapping JapaneseCalendarCube2Mapping()

Page 21: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Letter Tricks 21/22 http://www.mementoslangues.fr/ Calendar & Picture Cubes

Japanese Calendar Cube mapping JapaneseEnglishCalendarCubeMapping() Japanese / English Calendar Cube mapping KoreanCalendarCubeMapping() Korean Calendar Cube mapping KoreanCalendarCube2Mapping() Korean Calendar Cube 2 mapping LatinCalendarCubeMapping() Latin Calendar Cube mapping NorwegianCalendarCubeMapping() Norwegian Calendar Cube mapping PortugueseCalendarCubeMapping() Portuguese Calendar Cube mapping PortugueseCalendarCube2Mapping() Portuguese Calendar Cube 2 mapping RomanianCalendarCubeMapping() Romanian Calendar Cube mapping RomanianCalendarCube2Mapping() Romanian Calendar Cube 2 mapping RumantschGrischunCalendarCubeMapping() Rumantsch Grischun Calendar Cube mapping RumantschGrischunCalendarCube2Mapping() Rumantsch Grischun Calendar Cube 2 mapping RussianCalendarCubeMapping() Russian Calendar Cube mapping SpanishCalendarCubeMapping() Spanish Calendar Cube mapping SwedishCalendarCubeMapping() Swedish Calendar Cube mapping WelshCalendarCubeMapping() Welsh Calendar Cube mapping ClockCalendarCubeMapping() Clock & Calendar Cube mapping DigitalCalendarCubeMapping() Digital Calendar Cube mapping

Picture Cubes Subroutines AnalogClockCubeMapping100() Analog Clock Cube mapping (1 – 100 Tables) AnalogClockCubeMapping200() Analog Clock Cube mapping (101 – 200 Tables) AnalogClockCubeMapping300() Analog Clock Cube mapping (201 – 300 Tables) AnalogClockCubeMapping400() Analog Clock Cube mapping (301 – 400 Tables) AnalogClockCubeMapping500() Analog Clock Cube mapping (401 – 432 Tables) DigitalCalendarCubeMapping() Digital Calendar Cube mapping DigitalClockCubeMapping() Digital Clock Cube mapping GeographicalCoordinatesClockCubeMapping() Geographical Coordinates & Clock Cube mapping GeographicalCoordinatesCubeMapping() Geographical Coordinates Cube mapping BretonFirstNamesCubeMapping () Breton First Names Cube mapping BretonFirstNamesCubeMapping () Breton First Names Cube mapping (1 – 100 Names) BretonFirstNamesCubeMapping200 () Breton First Names Cube mapping (101 – 200 Names)

Page 22: 3x3x3 Cube Synthesizer - · PDF file3x3x3 Cube Synthesizer All textures shown in the present document are copyright protected under the Creative Commons License terms. ... Irish √

Clock & Calendar Cube Design 22/22 http://www.mementoslangues.fr/ Time Cubes

BretonFirstNamesCubeMapping300 () Breton First Names Cube mapping (201 – 300 Names) BretonFirstNamesCubeMapping400 () Breton First Names Cube mapping (301 – 400 Names) BretonFirstNamesCubeMapping500 () Breton First Names Cube mapping (401 – 500 Names) BretonFirstNamesCubeMapping600 () Breton First Names Cube mapping (501 – 600 Names) BretonFirstNamesCubeMapping700 () Breton First Names Cube mapping (601 – 700 Names) BretonFirstNamesCubeMapping800 () Breton First Names Cube mapping (701 – 800 Names) BretonFirstNamesCubeMapping900 () Breton First Names Cube mapping (801 – 900 Names) BretonFirstNamesCubeMapping1000 () Breton First Names Cube mapping (901 –1000 Names) BretonFirstNamesCubeMapping1100 () Breton First Names Cube mapping (1001 – 1100 Names) BretonFirstNamesCubeMapping1200 () Breton First Names Cube mapping (1101 – 1200 Names) BretonFirstNamesCubeMapping1300 () Breton First Names Cube mapping (1201 – 1300 Names) BretonFirstNamesCubeMapping1400 () Breton First Names Cube mapping (1301 – 1400 Names) ConstStarNamesCubeMapping () Constellation & Star Names Cube mapping MathPhysConstantsCubeMapping () Mathematical & Physical Constants Cube mapping TimeZoneCubeMapping () Time Zone Cube mapping (1 – 100 City Names) TimeZoneCubeMapping200 () Time Zone Cube mapping (101 – 200 City Names) TimeZoneCubeMapping300 () Time Zone Cube mapping (201 – 300 City Names) MiMemoQubeMapping () Chinese Mi MemoQube mapping WangMemoQubeMapping () Chinese Wang MemoQube mapping

Additional Subroutines (Used only once) StatesChecksum() Check the sum of all 54 numbers in each lookup table (sum should be equal to 1485 = 1+2+3+...+54) BretonFirstNamesCubeMappingTables() Generate Breton First Names Cube Mapping Tables TimeZoneCubeMappingTables() Generate Time Zone Cube Mapping Tables