How to rotate algs

Zarxrax

Veteran
Joined
Jan 7, 2009
Messages
1,282
Location
North Carolina
This guide will show you how to easily add cube rotations to any algorithm. You can add them to the whole alg, in the middle of the alg, and you can even have more than one rotation.
But why would you want to add rotations to your algs? Simple. It lets you turn moves that you hate into moves that you like. For instance, lets say one of your algs contains the move "D2", and you find it really difficult to perform that D2. Well, with a simple cube rotation, we can turn that D2 into an R2! Or perhaps you found an alg that is optimized for the right hand, but you want to change it into a left-handed alg. You can do that as well!
You simply have to use the following tables to "translate" your algs.

First, a quick review of notation:
Code:
F (Front) - the side facing you.
U (Up) - the side facing upwards.
R (Right) - the side facing to the right.
B (Back) - the side facing away from you.
L (Left) - the side facing to the left.
D (Down) - the side facing downwards. 

M - a move of the slice between R and L, in the same direction as an L turn.
E - a move of the slice between U and D, in the same direction as a D turn.
S - a move of the slice between F and B, in the same direction as an F turn. 

x - a rotation of the entire cube as if doing an R turn.
y - a rotation of the entire cube as if doing a U turn.
z - a rotation of the entire cube as if doing an F turn.

Note: If your algorithms use double layer turns, you should convert it to a cube rotation and a single layer turn, before applying the following tables. For instance, r2 should be converted into x L.

Translation Tables:

x:
Code:
R -> R
L -> L
U -> B
D -> F
F -> U
B -> D
M -> M
E -> S
S -> E'

x':
Code:
R -> R
L -> L
U -> F
D -> B
F -> D
B -> U
M -> M
E -> S'
S -> E

x2:
Code:
R -> R
L -> L
U -> D
D -> U
F -> B
B -> F
M -> M
E -> E'
S -> S'

y:
Code:
R -> F
L -> B
U -> U
D -> D
F -> L
B -> R
M -> S'
E -> E
S -> M

y':
Code:
R -> B
L -> F
U -> U
D -> D
F -> R
B -> L
M -> S
E -> E
S -> M'

y2:
Code:
R -> L
L -> R
U -> U
D -> D
F -> B
B -> F
M -> M'
E -> E
S -> S'

z:
Code:
R -> D
L -> U
U -> R
D -> L
F -> F
B -> B
M -> E'
E -> M
S -> S

z':
Code:
R -> U
L -> D
U -> L
D -> R
F -> F
B -> B
M -> E
E -> M'
S -> S

z2:
Code:
R -> L
L -> R
U -> D
D -> U
F -> F
B -> B
M -> M'
E -> E'
S -> S


Let's look at a few examples. We'll start with a really easy one.
Here is an algorithm for a U perm. You hold the cube with the solved side of the top layer facing you.
M2 U M' U2 M U M2
But, let's say I don't want to perform this alg with the solved side facing me. I want it facing away from me. So I insert a y2 at the beginning of the alg, and then, I use the translation table for y2 listed above, and the alg becomes:
y2 M2 U M U2 M' U M2
In this case, only 2 moves changed!

Let's try a more difficult one. Here is an alg for an A perm. You hold it with the "headlights" facing away from you.
x R' U R' D2 R U' R' D2 R2
I think that those D2 moves are difficult to perform, so why don't I try changing them to something else? Looking at the tables above, I can see that using a z' will turn D moves into R moves. So I'll add a z' to the algorithm. I like the way this algorithm begins though, so I think I'll add the z' right before the first D2.
x R' U R' z' R2 U L' U' R2 U2

Finally, let's try a complex one. Here is another U perm. You hold it with the solved side facing away from you.
F2 U' L R' F2 L' R U' F2
Just for the sake of example, I'm going to add a y' at the beginning, a z' after the 4th move, and then after the 5th move, I will insert a y and a z, to return to the original orientation.
Now to begin with, since I said I'm returning to the original orientation after the 5th move, I know I don't have to worry about changing any of the moves after that.
? ? ? ? ? L' R U' F2
But for the first part, since I will be adding 2 rotations, the easiest way would be to perform the conversion in 2 seperate passes. First, I'll add just the y'.
y' R2 U' F B' R2 y L' R U' F2
Now, I will add the z' after the 4th move.
y' R2 U' F B' z' U2 z y L' R U' F2

And that should be all there is to it!
I made these tables pretty quickly, so if you happen to find an error, let me know and I'll correct it.
 
Last edited:
Nice although I've seen this in a few places on the net before. Quite easy to figure out too, but comes handy.
 
I use this tool for mirroring/inverting algs, but I've not seen anything for rotating them. Does anyone know if such a tool exists?

I was actually thinking of writing such a tool last night, but then I realized how easy it is to do manually, so I thought I'll just write a guide instead, then I can just reference it whenever I need it. When I considered how long it would take me to actually write a program like that, I realized its just not worth it.
 
I use this tool for mirroring/inverting algs, but I've not seen anything for rotating them. Does anyone know if such a tool exists?

I was actually thinking of writing such a tool last night, but then I realized how easy it is to do manually, so I thought I'll just write a guide instead, then I can just reference it whenever I need it. When I considered how long it would take me to actually write a program like that, I realized its just not worth it.

I was tired of not having a simple solution for this, so I just wrote a tool for it. Get it here..
http://cube.crider.co.uk/algtrans.html
 
Back
Top