I want to know how to take the derivative of a Bézier curve. I visited this website https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-der.html, but I am unable to figure out how they did it. Please help!


1 Answer 1


A simple example of taking a the derivative of a B'ezier curve can be shown using a cubic curve.

$$C_3(u) = \sum_{i=0}^3 B_{3,i}(u) P_i,$$ where $u \in [0,1]$ and $B_{n,i} = {n \choose i} u^i (1-u)^{n-i}$ is the $i$-th Bernstein polynomial of degree $n$. $P_i$ are the control points.

written out it is:

$$C_3(u) = (1-u)^3 P_0 + 3(1-u)^2 u P_1 + 3 (1-u)u^2 P_2 + u^3 P_3$$

we can differentiate this with respect to u

$$\frac{\partial}{\partial u} C_3(u) = -3(1-u)^2 P_0 - 6(1-u) u P_1 + 3(1-u)^2 P_1 - 3 u^2 P_2 + 6 (1-u)u P_2 + 3u^2 P_3. $$

Now we can rearrange the terms

$$\frac{\partial}{\partial u} C_3(u) = 3 \left((1-u)^2 (P_1-P_0) + 2(1-u) u (P_2 - P_1) + u^2 (P_3 - P_2) \right), $$ or

$$\frac{\partial}{\partial u} C_3(u) = 3 (\sum_{i=0}^2 B_{2,i}(u) (P_{i+1} - P_i))$$

We obtain a quadratic B'ezier curve where the control points are the vectors between the initial control points, scaled by a factor $3$. Therefore the derivative of a Bezier curve of degree $n$ is a B'ezier curve of degree $n-1$, where the control points are difference between initial control points scaled by $n$.


$$\frac{\partial}{\partial u} \sum_{i=0}^n B_{n,i}(u) P_i = n (\sum_{i=0}^2 B_{n-1,i}(u) (P_{i+1} - P_i))$$

  • $\begingroup$ Thanks a lot sir $\endgroup$
    – anuj goyal
    Jan 8, 2021 at 19:35
  • $\begingroup$ Can you explain what does B_3 in the formulas mean? $\endgroup$ Jan 9, 2021 at 23:16
  • $\begingroup$ They are the cubic Bernstein polynomials. I added their definitions. $\endgroup$
    – Reynolds
    Jan 10, 2021 at 20:18
  • $\begingroup$ @Reynolds the wikipedia page seem to have a wrong image for the formula. Or browser's javascript is broken. Anyway, thank you. Please reply with a @, so one will get notified about your reply. $\endgroup$ Jan 10, 2021 at 20:43

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.