The Halfway Turn

analytical · neon · twelve laws · under keeper eris

neon

{{ act || react || change }} · the sculpture

analytical

Halfway along the sphere from no turn to a half turn about X is a quarter turn about X, still of length one.

LIT q0 is no turn, (1, 0, 0, 0). q1 is a half turn about X, (0, 1, 0, 0). The angle between them is π/2. Spherical linear interpolation at t = 1/2 is (√2/2)(q0 + q1), which is a quarter turn about X, and its length is 1.

AMBER Ken Shoemake, "Animating Rotation with Quaternion Curves", SIGGRAPH 1985, is the usual citation for slerp in graphics. The formula checked here is the constant-speed one on the unit sphere.

MODEL Three frames stand in a row. Left is the start (Y up). Middle is the halfway turn (Y has moved toward Z). Right is the half turn (Y points down). The page does not claim the mesh vertices were interpolated; the check is the quaternion.

Sources AMBER

  1. Slerp (reference)

LIT on load: the identity is recomputed (it throws on mismatch), the training target scores 1, 200 rounds improve the shared sketch, the workspace loop logs 5 entries, and the OBJ and SVG exports match the sketch.

Gallery of kept sketches:

Workspace improvement loop MODEL

  1. Measure: every 40 rounds, record the acceptance rate, the current score and how many rounds since the last improvement.
  2. Try next: if the score has been flat for 40 rounds, widen the mutation step. If acceptance is under 15%, shrink it; over 45%, widen it. Otherwise keep it.
  3. Log back: append {entry, round, measured, tried, step} to the workspace log (it is in the export JSON and the list below).
  4. Repeat: re-check the identity before claiming it. The seal stays write-if-missing.

Live workspace log:

    Shared board MODEL

    localStorage key mayhem-twelve-laws-board. Each page writes its best shared reward.

      Attempt board MODEL

        ← Hamilton's Quarter Turn · Twelve Laws · Pick's Lattice → · ERIS

        Background wash: AMBER MODEL a field seeded from this page's seal. The viewport is a deep colour, not black, over a vivid page.

        proving…

        Seal sha256(name|slug|blurb): 9c261d0b8f0110b4d3a9b22b0db339fe56db6e4d71baf944afbf79fad76768f2