Could someone give me a reason/proof why the control points do not lie on the Bézier Curve? Perhaps involving Bernstein Polynomials, if possible?


  • 1
    $\begingroup$ No, because they do sometimes lie on the curve. $\endgroup$ – Peter Taylor Jun 7 '11 at 13:58

I assume that by "control points" you mean the intermediate control points, because the curve interpolates between the first control point and the last one.

Your statement as phrased is not true in all cases. However, if I guess at your intention...

Consider that a point $P(t)$ on the curve defined by control points $P_i$ is $P(t) = \Sigma_{i=0}^n P_i b_{i,n}(t)$ (using Wikipedia's notation for the Bernstein basis polynomials). For the right hand side of that to be identically $P_j$ we require $b_{j,n}(t) = 1$ and $\forall k\ne j : b_{k,n}(t) = 0$. But the only cases for which this is possible are $j=0$, $t=0$ and $j=n$, $t=1$.

To prove that latter statement, take the formula for the Bernstein basis polynomials: $b_{k,n}(t) = {}^{n}C_{k} t^k (1-t)^{n-k}$. For this to evaluate to $0$ when $0 \le k \le n$ and $k, n \in \mathbb{N}$ we require $t=0$ or $t=1$. It is left as an exercise to demonstrate that these correspond to the first and last control points.

| cite | improve this answer | |
  • $\begingroup$ @Peter: Where does your proof use the assumption that (e.g.) the control points are not collinear? And that they form a convex set? (Because the statement is not necessarily true otherwise...) $\endgroup$ – Nemo Jun 8 '11 at 0:29
  • $\begingroup$ @Nemo, the key word there is "identically". $\endgroup$ – Peter Taylor Jun 8 '11 at 7:24
  • $\begingroup$ @Peter: By "identically", do you mean for all $t$? If not, what do you mean, exactly? $\endgroup$ – Nemo Jun 8 '11 at 15:42
  • $\begingroup$ @Nemo, for all $t$ and all ${P_i}$. $\endgroup$ – Peter Taylor Jun 8 '11 at 17:20
  • $\begingroup$ @Peter: I am sorry, but then I do not see what your answer has to do with the question? Obviously the curve is not "identically" anything for all $t$... $\endgroup$ – Nemo Jun 8 '11 at 17:41

Note that the Bernstein basis polynomials are just the terms of the binomial expansion of $(t + (1-t))^n$.

Since this expression equals 1, they sum to 1. For $t$ between 0 and 1 inclusive, they are all positive. So each point on the Bezier curve is a simple weighted average of the control points.

If the control points all lie on their convex hull and are not collinear, any weighted average of them must lie within the convex hull.

(If the points do not all lie on their convex hull -- or they are collinear -- your statement is not necessarily true; the curve certainly might pass through a control point in the interior of the convex hull.)

| cite | improve this answer | |
  • $\begingroup$ The condition for the curve to not pass through an intermediate control point isn't as simple as "control point on the convex hull". Simple counterexample: the convex hull is a line and the control point is between the endpoints. $\endgroup$ – Peter Taylor Jun 8 '11 at 7:25
  • $\begingroup$ @Peter: Well, obviously, since I pointed out the collinear counterexample in my reply to you :-). I have updated my answer. Any other counterexamples? $\endgroup$ – Nemo Jun 8 '11 at 15:43
  • $\begingroup$ I'm not sure whether "collinear" is intended to mean all the points being collinear or just 3. E.g. for a cubic Bézier curve you can have $P_0 = P_1$ but $P_0$, $P_2$, $P_3$ not collinear. $\endgroup$ – Peter Taylor Jun 8 '11 at 17:18
  • $\begingroup$ I mean all of the points being collinear. That is, I believe the statement is true provided (a) each control point lies on the convex hull of all control points and (b) not all control points lie on a single line. $\endgroup$ – Nemo Jun 8 '11 at 17:43

There's a really simple and intuitive reason why Bezier curves pass through their end points but not always the middle control points (you can put control points into a line to make it pass through middle ones). Let's check out the equation for cubic Bezier curves: $P = As^3+3Bs^2t+3Cst^2+Dt^3$

$s$ is $1-t$, so you can also write the equation like this: $P = A(1-t)^3+3B(1-t)^2t+3C(1-t)t^2+Dt^3$

The terms that the control points $A,B,C,D$ are multiplied by are called Basis Functions.

The four basis functions in that equation are: $(1-t)^3$, $3(1-t)^2t$, $3(1-t)t^2$ and $t^3$

If you look at those, when the value of $t$ is 0, the first basis function is 1 and the rest are 0. That first basis function is what the point $A$ is multiplied by, so that explains why when $t$ is at 0, the curve is passing through control point $A$.

When $t$ is 1, the 4th basis function is 1, and the rest are 0. That fourth basis function is multiplied by control point $D$, so that explains when $t$ is 1, the curve is passing through control point $D$.

When $t$ is between 0 and 1, the basis functions are all non zero, so is a mix of the four control points.

To get another view of this, check out this graph of the basis functions: Cubic Bezier Basis Functions Graphed

If you look at that graph, when $t$ is 0, the first basis function is 1, while the rest are zero. When $t$ is 1, the fourth basis function is 1, while the rest are zero. In between 0 and 1, no basis function ever reaches 1, while the rest of the basis functions are 0. If you DID have a basis function that reached 1 while the rest were 0, the curve would pass through the control point that uses that basis function.

Note that you can make curves using other basis functions if you want to experiment with different curve types. I've even seen trigonometric bezier curves:

$P = A*(0.5*cos(t)*(cos(t)+1.0)) + B*(0.5*sin(t)*(sin(t)-1.0)) + C*(0.5*cos(t)*(cos(t)-1.0)) + D*(0.5*sin(t)*(sin(t)+1.0))$

And here's an interactive version of that trig based spline in action: 2D Trigonometric Spline

Note that in this case, the middle control points don't behave like standard control points! They negatively influence the curve, and the reason for that can be seen when you graph the basis functions (from 0 to pi/2, instead of from 0 to 1). The middle basis functions go negative, and so negatively affect the curve.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.