Linear Algebra

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).

  1. First, calculate the homogeneous denominator D(t) = (1-t)^2 + 2wt(1-t) + t^2:
  2. For t=0.25, 1-t = 0.75.
  3. D(0.25) = (0.75)^2 + 2(2)(0.25)(0.75) + (0.25)^2 = 0.5625 + 0.75 + 0.0625 = 1.375.
  4. Next, calculate the x-coordinate: x(t) = ((1-t)^2 * P0.x + 2wt(1-t) * P1.x + t^2 * P2.x) / D(t)
  5. x(0.25) = (0.5625(1) + 0.75(1) + 0.0625(0)) / 1.375 = 1.3125 / 1.375 = 0.9545454545454546.
  6. Then, calculate the y-coordinate: y(t) = ((1-t)^2 * P0.y + 2wt(1-t) * P1.y + t^2 * P2.y) / D(t)
  7. y(0.25) = (0.5625(0) + 0.75(1) + 0.0625(1)) / 1.375 = 0.8125 / 1.375 = 0.5909090909090909.
  8. The squared radius is x^2 + y^2 = 1.2603305785123968, and the circle residual is 0.2603305785123968.

Experiment

Follow these steps in the interactive Rational Bézier Conic Weights module to see the effect of changing weights:

  1. Set the Weight to Polynomial. Notice how the curve deviates from the true quarter circle (circle equation residual is non-zero).
  2. Change the Weight to Circular. The curve perfectly traces the quarter circle arc (circle equation residual is zero for all t).
  3. Change the Weight to Zero. The middle control point is completely ignored, yielding a chord from P0 to P2.
  4. 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:

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 →

More in Linear Algebra