Last updated on

Quadratic Bezier Curve Formula: P0, P1, P2, and t

ENNLESPT-BR


The quadratic Bezier curve formula is

B(t)=(1−t)2P0+2(1−t)tP1+t2P2B(t) = (1 - t)^2 P_0 + 2(1 - t)t P_1 + t^2 P_2

where P0P_0 is the start point, P1P_1 is the single control point, P2P_2 is the end point, and tt moves from 00 to 11 along the curve. At t=0t = 0 the curve is exactly at P0P_0; at t=1t = 1 it is exactly at P2P_2; between those values, the changing weights blend the three points into a smooth arc.

How the Formula Weights the Points

The point B(t)B(t) is the point on the curve for one value of tt. The formula works for 2D points such as (x,y)(x, y), 3D points such as (x,y,z)(x, y, z), or any coordinate type where points can be multiplied by numbers and added together. For a 2D curve, compute the xx coordinate with the same weights, then compute the yy coordinate with the same weights.

The three weights are:

Weight Multiplies Meaning
(1−t)2(1 - t)^2 P0P_0 Strong at the start of the curve
2(1−t)t2(1 - t)t P1P_1 Strongest near the middle
t2t^2 P2P_2 Strong at the end of the curve

Those weights always add to 11. That is why the formula behaves like a smooth weighted average of the control points rather than an arbitrary polynomial jump.

The draggable handle is P1P_1. As it moves, the endpoints stay fixed while the curve bends toward the handle. That visible pull is exactly what the middle term 2(1−t)tP12(1 - t)tP_1 contributes: it has no weight at t=0t = 0 or t=1t = 1, but it becomes strongest near the middle of the curve. For the broader geometry behind these handles, the full interactive Bezier curves tutorial shows the same quadratic equation alongside cubic curves, tangent handles, and De Casteljau construction.

What P0, P1, P2, and t Mean

P0P_0 is the start point. The curve touches this point when t=0t = 0. In drawing and animation tools, this is the first anchor of the segment.

P2P_2 is the end point. The curve touches this point when t=1t = 1. Together, P0P_0 and P2P_2 define the endpoints of the visible segment.

P1P_1 is the control point. It pulls the curve away from the straight line between P0P_0 and P2P_2, but it usually is not on the curve. Moving P1P_1 farther from the endpoint line creates a stronger bend. Moving it closer to that line makes the curve flatter. The curve leaves P0P_0 in the direction of P1P_1 and arrives at P2P_2 from the direction of P1P_1, so this one handle controls both ends of the quadratic segment.

tt is the curve parameter. It is not a distance in pixels and it is not always proportional to arc length. It is a normalized progress value from 00 to 11 that tells the formula how much weight to assign to each control point.

Matching a specific distance along the curve needs arc length rather than parameter values. The sibling page on the Bezier curve arc length formula derives the exact quadratic length and shows how to reparameterize the curve by distance.