Description
Split at explicit t into two complete control polygons with duplicated join endpoint, preserving curve geometry.
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.
Split at explicit t into two complete control polygons with duplicated join endpoint, preserving curve geometry.
When to use this tool
Use this tool to split at explicit t into two complete control polygons with duplicated join endpoint, preserving curve geometry.
How to use the tool and how it works
- Enter points, t using the input definitions below.
- Run the operation. Resolve malformed-input errors before interpreting the result.
- Read result.left, result.right. Interpret signs, units, ordering and null values using the rules below.
For a cubic curve, build the De Casteljau interpolation triangle at t. Its first points form the left control polygon and its last points in reverse level order form the right; both include the shared curve point.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| points | Ordered 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. |
| t | Dimensionless curve parameter from 0 through 1. | Finite number satisfying the stated comparisons. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.left | Complete control polygon for the original interval [0,t], reparameterized to [0,1]. |
| result.right | Complete control polygon for the original interval [t,1], reparameterized to [0,1]. |
{
"input": {
"points": [
[
0,
0
],
[
1,
0
],
[
2,
0
],
[
3,
0
]
],
"t": 0.5
},
"output": {
"result": {
"left": [
[
0,
0
],
[
0.5,
0
],
[
1,
0
],
[
1.5,
0
]
],
"right": [
[
1.5,
0
],
[
2,
0
],
[
2.5,
0
],
[
3,
0
]
]
}
}
} Limitations and assumptions
- Each subcurve is parameterized over its own [0,1]. Endpoint splits retain degenerate control polygons; no arc-length partition is inferred.
- 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
Similar or alternative tools
- Quadratic Bezier Split Control Points
Split at explicit t into two complete control polygons with duplicated join endpoint, preserving curve geometry.
- Cubic Bezier Subinterval Control Record
Extract cubic Bezier subinterval control points, reparameterized to the unit interval; equal endpoints produce a point-valued cubic, no extrapolation.