A Rubik's Snake (also Rubik's Twist, Rubik's Transformable Snake, Rubik’s Snake Puzzle) is a toy with twenty-four wedges that are identically shaped liked prisms, specifically right isosceles triangular prisms. The wedges are connected by spring bolts, such that they can be twisted, but not separated. Through this twisting the Rubik's Snake can attain positions including a straight line, a ball (technically a non-uniform concave rhombicuboctahedron), a dog, a duck, a rectangle, a snake, a cat, a bird, a cobra, an ostrich, a castle, and a thousand more imaginative shapes and figures.
The 24 prisms are aligned in row with an alternating orientation (normal and upside down). Each prism can adopt 4 different positions each with an offset of 90°. Usually the prisms have an alternating color.
The steps needed to make an arbitrary shape or figure can be described in a number of ways.
One common starting configuration is a straight bar with alternating upper and lower prisms, with the rectangular faces facing up and down, and the triangular faces facing towards you. The 12 lower prisms are numbered 1 through 12 starting from the left. The left and the right sloping faces of these prisms are labeled L and R respectively. The last of the upper prisms is on the right, so the L face of prism 1 does not have an adjacent prism. The four possible positions of the adjacent prism on each L and R sloping face are numbered 0, 1, 2 and 3 (representing the number of twists between the bottom prism and the L or R adjacent prism). The numbering is based on always twisting the adjacent prism so it swings towards you: position 1 turns the adjacent blocks towards you, position 2 makes a 90° turn, and position 3 turns the adjacent block away from you. Position 0 is the starting position and therefore isn’t explicitly noted in step-by-step instructions.
Using these rules, a twist can be simply described as:
- Number of the downward-facing prism (from the left): 1 to 12
- Left or right sloping side of the prism: L or R
- Position of the twist: 1, 2 or 3
|Example Figure||Twisting Instructions|
The position of the 23 turning areas can also be written directly after each other. Here the positions 0, 1, 2 and 3 are always based on the degrees of twist between the right-hand prisms relative to the left-hand prism, when viewed from the right of the axis of rotation. However, this notation is impractical for human readers, because it is difficult to determine the order of the twists.
- for example Cat
- for example Three Peaks
Rather than numbers Albert Fiore uses letters to refer to the direction the second (rightward) section is turned in relation to the first (leftward) section: D, L, U, and R. These are listed consecutively rather than numbered, so that a completely straight figure rather than being presumed as a starting point is notated DDDDDDDDDDDDDDDDDDDDDDD.
The number of different shapes of the Rubik's Snake is at most 423 = 70 368 744 177 664 (≈ 7×1013), i.e. 23 turning areas with 4 positions each. The real number of different shapes is lower since some configurations are spatially impossible (because they would require multiple prisms to occupy the same region of space). Peter Aylett computed via an exhaustive search that 13 535 886 319 159 (≈ 1×1013) positions are possible when prohibiting prism collisions, or passing through a collision to reach another position; or 6 770 518 220 623 (≈ 7×1012) when mirror images (defined as the same sequence of turns, but from the other end of the snake) are counted as the one position.
- Fiore (1981), p.7.
- Fiore, Albie (1981). Shaping Rubik's Snake. Penguin Books Ltd. p. 9. ISBN 978-0140061819.
- Fiore, Albie (1981). Shaping Rubik's Snake. Penguin Books Ltd. p. 11. ISBN 978-0140061819.
- Aylett, Peter (18 September 2011). "Rubik's Snake Combinations". Pete's Soapbox. Retrieved 2011-09-20.
|Wikimedia Commons has media related to Rubik's Snake.|
- Official Rubik's Online Site
- Collection of shapes and figures of Rubik's Snake
- glsnake - open-source cross-platform implementation of Rubik's Snake (also ported to XScreenSaver)