| 1 | initial version |
The encoding of the moves seems to me indeed inconsistent.
If you apply the following move:
C = RubiksCube().move("U*R")
C.solve()
'U*R'
The calculated solution by the internal solver 'U*R' is actually the solution for the inverse sequence 'R^-1 * U^-1'.
If I plot the Cube C it gives:
+--------------+
| 38 36 33 |
| 2 top 7 |
| 1 4 6 |
+------------+--------------+-------------+------------+
| 48 34 35 | 9 10 11 | 17 18 3 | 27 29 32 |
| 12 left 13 | 20 front 5 | 26 right 31 | 45 rear 37 |
| 14 15 16 | 22 23 8 | 25 28 30 | 43 39 40 |
+------------+--------------+-------------+------------+
| 41 42 19 |
| 44 bottom 21 |
| 46 47 24 |
+--------------+
That's the output one would expect for the sequence 'R^-1 * U^-1', not the sequence 'U*R' applied to the cube.
But if I use the C.show() command, it's displayed in the correct way. The same for the 3D option with C.show3D(). (Sorry, can't add the pictures, not allowed to upload something.)
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.