The Derivative Vectors of a B-Spline

Initializing live version
Download to Desktop

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.



Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.
Send