Rational Bézier Conic Weights
Use homogeneous weights to turn a quadratic control polygon into an exact circular arc.
By Riano · Published · Updated · Report a correction
Rational Bézier Conic Weights
Use homogeneous weights to turn a quadratic control polygon into an exact circular arc.
Worked Example
Let's manually evaluate the rational quadratic Bézier curve at Parameter t = 0.25 with Weight "Heavy" (w = 2). The control points are P0=(1,0), P1=(1,1), and P2=(0,1).
- First, calculate the homogeneous denominator
D(t) = (1-t)^2 + 2wt(1-t) + t^2: - For t=0.25,
1-t = 0.75. D(0.25) = (0.75)^2 + 2(2)(0.25)(0.75) + (0.25)^2 = 0.5625 + 0.75 + 0.0625 = 1.375.- Next, calculate the x-coordinate:
x(t) = ((1-t)^2 * P0.x + 2wt(1-t) * P1.x + t^2 * P2.x) / D(t) x(0.25) = (0.5625(1) + 0.75(1) + 0.0625(0)) / 1.375 = 1.3125 / 1.375 = 0.9545454545454546.- Then, calculate the y-coordinate:
y(t) = ((1-t)^2 * P0.y + 2wt(1-t) * P1.y + t^2 * P2.y) / D(t) y(0.25) = (0.5625(0) + 0.75(1) + 0.0625(1)) / 1.375 = 0.8125 / 1.375 = 0.5909090909090909.- The squared radius is
x^2 + y^2 = 1.2603305785123968, and the circle residual is0.2603305785123968.
Experiment
Follow these steps in the interactive Rational Bézier Conic Weights module to see the effect of changing weights:
- Set the Weight to Polynomial. Notice how the curve deviates from the true quarter circle (circle equation residual is non-zero).
- Change the Weight to Circular. The curve perfectly traces the quarter circle arc (circle equation residual is zero for all t).
- Change the Weight to Zero. The middle control point is completely ignored, yielding a chord from P0 to P2.
- Set the Weight to Heavy. The curve is pulled strongly towards P1, resulting in a shape sharper than a circular arc.
Limitations
The rational denominator normalizes each coordinate at every parameter value, but it is not a global scalar that simply scales the entire curve. Also, although the true circular arc is traced when using the circular weight, it is not parameterized by constant angular speed (arc length). The parameter t maps nonlinearly onto the angle of the resulting point on the circle.
References
For more in-depth exploration of this topic, refer to the following resource:
- Rational Bézier Curves: Circles from Michigan Tech (CS3621).
Experience it interactively
Adjust parameters, observe in real time, and build deep intuition with Riano’s interactive Rational Bézier Conic Weights module.
Try Rational Bézier Conic Weights on Riano →