Skip to Content

@revideo/2d


@revideo/2d / curves / CubicBezierSegment

Class: CubicBezierSegment

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:9 

A spline segment representing a cubic Bézier curve.

Extends

  • PolynomialSegment

Constructors

Constructor

new CubicBezierSegment(p0, p1, p2, p3): CubicBezierSegment

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:17 

Parameters

p0

Vector2

p1

Vector2

p2

Vector2

p3

Vector2

Returns

CubicBezierSegment

Overrides

PolynomialSegment.constructor

Properties

curve

protected readonly curve: Polynomial2D

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:18 

Inherited from

QuadBezierSegment.curve


length

protected readonly length: number

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:19 

Inherited from

QuadBezierSegment.length


p0

readonly p0: Vector2

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:18 


p1

readonly p1: Vector2

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:19 


p2

readonly p2: Vector2

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:20 


p3

readonly p3: Vector2

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:21 


pointSampler

protected readonly pointSampler: UniformPolynomialCurveSampler

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:9 

Inherited from

PolynomialSegment.pointSampler

Accessors

arcLength

Get Signature

get arcLength(): number

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:11 

Returns

number

Inherited from

PolynomialSegment.arcLength


points

Get Signature

get points(): Vector2[]

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:13 

Returns

Vector2[]

Overrides

PolynomialSegment.points

Methods

doDraw()

protected doDraw(context): void

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:60 

Parameters

context

CanvasRenderingContext2D | Path2D

Returns

void

Overrides

PolynomialSegment.doDraw


draw()

draw(context, start?, end?, move?): [CurvePoint, CurvePoint]

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:77 

Parameters

context

CanvasRenderingContext2D | Path2D

start?

number = 0

end?

number = 1

move?

boolean = true

Returns

[CurvePoint, CurvePoint]

Inherited from

PolynomialSegment.draw


eval()

eval(t): CurvePoint

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:34 

Evaluate the polynomial at the given t value.

Parameters

t

number

The t value at which to evaluate the curve.

Returns

CurvePoint

Inherited from

PolynomialSegment.eval


getBBox()

getBBox(): BBox

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:25 

Returns

BBox

Inherited from

PolynomialSegment.getBBox


getPoint()

getPoint(distance): CurvePoint

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:52 

Parameters

distance

number

Returns

CurvePoint

Inherited from

PolynomialSegment.getPoint


split()

split(t): [PolynomialSegment, PolynomialSegment]

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:37 

Split the curve into two separate polynomials at the given t value. The two resulting curves form the same overall shape as the original curve.

Parameters

t

number

The t value at which to split the curve.

Returns

[PolynomialSegment, PolynomialSegment]

Overrides

PolynomialSegment.split


tangent()

tangent(t): Vector2

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:73 

Return the tangent of the point that sits at the provided t value on the curve.

Parameters

t

number

The t value at which to evaluate the curve.

Returns

Vector2

Inherited from

PolynomialSegment.tangent


transformPoints()

transformPoints(matrix): Vector2[]

Defined in: 2d/src/lib/curves/PolynomialSegment.ts:63 

Parameters

matrix

DOMMatrix

Returns

Vector2[]

Inherited from

PolynomialSegment.transformPoints


getLength()

protected static getLength(p0, p1, p2, p3): number

Defined in: 2d/src/lib/curves/CubicBezierSegment.ts:64 

Parameters

p0

Vector2

p1

Vector2

p2

Vector2

p3

Vector2

Returns

number

© 2026 Haven Technologies, Inc.
Class: CubicBezierSegment – Revideo