Skip to content

Main content

Turn Direction Ambiguity Audit

Audit exact or caller-tolerance antipodal angular transitions where shortest direction is ambiguous; no motion-direction inference from sparse samples.

Loading tool…

Description

Audit exact or caller-tolerance antipodal angular transitions where shortest direction is ambiguous; no motion-direction inference from sparse samples.

A turn is one full revolution, equal to 360 degrees or 2π radians. Circular coordinates wrap modulo one, so a shortest signed change can differ from direct subtraction. Sector indexes partition the circle, while unwrapping observations requires a direction convention for exact half-turn ties.

Audit exact or caller-tolerance antipodal angular transitions where shortest direction is ambiguous; no motion-direction inference from sparse samples.

When to use this tool

Use this tool to audit exact or caller-tolerance antipodal angular transitions where shortest direction is ambiguous; no motion-direction inference from sparse samples.

How to use the tool and how it works

  1. Enter turns, tolerance using the input definitions below.
  2. Run the operation. Resolve malformed-input errors before interpreting the result.
  3. Read result.ambiguousSteps. Interpret signs, units, ordering and null values using the rules below.

For each consecutive pair calculate its shortest signed turn increment. Return the later sample index when ||increment|−1/2|≤tolerance, with tolerance in [0,1/2].1

Input fieldMeaning and unitsAccepted input
turnsOrdered signed angular observations in turns; repeated samples are retained.Dense list of at most 128 finite numbers, subject to the stated integer/shape rules.
toleranceNonnegative antipodal ambiguity tolerance in turns, from 0 through 1/2.Finite number satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.ambiguousStepsLater original sample indexes of transitions within tolerance of an antipodal half turn.
json
{
  "input": {
    "turns": [
      0,
      0.5,
      0.6
    ],
    "tolerance": 0
  },
  "output": {
    "result": {
      "ambiguousSteps": [
        1
      ]
    }
  }
}

Limitations and assumptions

  • Ambiguity is a sampling observation; no direction is recovered. At tolerance 1/2 every consecutive step is included.
  • All angle observations, origins, distances and tolerances here use turns, not radians or degrees. Floating comparisons can affect values extremely close to a wrap boundary.
  • Every declared top-level input is required and unknown fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
  • Numeric outputs must be finite and within the absolute safe-integer magnitude; exact larger integers use decimal text. Source positions are zero-based UTF-16 offsets and span ends are exclusive unless a different convention is explicitly stated.

Alternative or Complementary methods

Keep angular units and origin consistent. Use the ambiguity audit before relying on shortest-step unwrapping; extra revolutions and motion between sparse observations need other evidence.

References

  1. Tool behavior and example: Turn Direction Ambiguity Audit — tool.io

Similar or alternative tools

  • Turn Sector Boundary Distance

    Compute circular turn distance to the nearest equal-sector boundary, not the sector center or a linear clock endpoint.

  • Turn Sector Center

    Return the normalized center turn of an explicit zero-based equal angular sector; origin is a caller coordinate.