1
$\begingroup$

From the NURBS book (pg 48 B-spline basis functions), given that we have a Bezier curve $C_1(u)$, the following condition holds:

$\frac{1}{u_1 - u_0} C'_1(v = 1) = C'_1 (u_1)$ for $u_0

Where:

$v = \frac{u - u_0}{u_1 - u_0}$ for $0

Given that we know the derivative of the endpoint of the Bezier curve of degree n is (which does not depend on the parametric variable but purely on the control points):

$C'_1(v=1) = n(P_n - P_{n-1})$

How does one obtain the expression (1)? I tried the following:

$C'_1(v=1) = C'_1(\frac{u_1-u_0}{u_1-u_0})=n(P_n - P_{n-1})$

$\implies C_1'(u_1-u_0)=n(u_1-u_0)(P_n-P_{n-1})$

$\implies C_1'(u_1)=u_0 +n(u_1-u_0)(P_n-P_{n-1})$

$\implies C_1'(u_1)=u_0+(u_1-u_0)C_1'(v=1)$

  • 0
    You have a mistake in the last-but-one line. You seem to be assuming that $C'_1(u_1-u_0) = C'_1(u_1)-u_0$. This isn't true.2017-02-27

1 Answers 1

1

The derivative at the end-point of a Bezier curve does depend on the parameterization (not just on the control points).

Typically, we use a parameter $v\in [0,1]$ to describe a Bezier curve in isolation. Then, if the control points are $\mathbf{P}_0, \ldots, \mathbf{P}_m$, the curve is $$ \mathbf{C}(v) = \sum_{i=0}^m \phi^m_i(v)\mathbf{P}_i \quad\quad (0 \le v \le 1) $$ where $\phi^m_i$ is the i-th Bernstein polynomial of degree $m$. Then the derivative at the end-point is: $$ \frac{d\mathbf{C}}{dv}(v=1) = m(\mathbf{P}_m - \mathbf{P}_{m-1}) $$ But the Bezier segments that form a b-spline curve are not parameterized over the interval $[0,1]$, they use a more general parameter interval, say $u \in [u_0,u_1]$. Then, if we set $$ v = \frac{u-u_0}{u_1 - u_0} $$ the equation of the Bezier curve is: $$ \mathbf{C}(u) = \sum_{i=0}^m \phi^m_i\left(\frac{u-u_0}{u_1-u_0} \right)\mathbf{P}_i \quad\quad (u_0 \le u \le u_1) $$ Then, by the chain rule for differentiation $$ \frac{d\mathbf{C}}{du}(u=u_1) = \frac{d\mathbf{C}}{dv}(v=1) \frac{dv}{du} = \frac{m(\mathbf{P}_m - \mathbf{P}_{m-1})}{u_1-u_0} $$