Previous | Next --- Slide 58 of 68
Back to Lecture Thumbnails
rasterize
  1. Degrees of freedom would be 2 per end point because, a tangent can be fixed by choosing two end points of the line segment.
  2. Am not sure about the constraints part. Is it 2?
  3. And I feel quadratic bezier should behave similar to other polynomial ones. While for linear Bezier, tangent at the endpoint would be the line itself, meaning that adding up more Bezier curves while maintaining tangential continuity would effectively result in a straight line only!

Please correct me if am wrong. Thanks!

keenan
  1. For each cubic Bézier curve the degrees of freedom are the four control points $p_0, p_1, p_2, p_3$. You can either think of these as four vector degrees of freedom, or eight scalar degrees of freedom (since each point has two coordinates: $x$ and $y$). I generally prefer to think in terms of vector degrees of freedom, since counting is easier (unless at some point you have to deal with a scalar-valued constraint).

  2. To get a curve with no "gaps" or "kinks", both the positions and the tangents must agree at endpoints. In particular, for each cubic Bézier curve, you have to make sure that:

  • the left endpoint is equal to the right endpoint of the previous segment
  • the right endpoint is equal to the the left endpoint of the next segment
  • the tangent at the left endpoint is equal to the tangent at the right endpoint of the previous segment
  • the tangent at the right endpoint is equal to the tangent at the left endpoint of the previous segment

In total, four (vector-valued) constraints. Note in particular when we say that the "tangents must agree," that means that both the direction and the magnitude of the derivative need to be the same. So this is really a constraint on both components of the 2-vector, not just the direction of the corresponding unit vector.

Since there are four degrees of freedom and four constraints, a cubic Bézier segment can always match the positions and tangents of its neighbors.

  1. Right: the only way to get tangent continuity with a linear Bézier curve is to have a perfectly straight line. For a quadratic Bézier you still have problems, but it's less obvious. The quickest way to see it is simply that a quadratic Bézier has only three (vector) degrees of freedom, but there are four constraints. So we can get, for instance, the endpoints to always match, but not both tangents. We can get one of two tangents to match, for instance, or we could find some middle ground where the two tangents match the two neighboring tangents "as well as possible."

This analysis is ultimately why cubic Bézier is a common choice in applications/file formats/etc. E.g., Adobe Illustrator, Inkscape, etc., allow users to draw with cubic Béziers; likewise (I believe) SVG encodes curves via cubic Bézier.

Here are some images from an excellent article discussing the tradeoffs between quadratic and cubic curves, especially in the context of font design: