----------------------------------------------------------------
|                                                              |
|                                                              |
|                                                              |
|                 TTTTTTT   H     H   EEEEEEE                  |
|                    T      H     H   E                        |
|                    T      H     H   E                        |
|                    T      HHHHHHH   EEEEE                    |
|                    T      H     H   E                        |
|                    T      H     H   E                        |
|                    T      H     H   EEEEEEE                  |
|                                                              |
|                                                              |
|  PPPPPP   Y     Y  RRRRRR      A     M     M  III  X     X   |
|  P     P   Y   Y   R     R    A A    MM   MM   I    X   X    |
|  P     P    Y Y    R     R   A   A   M M M M   I     X X     |
|  PPPPPP      Y     RRRRRR   AAAAAAA  M  M  M   I      X      |
|  P           Y     R R      A     A  M     M   I     X X     |
|  P           Y     R   R    A     A  M     M   I    X   X    |
|  P           Y     R     R  A     A  M     M  III  X     X   |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                  A Solution to the Pyramix                   |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                              u                               |
|                                                              |
|                             /|\                              |
|                            / | \                             |
|                           /  |  \                            |
|                          /   |   \                           |
|                         /    |    \                          |
|                        /     |     \                         |
|                       /  Lu  |  Ru  \                        |
|                      /       |       \                       |
|                     /________|________\                      |
|                    /|       /|\       |\                     |
|                   / |      / | \      | \                    |
|                  /  | LBR /  |  \ RLB |  \                   |
|             B   /   |    /   |   \    |   \   B              |
|                /    |   /    |    \   |    \                 |
|               /     |  /     |     \  |     \                |
|              /  LB  | /  LR  |  RL  \ |  RB  \               |
|             /       |/       |       \|       \              |
|            /________/________|________\________\             |
|           /|       /|       /|\       |\       |\            |
|          / |      / |      / | \      | \      | \           |
|         /  | LDB /  | LRD /  |  \ RDL |  \ RBD |  \          |
|        /   |    /   |    /   |   \    |   \    |   \         |
|       /    |   /    |   /    |    \   |    \   |    \        |
|      /     |  /     |  /     |     \  |     \  |     \       |
|     /  Ll  | /  LD  | /  Lf  |  Rf  \ |  RD  \ |  Rr  \      |
|    /       |/       |/       |       \|       \|       \     |
|   /________/________/________|________\________\________\    |
|                                                              |
| l             D              f              D             r  |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|Written by     Jonathan Bowen                                 |
|               Programming Research Group                     |
|               Oxford University Computing Laboratory         |
|               8-11 Keble Road                                |
|               Oxford OX1 3QD                                 |
|               England                                        |
|                                                              |
|               Tel +44-865-273840                             |
|                                                              |
|Created        January 1982                                   |
|Updated        April 1985                                     |
|Issue          1.1                                            |
----------------------------------------------------------------
----------------------------------------------------------------
|                           Notation                           |
|--------------------------------------------------------------|
|                                                              |
|1.  Description                                               |
|    -----------                                               |
|                                                              |
|    The pyramix  is a  tetrahedral  pyramid.  Each face is    |
|    divided into  nine triangular segments.  Any face  and    |
|    its  adjacent  segments  on  the other  faces  may  be    |
|    rotated   relative  to  the  rest   of  the   pyramid.    |
|    Alternatively the first two levels of  segments from a    |
|    vertex may be  rotated relative  to the opposite face.    |
|    Additionally  the  extreme   vertex  segments  may  be    |
|    rotated.                                                  |
|                                                              |
|2.  Faces                                                     |
|    -----                                                     |
|                                                              |
|    The following uppercase letters are used to denote the    |
|    four faces of the pyramid:                                |
|                                                              |
|    B  for the back face,                                     |
|    L  for the lefthand face,                                 |
|    R  for the righthand face,                                |
|    D  for the downward face.                                 |
|                                                              |
|    The following lowercase letters are used to denote the    |
|    four vertices of the pyramid:                             |
|                                                              |
|    f  for the front vertex,                                  |
|    l  for the lefthand vertex,                               |
|    r  for the righthand vertex,                              |
|    u  for the upward vertex.                                 |
|                                                              |
|    f  l  r  u         denote a clockwise  rotation of the    |
|                       first   two  levels   through   120    |
|                       degrees about the indicated vertex.    |
|                                                              |
|    f- l- r- u-        denote  a similar  rotation  in  an    |
|                       anticlockwise direction.               |
|                                                              |
|3.  Segments                                                  |
|    --------                                                  |
|                                                              |
|    Each segment  of each face is represented  by a string    |
|    of one to  three letters.  The first letter  indicates    |
|    the  face  on  which  the  segment  is  situated.  The    |
|    following letters  indicate the adjacent face or faces    |
|    (the order is not important).  Note that  the segments    |
|    immediately adjacent to the vertices may be considered    |
|    the same  as the segments immediately adjacent on each    |
|    face since  the outer  vertex  segments may  simply be    |
|    rotated  without affecting  the rest  of the  pyramix.    |
|    However these may be specified by the face (uppercase)    |
|    followed  by the vertex  (lowercase)  if desired.  The    |
|    The following are examples of segments:                   |
|                                                              |
|    RD          the segment  on the  righthand face in the    |
|                centre  of the  edge next  to the downward    |
|                face.                                         |
|                                                              |
|    LBR or LRB  the segment  on the lefthand  face  at the    |
|                touching the back and righthand faces.        |
|                                                              |
|    Bu          the  segment  on  the  back  face  at  the    |
|                extreme upper vertex.                         |
|                                                              |
|4.  Operation notation                                        |
|    ------------------                                        |
|                                                              |
|    Segments in brackets  denote movement  of the segments    |
|    specified. Elements in the brackets are a cyclic group    |
|    and rotate round one place from right to left when the    |
|    operation is performed. E.g. (RL,LB,BR) is transformed    |
|    to (LB,BR,RL).  Note that  the first element  moves to    |
|    the last position.                                        |
|                                                              |
|                                                              |
----------------------------------------------------------------
----------------------------------------------------------------
|                          Operation                           |
|--------------------------------------------------------------|
|                                                              |
|1.  Rotate each of the extreme  vertex segments until they    |
|    match across to the adjacent segments.                    |
|                                                              |
|2.  Make  the vertex  segments  match on  one face.  First    |
|    match  two adjacent  vertex  segments.  If  the  third    |
|    vertex will  not  match,  rotate the vertices round to    |
|    to the  adjacent face.  The third  vertex  may  now be    |
|    rotated to match.                                         |
|                                                              |
|3.  Complete  the face  by rotating  a vertex on the face,    |
|    rotating the  fourth  vertex  as  necessary  and  then    |
|    rotating  the  vertex  on  the  face  back again.  The    |
|    following moves are useful and will leave the lefthand    |
|    face unaffected apart from one specified segment:         |
|                                                              |
|    (i)    (LR,BR,...):          f  r- f-                     |
|                                                              |
|    (ii)   (LR,DR,...):          u- r  u                      |
|                                                              |
|    (iii)  (LR,RL) and ...:      f  r- f- r  u- r  u          |
|                                                              |
|4.  Now position  completed face  at the bottom  and match    |
|    the  upper  central  portion  to the  bottom segments.    |
|    Rotate  the segments  on the middle of the three upper    |
|    edges  using   one  of  the  following   moves  for  a    |
|    clockwise/anticlockwise rotation respectively:            |
|                                                              |
|    (iv)   (RL,LB,BR):           f  u- f- u- f  u- f-         |
|                                                              |
|    (v)    (BR,LB,RL):           f  u  f- u  f  u  f-         |
|                                                              |
|5.  Flip  the  segments   so  that  they   are  orientated    |
|    properly using the following move:                        |
|                                                              |
|    (vi)   (RL,LR) and (RB,BR):  f  r- f- r u- r  u  r-       |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
----------------------------------------------------------------
