Skip to content

Main content

Cubic Bezier Power Coefficients

Convert planar Bezier control points to ascending power coefficients for explicit degree 3; exact linear basis change under finite arithmetic.

Loading tool…

Description

Convert planar Bezier control points to ascending power coefficients for explicit degree 3; exact linear basis change under finite arithmetic.

A planar Bézier curve is defined by an ordered control polygon: three points for a quadratic or four for a cubic. Its parameter t runs from 0 to 1 and generally does not measure arc length. Derivative vectors, curve positions, control points and polynomial coefficients are different representations of the same parameterized geometry.

Convert planar Bezier control points to ascending power coefficients for explicit degree 3; exact linear basis change under finite arithmetic.

When to use this tool

Use this tool to convert planar Bezier control points to ascending power coefficients for explicit degree 3; exact linear basis change under finite arithmetic.

How to use the tool and how it works

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

Read 4 ordered cubic controls. Coefficient k is C(3,k) times the alternating sum of C(k,j)×P[j] for j=0…k. Return [x,y] coefficient pairs in ascending t powers.1

Input fieldMeaning and unitsAccepted input
pointsOrdered planar control points: three for a quadratic, four for a cubic. Basis-conversion tools use the representation stated above.Dense list of at most 128 rows of at most 128 finite numbers; the operation’s shape constraints also apply.
Output fieldInterpretation
resultObject containing the fields below.
result.pointsAscending [x,y] coefficient pairs for powers t⁰ through the fixed curve degree.
json
{
  "input": {
    "points": [
      [
        0,
        0
      ],
      [
        1,
        0
      ],
      [
        2,
        0
      ],
      [
        3,
        0
      ]
    ]
  },
  "output": {
    "result": {
      "points": [
        [
          0,
          0
        ],
        [
          3,
          0
        ],
        [
          0,
          0
        ],
        [
          0,
          0
        ]
      ]
    }
  }
}

Limitations and assumptions

  • The output points field is a coefficient list, not a control polygon or sampled positions; trailing zero coefficients remain explicit.
  • Each geometric control point has two finite coordinates within ±1,000,000,000. t and interval endpoints are dimensionless in [0,1]. Calculations use floating arithmetic and do not perform curve fitting or robust topology analysis.
  • 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 control polygons and constant-first power coefficients clearly labeled. Use separate arc-length integration or adaptive sampling when physical spacing or geometric approximation error matters.

References

  1. Tool behavior and example: Cubic Bezier Power Coefficients — tool.io

Similar or alternative tools