1

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!

wychmaster
  • 1,251
  • 2
  • 9
  • 27
anuj goyal
  • 21
  • 5

1 Answers1

3

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

so:

$$\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))$$

Reynolds
  • 1,238
  • 6
  • 13