The Derivative Vectors of a B-Spline
![](/img/demonstrations-branding.png)
Requires a Wolfram Notebook System
Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.
This Demonstration shows up to the first three derivative vectors of a B-spline.
Contributed by: Shutao Tang (June 2015)
(Northwestern Polytechnical University, Xi'an City, China)
Open content licensed under CC BY-NC-SA
Snapshots
Details
As described in [1], a B-spline curve of degree is defined by
,
,
where are the control points and the
are the degree-
B-spline basis functions (see [Related Links]) defined on the nondecreasing
knot vector
, where
and
.
The functions depend only on the knots
given by the knot vector
; they are defined recursively by
.
Using the equation of the derivative of the basis function ,
,
.
The first and last terms evaluate to , which [1] takes to be 0. Thus
,
where . (1)
Now let be the knot vector obtained by dropping the first and last knots from
; that is,
(
has
knots) (2)
Use the property: The function computed at
is
computed at
. Thus
, (3)
where the are defined by equation (1) and the
are computed at
.
Hence is a B-spline curve of degree
.
Since is a B-spline curve, we can apply equations (1), (2), and (3) recursively to obtain higher derivatives. Letting
, we write
.
Then
(4)
with (
)
and .
In this Demonstration, assume the initial control points are ,
,
,
,
,
, and the knot vector is
.
The derivatives are scaled down by to see them better.
References
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer–Verlag, 1997 pp. 93–94, 97–98.
[2] \:65bd\:6cd5\:4e2d. \:8ba1\:7b97\:673a\:8f85\:52a9\:51e0\:4f55\:8bbe\:8ba1\:4e0e\:975e\:5747\:5300\:6709\:7406B\:6837\:6761 CAGD&NURBS[M]\:ff0e\:5317\:4eac\:ff1a\:9ad8\:7b49\:6559\:80b2\:51fa\:7248\:793e. 1994 pp. 244–247.
Permanent Citation