Skip to content

Main content

Affine Shear Matrix Record

Affine six-coefficient layout [a,b,c,d,e,f] maps x,y to a*x+c*y+e,b*x+d*y+f; construct simultaneous x/y shear coefficients, not angle tangents or a sequential shear composition.

Loading tool…

Description

Construct simultaneous x/y shear coefficients, not angle tangents or a sequential shear composition.

A planar affine transform combines a linear map and translation. This family stores [a,b,c,d,e,f], mapping [x,y] to [a×x+c×y+e,b×x+d×y+f]. Positions include translation; displacements use only the linear block, and normal covectors use its inverse transpose. Composition order changes the result.

Construct simultaneous x/y shear coefficients, not angle tangents or a sequential shear composition.

When to use this tool

Use this tool to construct simultaneous x/y shear coefficients, not angle tangents or a sequential shear composition.

How to use the tool and how it works

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

Return [1,y,x,1,0,0], so x′=xInput+x×yInput and y′=y×xInput+yInput. x and y are simultaneous shear factors.1

Input fieldMeaning and unitsAccepted input
xx translation distance, scale factor or shear coefficient as stated for this constructor.Finite number satisfying the stated comparisons.
yy translation distance, scale factor or shear coefficient as stated for this constructor.Finite number satisfying the stated comparisons.
Output fieldInterpretation
resultObject containing the fields below.
result.matrixResulting six coefficients [a,b,c,d,e,f] under the stated map and composition order.
json
{
  "input": {
    "x": 2,
    "y": 3
  },
  "output": {
    "result": {
      "matrix": [
        1,
        3,
        2,
        1,
        0,
        0
      ]
    }
  }
}

Limitations and assumptions

  • Factors are dimensionless coefficients, not shear angles; sequential x/y shear composition would have a different matrix.
  • Matrices have six finite coefficients. Point/vector inputs have two components within ±1,000,000,000; rectangle bounds are likewise bounded and ordered. Coordinate units and axis directions are caller-defined. No conditioning threshold is inferred for inversion.
  • 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

Check coefficient layout and application order when exchanging matrices. Use point, displacement or normal operations according to the quantity being transformed, and a separate conditioning analysis for numerically sensitive inverses.

References

  1. Tool behavior and example: Affine Shear Matrix Record — tool.io

Similar or alternative tools