diff --git a/README.md b/README.md index 0c12a31..4c4fc1d 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Contribute [on GitHub](https://github.com/cubing/standards). 4. [3x3x3 State Representations](./draft/4/3x3x3-state-representations/) (Draft) 5. [Binary 3x3x3 Encoding](./draft/5/binary-3x3x3-encoding/) (Draft) 6. [SiGN and LGN](./draft/6/sign-lgn-notation/) (Draft) +7. [4D Projection and Basic Hypercube Twists](./draft/7/4d-projection-and-basic-hypercube-twists/) (Draft) ## Future Ideas diff --git a/draft/7/4d-projection-and-basic-hypercube-twists/index.md b/draft/7/4d-projection-and-basic-hypercube-twists/index.md new file mode 100644 index 0000000..eb885af --- /dev/null +++ b/draft/7/4d-projection-and-basic-hypercube-twists/index.md @@ -0,0 +1,128 @@ +# Cubing Standard #7: 4D Projection and Basic Hypercube Moves (DRAFT) + +Status: `DRAFT` +Prescriptive or descriptive: descriptive (this standard attempts to describe existing conventions) + +This standard describes the basic moves for a N×N×N×N facet-turning hypercube. + +## 7.1 Polytope elements + +When possible, pieces are named according to the rank of the element of the polytope they correspond to. Let _d_ be the rank (i.e., dimension) of the puzzle. + +| Rank of element | Name | +| --------------- | ------ | +| 0 | Corner | +| 1 | Edge | +| 2 | Face | +| 3 | Cell | +| _d_ - 3 | Peak | +| _d_ - 2 | Ridge | +| _d_ - 1 | Facet | + +These terms are taken from [Polytope - Wikipedia](https://en.m.wikipedia.org/wiki/Polytope#Elements), with the exception of "corner" instead of "vertex." + +The terms "corner" and "edge" are preferred over "peak," "ridge," and "facet." For puzzles in 4 or more dimensions, the terms "peak", "ridge", and "facet" are preferred over "face" and "cell." + +For a 4D hypercube, the terms "corner," "edge," "ridge," and "facet" are preferred, although "cell" is also in common use. In 4D specifically, "facet" and "cell" are interchangeable. + +## 7.1 Facets + +There are 8 facets of a 4-dimensional hypercube, along with the color in standard orientation: + +| Facet letter | Facet name | Vector | Color | +| ------------ | ---------- | ---------- | ------ | +| `R` | Right | positive X | Red | +| `L` | Left | negative X | Orange | +| `U` | Up | positive Y | White | +| `D` | Down | negative Y | Yellow | +| `F` | Front | positive Z | Front | +| `B` | Back | negative Z | Back | +| `O` | Out | positive W | Pink | +| `I` | In | negative W | Purple | + +Note: historically, `K` ("kata") has been used instead of `O`, and `A` ("ana") or `T` ("top") have been used instead of `I`. It is recommended to avoid these because it is confusing which one corresponds to which cell. Furthermore, `A` conflicts with 5D notation (`A` for "anterior"). + +These also define the standard projection: + +- Positive X pointing to the right +- Positive Y pointing up +- Positive Z pointing forward toward the 3D camera +- Positive W pointing forward toward the 4D camera + +The `O` facet is typically hidden, but the other seven facets are typically visible and spaced apart. The default 3D camera may have a rotational offset applied to give a better view of the 7 facets as follows: + +- `R` may point more forward and down +- `F` may point more left and down +- `U` may point more forward + +## 7.2 Clockwise Moves + +Moves are named using 2, 3, or 4 letters, each corresponding to a facet. All letters are uppercase, with no space or punctuation between them. The first letter indicates which facet is rotated; the remaining letters describe the polytope element that is fixed by the move. Letters other than the first one may be specified in any order. The move occurs in a 2D plane, over the minimum nonzero angle necessary to restore the puzzle to its original shape. + +| Move type | Number of letters | Angle | Example | +| ----------- | ----------------- | ----- | ------- | +| Ridge move | 2 | 90° | `IR` | +| Edge move | 3 | 180° | `OUR` | +| Corner move | 4 | 120° | `DUFR` | + +Rotations appear clockwise when the 4D camera is facing along the vector of the first facet and the 3D camera is facing along the _opposite_ vector from the polytope element described by the second facet. For example, the move `IR` moves a layer of the `I` facet from positive Z to positive Y, which keeps the vector along the X axis fixed. + +Examples: + +| Move name | Description | +| --------- | ------------------------------------------------------------------------ | +| `IR` | `R` twists 90° from `F` to `U` | +| `OUR` | `O` twists 180°, such that `U` and `R` swap and `F` and `B` swap | +| `DUFR` | `D` twists 120° clockwise, such that `F` goes to `I` and `I` goes to `R` | + +In software with mouse controls, these moves are typically executed by right-clicking on the described sticker. For example, `DUFR` is executed by right-clicking on the `D` sticker of the `DUFR` corner piece. + +## 7.3 Double Moves + +Ridge moves may be doubled by appending `2` to the move. For example, `DF2` denotes the `DF` move repeated twice. + +Edge moves have order 3 and so do not need to be doubled. + +Corner moves have order 2 and so do not need to be doubled. + +## 7.4 Counterclockwise Moves + +Moves may be suffixed with `'` to invert them. Alternatively, all but the first letter may be replaced with the letter of the opposite facet. For example, the inverse of `IUR` is `IUR'` or `IDL`. + +## 7.5 Layers + +Moves may be prefixed with a layer or layer range using SiGN Notation. + +## 7.5 Slice Moves + +There are four middle slice layers. Slice moves are constructed from facet moves on a parallel facet according to the following table. + +| Letter | Mnemonic | Parallel facet | +| ------ | ------------ | -------------- | +| `M` | "Middle" | `L` | +| `E` | "Equitorial" | `D` | +| `S` | "Standing" | `F` | +| `P` | "Planetary" | `O` | + +For example, `MD` is equivalent to `2LD` + +## 7.6 xyz Notation + +Ridge moves may instead be specified using a facet letter followed by a lowercase letter `x`, `y`, or `z`. Each combination of a facet and lowercase `x`/`y`/`z` maps to a ridge turn based on its projection in 3D. In the following table, `_` represents the facet letter. + +| Facet | `_x` | `_y` | `_z` | +| ----- | ---- | ---- | ---- | +| `R` | `RO` | `RU` | `RF` | +| `L` | `LI` | `LU` | `LF` | +| `U` | `UR` | `UO` | `UF` | +| `D` | `DR` | `DI` | `DF` | +| `F` | `FR` | `FU` | `FO` | +| `B` | `BR` | `BU` | `BI` | +| `O` | `OL` | `OD` | `OB` | +| `I` | `IR` | `IU` | `IF` | + +For example, `Fz` is equivalent to `FO`. + +This notation is generally preferred for puzzle keybinds, for Melinda's 2×2×2×2, and for other physical puzzles. It should be avoided otherwise. + +Moves using xyz notation can be grouped using parentheses. For example `OUFR` is equivalent to `(Oz Ox2)`.